11. marts 2011 - 17:09Der er
12 kommentarer og 1 løsning
Fejl ved SQL UPDATE
Opgaven er at kunne opdatere felter i en tabel udfra et filter i en formular.
En tabel: MinTabel Med felter: Felt1, Felt2, Felt3
Jeg opretter en formular baseret på tabellen Ved at filtrere, f.eks på Felt1, finder jeg der datasæt hvori jeg vil opdatere Felt2.
Den tekst der skal opdateres i Felt2 med findes i et ubundet felt i formularen, FeltUpd. I første omgnag er det almindelig tekst, men tal og dato kan komme på tale.
kode:
Private Sub Kommandoknap79_Click() Dim strSQL, As String
strSQL = "UPDATE MinTabel SET MinTabel.Felt2 = ""&[Form]![FeltUpd]&"" WHERE " & Me.Filter & ";"
DBEngine(0)(0).Execute strSQL, dbFailOnError
Alternativt kunne man bruge:
CurrentDb.Execute "UPDATE MinTabel SET MinTabel.Felt2 = ""&[Form]![FeltUpd]&"" WHERE " & Me.Filter & ";"
FEJL: Der er får få parametre. Der var ventet 1
Jeg bruger Access 2003.
Det er muligt at fejlen ligger lige for mine fødder, men jeg har set mig blind.
Sådan bliver man klogere. Jeg havde da lagt en forespørgsel bag testformularen - :-(( pokker og SORRY. Men det virker ved at basere formularen direkte på tabellen, både som oprindelig men også med din kode.
Så langt så godt. Hvordan vil det se ud hvis man baserer formularen på en forespørgsel?
Når formularen er baseret på forespørgslen ignorerer koden filteret.
Eftersom din formular er baseret på den samme tabel som du ønsker at opdatere, og efter filtrering har du fat i den eller de rækker som skal opdateres, fx why not bare gøre det direkte på formularen? Altså løbe gennem de rækker der nu er udvalgt og sætte værdien til det den skal være? Eler har jeg ikke opfattet det rigtigt?
"Når formularen er baseret på forespørgslen ignorerer koden filteret." ? Er ikke helt med på hvad "ignorerer" betyder - husk du skriver sammen med en som aldrig har set din db før :)
Jeg er lidt ude på tynd is her. Jeg vil gerne basere formularen på en forespørgsel istedet for en tabel. Koden virker kun når jeg bruger tabel og ikke når jeg bruger forespørgsel.
Men fornemmer jeg at du har en anden ide til at opdatere felter i formularen?
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.