Og nu til mit spørgsmål... Jeg vil gerne lave en formular hvor jeg ved at indtaste "Kundenummer" kan få vist det "Firmanavn, Adresse, Postnummer og By" der relaterer til det valgte "Kundenummer" i almindelige felter og en liste med de "Kontakttidspunkter" der relaterer til "Kundenummer" ved siden af, når jeg så klikker på et af emnerne i "Kontakttidspunkt listen" skal der vises de emner i "Kontaktet af, Att, Kontaktform og Referat" der relaterer til det valgte "kundenummer" og "kontakttidspunkt"
Det var en længere udredning, jeg håber der er en der forstår hvad jeg mener og kan hjælpe, jeg kunne forestille mig at det er ret nemt at løse hvis man ved hvordan, det nemmeste kunne måske være hvis der er en der kan lave et eksempel jeg kan se noget ud fra... Jeg har forsøgt mig med forespørgsler og WHERE og så videre men ikke noget af det har virket.. Håber der er en der kan hjælpe... På forhånd tak! :)
Det er en større process, nok en ide og tage den i små bider i en del spørgsmål du kan oprette her inde. Men jeg ahr taget fat på en ting, nemlig den og udskriver en bestemt bruger efter kundenummer.
---------------Start kode-------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Du skal selvfølgelig tilpasse databasenavn. Ved ikke om det er 100% det du skal bruge. For det er lidt svært og forholde sig til når man kun for det på tekst.
Du ved jeg ikke hvor meget du har arbejdet med asp....Men må heller lige forklare det. Den kode jeg har smækket i indlæg #1. Tager fra en url. Det vil sige at hvis du gemmer koden i et dokument ved navn se_profil.asp. Så tager den ud fra et ID i din URL/Adresse.
Det vil sige at hvis du skriver Se_Profil.asp?id=25 Så finder den brugeren med kundenummer 25 i databasen og skriver lidt indformationer om ham.
Gemlte også og skrive at du selvfølgelig også skal tilpasse. udtrækningerne. Til de felter du har i databaen. Firmanavn. postnummer o.s.v Men prøv og leg lidt med det, held og lykke. Så er du da kommet en lille smule videre. ;)
Tabellerne Kunde og Postnumre er OK. Disse skal fungere som "lagre" af data, som ved kombinationsbokse kan hente over i tabellen Kontakter.
Kontakter skal ændres. Opret ef felt (FLDkundenummer) og et andet felt (FLDpostnr) af samme felttype som de reskeptive felter i de 2 andre tabeller. I Feltegenskaben Opslag sætter du den til Kombinationsboks og udfylder resten således, at de henter data fra de andre tabeller. Luk tabellen og gem. Du er nu tilbage i databasevinduet. Åbn relationsvinduet og kald alle 3 tabeller ind i vinduet. Flyt rundt på tabellerne så du har tabellen Kontakter i venstre side og de 2 øvrige i højre side 8Dette er ikke strengt nødvendigt, men giver dig et bedre overblik). Peg på Kontakter med musen og klik på feltet FLDkundenummer, og træk nu musen hen til tabellen kunde og slip musen når denne peger på feltet Kundenummer. GØr det samme med feltet FLDpostnr til tabellen Postnumrer og feltet Postnummer.
Du har nu oprettet relationer mellem tabellerne. Luk relationsvinduet. I databasevinduet peger du på fanen Forespørgsler og klik > Ny > Hent alle 3 tabeller ind i forespørgslen. I tabellen Kontakter dobbeltklikker du på feltet FLDkundenummer, herefter dobbeltklikker du på alle felter i tabellen Kunde. Dobbelt på feltet FLDpostnr i tabellen Kontakter og herefter på feltet By i tabellen Postnumre. Kør forespørgslen.
Du vil nu se alle poster og bemærk at du kun har de relaterede felter fra Kontakter, og alle andre felter fra de andre tabeller.
Steffansteffan > tak for forsøget, men det skulle være en Access formular ;) Jeg kan godt finde ud af at lave det i ASP, prøver bare at hitte lidt mere ud af Access i sig selv..
zicko > Du kan ikke oprette relationer i en formular. Men på baggrund af forespørgslen ovenfor beskrevet, kan du lave en formular, og så fungerer relationerne igen.
mugs > ok, hva' ved jeg ;) jeg sidder lige og prøver om jeg kan hitte ud af det du har skrevet... det er ikke sådan at du kan lave et eksempel? Ikke nødvendigvis med de tabeller jeg har angivet, mere så jeg kan se hvordan det foregår...
Jeg har lige sendt dig en lille database med de tabeller du beskriver, og en formular der har en listboks øverst til at vælge kunde/firma, og en subreport der viser kontaktinfo.
lorentsv > Den ser fin ud, men jeg kunne bare godt tænke mig at have informationerne om kontakttidspunkt, ATT og så videre til at fremstå i nogle tekstbokse ligesom Firmanavn, by, postnr og de andre..
mugs > jeg prøvede lige din version, når jeg kører forespørgslen får jeg: "Datatyper i JOIN-udtrykket stemmer ikke overens" hvad vil det sige og hvad kan jeg gøre for at rette det ?
zicko > Fejlen betyder, at de felter du prøver at relatere har forskellig datatype. F.eks kan det ene felt være tekst og det andet tal. De skal være ens. Du bliver nødt til at rette eet af felterne.
Husk på, at Access er en relationsdatabase, hvis styrke jo netop ligger i relationerne mellem de enkelte tabeller.
Er du statig interesseret i et eksempel, eller har du nok i lorentsnv. Jeg har ikke tid til at lave det lige nu, men jeg kan senere.
Jeg har for øvrigt en gammel lektion der viser hvordan du skruer en Access db sammen. Så vidt jeg husker består den af 13 Wordlektioner med skærmdumps fra Access97, men det kan sagtens bruges i nyere versioner også. Den kan jeg sende med det samme.
Ja det fandt jeg også ud af.. det var kundenummer... Nå men nu virker forespørgselen og formularen, så er det bare hvordan jeg får det til at virke med Kontakttidspunkt ?
Kotakttidspunkt og andre felter, trækker du blot ned i forespørgslen også. Derefter kan du åbne din formular i designvisning og trykke på ikonet med feltlisten, derefter trykker du på det ønskede felt og trækker det ned i formularen på det sted du ønsker.
Ok, men hele fidusen var at jeg gerne ville have en liste over kontakttidspunkter i en listbox, sådan så når man klikkede på et kontakttidspunkt i listboxen ville man kunne læse Att, Kontaktperson, Referat og så videre...
Hvad vil du gøre, hvis du har det same kontakttidspunkt mere end een gang?. Hvis hver post har en unik nøgle, kan du programmere dig ud af at åbne en anden formular med detaljer om den valgte post.
hmm.. det lyder indviklet... Findes der virkelig ikke en nem måde hvorpå man kan sige noget i retning af: "HVIS der står 2 i feltet KUNDENUMMER så skal listboxen KONTAKTTIDSPUNKTER vise alle emner fra tabellen KONTAKTER hvor KUNDENUMMER=2" og når der klikkes på et emne i KONTAKTTIDSPUNKTER skal felterne ATT, KONTAKTFORM, REFERAT vise ATT, KONTAKTFORM, REFERAT fra tabellen KONTAKTER hvor KUNDENUMMER=2 og KONTAKTTIDSPUNKT=det man valgte i listboxen..."
mugs > undskyld jeg kom lige fra det.. jeg har siddet og kigget på den du sendte, men kan ikke helt gennemskue hvordan den fungerer og hvad den gør.. Det ser ud som om der er noget programmering med eller hvad?
Du har 2 formularer. Access starter automatisk i formular1. Nu ønsker du at se detaljer om den post du står i i formular1. Derfor trykker du på den blå kommandoknap, og formular 2 vil blive åbnet og markøren stiller sig i samme post som du forlof i formular1. Koden ligger i kommandoknappens Vedklik hændelse.
mugs > har sendt et forslag retur til dig som ser ud som jeg havde forestillet mig det, har du mulighed for lige at kigge på det og se om du kan få den til at opdatere Kontaktinformationer når man klikker på et emne i listen med kontakttidspunkter?
tak for forsøgene, jeg fik det ikke til at virke helt som jeg havde håbet.. Men tilnærmelsesvis med hjælp fra mugs, lorentsnv får lidt for forsøget..
Tak :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.