Avatar billede puppetmaster Nybegynder
14. februar 2002 - 10:14 Der er 6 kommentarer og
2 løsninger

Problemer med at indsætte vha. VBA

Hej
Jeg har en funktion som modtager en parameter og indsætter denne samt dags dato, nuværende bruger og aktuel tid.
Koden:

Sub UserNameX(Beskrivelse As String)
  Update = "INSERT INTO Log ( Dato, Tid, Bruger, Beskrivelse ) VALUES (Date(), Time(), currentuser, Beskrivelse)"
  DoCmd.SetWarnings (False)
  DoCmd.RunSQL (Update)
  DoCmd.SetWarnings (True)
End Sub

Funktionen kaldes med:
Private Sub Kommandoknap0_Click()
  UserNameX ("Post slettet!")
End Sub

Problemet er at min parameter ikke "bliver godtaget", Access spørger i hvert fald om "Indtast parameterværdi"!

Hvad gør jeg forkert?
Avatar billede kennethrisum Nybegynder
14. februar 2002 - 10:16 #1
Din update skal se således ud:

Update = "INSERT INTO Log ( Dato, Tid, Bruger, Beskrivelse ) VALUES (Date(), Time(), currentuser, " & Beskrivelse & ")"
Avatar billede puppetmaster Nybegynder
14. februar 2002 - 10:20 #2
Tja, så får jeg følgende fejlmeddelelse:

Run-time error '3075':
Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "Post slettet".
Avatar billede proaccess Nybegynder
14. februar 2002 - 10:25 #3
Sub UserNameX(Beskrivelse As String)
  Update = "INSERT INTO Log ( Dato, Tid, Bruger, Beskrivelse ) VALUES (Date(), Time(), currentuser, '" & Beskrivelse & "')"
  DoCmd.SetWarnings (False)
  DoCmd.RunSQL (Update)
  DoCmd.SetWarnings (True)
End Sub

Funktionen kaldes med:
Private Sub Kommandoknap0_Click()
  UserNameX "Post slettet!"
End Sub
Avatar billede kennethrisum Nybegynder
14. februar 2002 - 10:27 #4
Ja jeg havde lige glemt at det var et tekst felt.
Avatar billede terry Ekspert
14. februar 2002 - 10:27 #5
puppetmaster> If you know that teh date and time fields are ALWAYS going to be the current data and time then you can set the default value for the field to Date() or time() then you dont need to inlcude these in your INSERT
Avatar billede puppetmaster Nybegynder
14. februar 2002 - 10:28 #6
proaccess: du kom med den rigtige løsning, men kenneth var jo rimelig tæt på, pointfordelingen:
kenneth: 7
proaccess: 8

Tak for svaret
Avatar billede puppetmaster Nybegynder
14. februar 2002 - 10:29 #7
terry, as always you're right, I'm trying to do as little "redundant-work" as possible, thanks.
Avatar billede terry Ekspert
14. februar 2002 - 10:29 #8
Update = "INSERT INTO Log ( Dato, Tid, Bruger, Beskrivelse ) VALUES (Date(), Time(), '" & currentuser & "', '" & Beskrivelse & "')"
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