Avatar billede daniel_d Nybegynder
17. september 2007 - 17:25 Der er 10 kommentarer og
1 løsning

Hente data fra anden tabel vha relation

Jeg er snart pinlig over alle mine spørgsmål, men er superglad for den hjælp jeg kan få her. :)

Jeg er rendt ind i et problem i forbindelse med brevfletning til word, som i øvrigt virker perfekt.
Problemet er når jeg skal flette med data som ligger i andre tabeller også.

Jeg henter de aktuelle felter i tabellen med

    ' Tandlæge '
    If IsNull(Me!Tandlaege) = True Then
        GoTo Form_Current_Fly
    Else
        Call InsertAtBookmark(WordDoc, "Tandlaege", Me!Tandlaege)
    End If

Men i dette tilfælde går det galt, idet jeg fletter fra en formular knyttet til en anden tabel.

Min struktur på db'en er:

Tabel1: Persondata
        - Formular der flettes fra
        - Tandlaege_Id (relation til tabel 2's Id)

Tabel2: Tandlaege
        - Id (primær nøgle)
        - Tandlaege

Så for at opsummere, så skal jeg fra formular i tabel 1 have fat i  tabel 2->Tandlaege ud fra det valgte Tandlaege_Id i tabel 1

Nogen der kan hjælpe med den?
Avatar billede mugs Novice
17. september 2007 - 17:28 #1
Hvad med funktionen Dlookup?
Avatar billede mugs Novice
17. september 2007 - 17:31 #2
Eksempel (ikke afprøvet):

Dim intsearch As Integer
intsearch = Me!Tandlaege_Id
Me!Tandlaege = DLookup("[Taandlaege_Id]", "Tabel1", "[Tandlaege_id]=" & intsearch)
Avatar billede daniel_d Nybegynder
17. september 2007 - 18:21 #3
Dit forslag var godt nok tæt på mugs. Men nok til at jeg kunne løse problemet. Smid et svar :)

Og så siger jeg (igen igen) tak for hjælpen.

Btw, min løsning blev:

    Dim intsearch As Integer
    intsearch = Me!Tandlaege_Id
   
    Dim Tandlaege As String
    Tandlaege = DLookup("Tandlaege", "Tandlaeger", "Id=" & intsearch)
   
    If IsNull(Tandlaege) = True Then
        GoTo Form_Current_Fly
    Else
        Call InsertAtBookmark(WordDoc, "Tandlaege", Tandlaege)
    End If
Avatar billede mugs Novice
17. september 2007 - 18:33 #4
;o)

Men jeg kan ikke lide, at din tandlæge er en string. det bør være en numerisk værdi.
Avatar billede daniel_d Nybegynder
17. september 2007 - 19:39 #5
jo men tandlaege er jo netop en string. Det er et navn.
Avatar billede mugs Novice
17. september 2007 - 19:50 #6
OK - Men jeg forstod at på dit spørgsmål at tandleage var et ID og dermed burde være et numerisk felt:

"Tandlaeger", "Id=" & intsearch)
Avatar billede mugs Novice
17. september 2007 - 20:07 #7
Jeg har nogle små testdb som jeg bruger her på eksperten. Dem må du gerne få, måske det kan spare dig for noget tid. Blot læg din e-mail.
Avatar billede daniel_d Nybegynder
17. september 2007 - 22:05 #8
Tandlaege er en string (navnet på tandlægen) i tabel 2 det er tandlaege_id (tabel 1) der er en integer med reference til tabel 2's id felt.

Du må meget gerne sende de testdb'er til daniel@sundrejser.dk
Tak
Avatar billede mugs Novice
18. september 2007 - 11:28 #9
Sendt.
Avatar billede mugs Novice
18. september 2007 - 20:28 #10
Har du fået mine db?
Avatar billede daniel_d Nybegynder
18. september 2007 - 21:30 #11
yes, den er modtaget. Har ikke fået kigget på den endnu, men glæder mig til det :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester