Dubbel opslaan van records

Status
Niet open voor verdere reacties.

urge

Gebruiker
Lid geworden
1 aug 2007
Berichten
9
Hallo,

Ik ben nog steeds bezig met mn licentie database. Ik ben gelukkig al wel iets verder gekomen :) maar loop nu tegen een probleem aan waar ik helemaal gestoord van wordt.

Ik heb een formulier waarop ik "producten" kan bewerken. Op dit formulier selecteer ik eerst de ontwikkelaar van het software pakket en vervolgens het pakket zelf. Vervolgens komen de overige onderdelen zoals "licentie" en "hoeveel licenties aanwezig" "prijs per licentie" etc naar voren. Deze leest ie ook prima uit. Maar als ik mn record opsla dmv een knop met SQL dan wordt er 2x hetzelfde opgeslagen.

De zojuist bewerkte record, en de 1ste record in het tabel... Wat dus eigenlijk niet de bedoeling is...

De SQL die ik heb is:

update1 = "UPDATE [tbl_hoofdtabel] " & _
"SET [tbl_hoofdtabel].[licentie] = '" & CStr(Me![cbo_licentie]) & "' " & _
"WHERE [tbl_hoofdtabel].[hoofdtabel_id] =" & CStr(Me![txt_id]) & " "

Er zijn vervolgens nog 5 updates die uitgevoerd worden op hetzelfde record ( per onderdeel 1 update ).

Is er iets mis aan de SQL ?

Vriendelijk bedankt.

Gr
 
Hallo urge,

met bijwerkqueries voeg je geen nieuwe rijen toe, dus daar ligt het per definitie niet aan.
Welke code heb je achter je knop Opslaan?

Groet,

Tardis
 
Ik heb het volgende onder de knop staan:


===============
Private Sub saverecord_Click()

Dim update1 As String
Dim update2 As String
Dim update3 As String
Dim update4 As String
Dim update5 As String
Dim update6 As String

update1 = "UPDATE [tbl_hoofdtabel] " & _
"SET [tbl_hoofdtabel].[licentie] = '" & CStr(Me![cbo_licentie]) & "' " & _
"WHERE [tbl_hoofdtabel].[hoofdtabel_id] =" & CStr(Me![txt_id]) & " "

update2 = "UPDATE [tbl_hoofdtabel] " & _
"SET [tbl_hoofdtabel].[aantalgeinstalleerd] = '" & CStr(Me![txt_aantalgeinstalleerd]) & "' " & _
"WHERE [tbl_hoofdtabel].[hoofdtabel_id] =" & CStr(Me![txt_id]) & " "

update3 = "UPDATE tbl_hoofdtabel " & _
"SET tbl_hoofdtabel.prijslicentie = '" & CStr(Me![txt_prijslicentie]) & "' " & _
"WHERE tbl_hoofdtabel.hoofdtabel_id =" & CStr(Me![txt_id]) & " "

update4 = "UPDATE tbl_hoofdtabel " & _
"SET tbl_hoofdtabel.aantalaanwezig = '" & CStr(Me![txt_aantalaanwezig]) & "' " & _
"WHERE tbl_hoofdtabel.hoofdtabel_id =" & CStr(Me![txt_id]) & " "

update5 = "UPDATE tbl_hoofdtabel " & _
"SET tbl_hoofdtabel.aantalnodig = '" & CStr(Me![txt_aantalnodig]) & "' " & _
"WHERE tbl_hoofdtabel.hoofdtabel_id =" & CStr(Me![txt_id]) & " "

update6 = "UPDATE tbl_hoofdtabel " & _
"SET tbl_hoofdtabel.verlopen = '" & CStr(Me![txt_verlopen]) & "' " & _
"WHERE tbl_hoofdtabel.hoofdtabel_id =" & CStr(Me![txt_id]) & " "

DoCmd.RunSQL (update1)
'DoCmd.RunSQL (update2)
'DoCmd.RunSQL (update3)
'DoCmd.RunSQL (update4)
'DoCmd.RunSQL (update5)
'DoCmd.RunSQL (update6)

Me.cbo_licentie.Enabled = False
Me.txt_aantalgeinstalleerd.Enabled = False
Me.txt_prijslicentie.Enabled = False
Me.txt_aantalaanwezig.Enabled = False
Me.txt_aantalnodig.Enabled = False
Me.txt_verlopen.Enabled = False
Me.cbo_productnaam.Enabled = False
Me.cbo_ontwikkelaar.Enabled = True

End Sub
===============

Alvast bedankt
 
Hallo urge,

ligt in ieder geval niet aan je code.
Waarom gebruik je trouwens 5 bijwerkqueries, kan met 1 query ;)

Op dit formulier selecteer ik eerst de ontwikkelaar van het software pakket en vervolgens het pakket zelf

Via keuzelijsten, denk ik.
En waarschijnlijk zijn die afhankelijk, daar zit je probleem.

Groet,

Tardis
 
UPDATE tabel
SET kolom1 = blabla,
SET kolom2 = blabla,
........
SET kolomx = blabla
WHERE ....

Groet,

Tardis
 
Hoi,

Ben aan het proberen om de knop "Opslaan" in 1 query uit te voeren, maar access geeft aan dat er een fout in de query zit :confused: Maar ik zie em niet..

Ik heb nu dit:

dl_sql = "UPDATE [tbl_hoofdtabel] " & _
"SET [tbl_hoofdtabel].[productnaam] ='" & CStr(Me![txt_productwijzig]) & "', " & _
"SET [tbl_hoofdtabel].[licentie] ='" & CStr(Me![cbo_licentie]) & "', " & _
"SET [tbl_hoofdtabel].[verlopen] ='" & CStr(Me![txt_verlopen]) & "', " & _
"SET [tbl_hoofdtabel].[aantalaanwezig] ='" & CStr(Me![txt_aantalaanwezig]) & "', " & _
"SET [tbl_hoofdtabel].[aantalgeinstalleerd] ='" & CStr(Me![txt_aantalgeinstalleerd]) & "', " & _
"SET [tbl_hoofdtabel].[aantalnodig] ='" & CStr(Me![txt_aantalnodig]) & "', " & _
"SET [tbl_hoofdtabel].[prijslicentie] ='" & CStr(Me![txt_prijslicentie]) & "' " & _
"WHERE [tbl_hoofdtabel].[hoofdtabel_id] = " & CStr(Me![txt_id]) & ""

Weet iemand wat hier fout staat ?

Thanks
 
Nevermind, heb het al gevonden. :thumb: SET weggehaald..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan