21. september 2008 - 15:01Der er
17 kommentarer og 1 løsning
Antal relationer til samme tabel i en forespørgsel.
Jeg har lige svaret på mit eget spørgsmål med hensyn til hvor mange relationer man kan have til den samme tabel. Jeg troede at jeg havde fundet svaret, men nu kommer det altså en gang til. Jeg har en forespørgsel 1 med 13 felter hvor der skal indtastes en kode (6 tal), i andre 13 felter skal der fremkomme en bogstavskombination.Bogstavskombinationen hentes fra en relateret tabel hvor både kode og bogstavskombinationen ligger. Hvor mange gange kan man relatere til den samme tabel.Det virker med 2 indtastninger, men med 13 låser forespørgslen så du ikke kan indtaste værdier. Der er ingen fejlmeddellelser. Ved hver ny reletion hedder relationstabellen selvfølgelig "tab" "tab_1", "tab_2" og så videre. Jeg har sat 100 point ind, men er villig til at forhøje hvis mit problem kan løses.
Grunden til de mange relationer er, at det bruges som en slags digital signature,i stedet for at signere på en hardcopy. Så hvis der findes en mere enkel måde der kan gøre det samme vil jeg meget gerne have et tip.
Jeg har relateret tabellerne i databasevinduet og i forespørgslen og det virker fint nu med 22 relationer. Jeg har kikket på din db18. Jeg skal confirmere operationen med en kommandoknap eller hvad. Det skal helst foregå automatisk, så når du indtaster en værdi skal det relaterede felt updateres, når du klikker enter, og desuden er der password på feltet du indtaster i.
Det kanjeg ikke få til at virke. Er vi enig om at dette er koden da det er et a nomerisk felt. Dim Stringsearch As String Stringsearch = Me!Navn Me!Tekst4 = DLookup("[Gade]", "Tabel2", "[Navn]='" & Stringsearch & "'") Er "Navn" = formularnavn
Som udgangspunkt må jeg sige, at min kode er afprøvet og fungerer. En fejl er, at du skriver feltet er numerisk, men du benytter koden til et alfanumerisk felt. Du har således også dimensioneret variablen som en string. Det ser du ved, at du har anførselstegn og apostroffer omkring Stringsearch således:
'" & Stringsearch & "'"
Det skal der ikke være ved et numerisk kriterie. På kommandoknapperne i min formular, har jeg netop skrivet hvilken felttype koden skal anvendes til. Prøv denne og ret objektnavnene:
Private Sub Kommandoknap6_Click() Dim intsearch As Integer intsearch = Me!KRITERIEFELT I FORMULAREN Me!HVOR SKAL DATA ANBRINGES = DLookup("[HVILKET FELT VIL DU HENTE]", "FRA HVILKEN TABEL", "[KRITERIEFELT I FORMULAREN]=" & intsearch) End Sub
Omsat til min db vil det se således ud:
Private Sub Kommandoknap6_Click() 'Procedüren er magen til Kommandoknap16, blot med numerisk kriterie Dim intsearch As Integer Me!Tekst4.Visible = True intsearch = Me!ID Me!Tekst4 = DLookup("[Gade]", "Tabel2", "[ID]=" & intsearch) End Sub
Jeg tror jeg udtrykker mig forkert. Det er et alfanummerisk jeg har (både tekst og tal), så dette må være koden. Dim Stringsearch As String Stringsearch = Me!Navn Me!Tekst4 = DLookup("[Gade]", "Tabel2", "[Navn]='" & Stringsearch & "'") Er vi enig om at "Navn" er det der svarer til mit felt "Signature", og "Tekst 4" er det der skal insættes. Og koden skal indsættes under before update?
Det virker nu. Som sagt er jeg ikke så god til det med kode, så jeg kan nogle gange ikke se systemet.Mange tak for hjælpen, nu kan jeg udskifte mit "relationssystem" med dette. Det sparer mig en masse tid.
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.