[VBA]Record toevoegen in database

Pagina: 1
Acties:
  • 110 views sinds 30-01-2008
  • Reageer

  • Multensor
  • Registratie: Juli 2004
  • Laatst online: 20-05 13:17
Ik heb in acces 2 dorms gemaakt, 1 met een keuzelijst en een knop toevoegen (met deze knop ga je naar het form toevoegen). Daar heb je de invoerveldjes en een knop toevoegen als je op die knop drukt dan moet hij het ingevulde record toevoegen, maar hij doet niks. Ik heb er de volgende code onder ligeen:

Private Sub btnToevoegen_Click()
If (Me.Kantineartikelnaam = "" Or Me.Artikelsoort = "" Or Me.Verkoopprijs = "" Or _
Me.Vertegenwoordiger = "" Or Me.Bezorgprijs = "") Then
MsgBox "Het formulier is niet volledig ingevuld"
Else
CurrentDb.Execute "INSERT INTO tblKantineartikel VALUES(" & Me.Kantineartikelnaam & ", '" & _
Me.Artikelsoort & "', '" & Me.Verkoopprijs & "', " & Me.Vertegenwoordiger & ", '" & _
Me.Bezorgprijs & ", ')"
End If

End Sub

Als je meer info nidig hebt vraag het maar

erhmm.


  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 19-05 17:22
Dit zul je moeten gaan 'debuggen'. Loop eens stap voor stap door de code en kijk eens waar wat fout gaat. Ik denk zelf dat het zit in;

currentdb.execute

Ik zou daar iets met runsql uitproberen.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:40

gorgi_19

Kruimeltjes zijn weer op :9

Komt hij uberhaupt wel in die routine terecht?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Multensor
  • Registratie: Juli 2004
  • Laatst online: 20-05 13:17
hmzzzz geen idee over die routine (noob nog @ programming) ennuhm was de knop voor debug?

erhmm.


  • Multensor
  • Registratie: Juli 2004
  • Laatst online: 20-05 13:17
HMZZZ ik heb nu Currentdb.Runsql staan, maar dat werkt ook niet :( hij geeft als ik debug(volgens mij is het debug :P): Kan de methode of gegevenslid niet vinden. Dit zegt hij bij Me.Bezorgprijs
Hij highlight het stukje .Bezorgprijs

erhmm.


  • Black Hawk
  • Registratie: Oktober 2003
  • Laatst online: 03-04 12:13
Het moet zijn:

DoCmd.RunSQL SQLString

Wie nooit tijd heeft, kan er niet mee omgaan.


  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 19-05 17:22
Black Hawk schreef op 04 november 2004 @ 14:36:
Het moet zijn:
DoCmd.RunSQL SQLString
Dat is idd een goede oplossing. Je moet dan wel de SQLString vullen;

code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub btnToevoegen_Click()
If (Me.Kantineartikelnaam = "" Or Me.Artikelsoort = "" Or Me.Verkoopprijs = "" Or _
Me.Vertegenwoordiger = "" Or Me.Bezorgprijs = "") Then
MsgBox "Het formulier is niet volledig ingevuld"
Else
SQLString = "INSERT INTO tblKantineartikel VALUES(" & Me.Kantineartikelnaam & " & _
"," & Me.Artikelsoort & "', '" & Me.Verkoopprijs & "', " & Me.Vertegenwoordiger & " & _
"," & Me.Bezorgprijs & ", ')"
DoCmd.Runsql(SQLstring)
End If

End Sub


Zoiets moet het zijn, er kunnen fouten in de syntax zitten, ik heb het niet getest.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Verwijderd

en misschien is het ook handig om enkele quotes om tekst parameters te zetten in je insert statement. ik neem aan dat in ieder geval [kantineartikelnaam] een tekst waarde is.
Pagina: 1