Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

syntax error in sql update query (access 97)

gijskerstens
2 antwoorden
  • ik probeer al enkele dagen uit te vinden waarom mijn sql update niet werkt.
    wat ik wil dat er gebeurt is:
    - iemand klikt op het selectievakje "gereed" (checkbox), en vinkt het af (=true) - de huidige datum wordt in het textvak "txt_datum_gereed" gezet. Tot zo ver gaat alles goed.
    - het selectievakje wordt weer uitgezet (=false) - de datum moet uit de database gewist worden, en het textvak moet leeggemaakt worden.
    hier gaat het fout. tijdens het compileren krijg ik geen foutmeldingen, maar als ik het selectievakje uitzet, krijg ik de volgende foutmelding: [quote:3afc4de6e8]fout '3144' tijdens uitvoering:
    syntax error in UPDATE statement[/quote:3afc4de6e8]

    de tabel waar het om gaat heet tbl_probleem, de kolom is datum gereed

    [code:1:3afc4de6e8]Dim datum As Date

    Private Sub cb_gereed_Click()
    datum = Date
    If Me.Gereed = True Then
    txt_Datum_gereed.Value = datum
    MsgBox ("probleem gereedgemeld")
    Else
    DoCmd.RunSQL "UPDATE tbl_probleem SET (tbl_probleem.datum gereed) = Null WHERE (([tbl_probleem]![probleemnummer] = txt_probleemnummer.Value));"
    MsgBox ("gereedmelding teruggedraaid")
    End If
    End Sub[/code:1:3afc4de6e8]

    in een ander formulier heb ik vrijwel dezelfde code, alleen betreft het daar een andere tabel en kolom, maar daar werkt het prima.
    de code daar:
    [code:1:3afc4de6e8]Dim actie_nr As Integer
    Dim datum1 As Date

    Private Sub gereed_Click()
    datum1 = Date
    If Me.Gereed = True Then
    Datum_gereed.Value = datum1
    MsgBox ("actie gereedgemeld")
    Else
    Me.Gereed = False
    actie_nr = txt_actie_nr.Value
    DoCmd.RunSQL "UPDATE tbl_actie SET tbl_actie.datum_gereed = Null WHERE (([tbl_actie]![actie_id] = txt_actie_nr.Value));"
    Datum_gereed.Value = ""
    MsgBox ("gereedmelding teruggedraaid")
    End If
    End Sub
    [/code:1:3afc4de6e8]

    kan iemand mij vertellen wat er fout zit in het 1e update statement?
  • Er zit een spatie in je kolomnaam
    [code:1:c1ed616184]
    SET (tbl_probleem.datum gereed)
    [/code:1:c1ed616184]

    Je bent daar een underscore vergeten - zoals in je tweede voorbeeld.
    Als de kolomnaam wel correct is, dan moet je de kolomnaam tussen blokhaken plaatsen.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.