Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Juno am November 11, 2010, 16:09:01

Titel: Fehler bei UPDATE
Beitrag von: Juno am November 11, 2010, 16:09:01
Kann mir jemand sagen was in dieser SQL-Anweisung falsch ist? Ich bekomme immer die Fehermeldung "Syntax-Fehler in UPDATE" ??? ???

Dim sql As String
sql = "UPDATE abfrage_details" & _
    "SET det_soll = abfrage_details.kun_debitor, det_haben = abfrage_details.artgrup_erloes" & _
    "WHERE vk_nr = me.vk_nr"


DoCmd.RunSQL sql
Titel: Re: Fehler bei UPDATE
Beitrag von: lumbumba am November 11, 2010, 16:24:09
ich glaub da fehlt ein oder zwei Leerzeichen
sql = "UPDATE abfrage_details " & _
    "SET det_soll = abfrage_details.kun_debitor, det_haben = abfrage_details.artgrup_erloes " & _
    "WHERE vk_nr = me.vk_nr"

Titel: Re: Fehler bei UPDATE
Beitrag von: Juno am November 11, 2010, 16:35:23
Danke!! vor lauter Bäume sieht man den Wald nicht mehr :)

Wenn ich den Befehl jetzt ausführe bekomme ich immer eine Abfrage ob ich die Änderungen wirklich vornehmen möchte. Kann man das "ausschalten"?
Titel: Re: Fehler bei UPDATE
Beitrag von: DF6GL am November 11, 2010, 16:37:30
Hallo,

statt DoCmd.RunSQL sql

Currentdb.Execute sql, dbFailOnError

verwenden.
Titel: Re: Fehler bei UPDATE
Beitrag von: Juno am November 11, 2010, 16:50:30
Dann bekomme ich die Fehlermeldung "1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben....
Titel: Re: Fehler bei UPDATE
Beitrag von: Shai am November 11, 2010, 17:36:41
Wolltest Du die VK_Nr des Formulars als Bedingung übergeben?
Probiere dieses:
sql = "UPDATE abfrage_details " & _
    "SET det_soll = abfrage_details.kun_debitor, det_haben = abfrage_details.artgrup_erloes " & _
    "WHERE vk_nr=" &  Me!vk_nr
Titel: Re: Fehler bei UPDATE
Beitrag von: Juno am November 12, 2010, 14:07:29
Danke, so klappt´s!!

Jetzt habe ich aber noch ein weitere Problem:
Anbei eine Tabelle die erklärt was ich machen möchte. Also kann in vkobjekte Rechnungen, Lieferscheine anlegen. Und die Zahl wird dann jeweils über da Formular vergeben.

Jetzt möchte ich gerne mit VBA ein Datensatz in vkobjekte anlegen. Das ganze soll dann eine Umbuchung sein. Da ich in der Tabelle vkobjekte aber keinen Autowert habe muss die Zahl auch über den VBA-Code vergeben werden.

Ich habe mir jetzt mal folgenden Code ausgedacht. Vielleicht kann man daraus erkennen was ich machen möchte. Dieser Code funktioniert aber natürlich nicht.
Vielleicht kann mir dabei jemand behilflich sein:

   eingangsavv = InputBox("....!", "..."


      sql = "INSERT INTO vk_objekte ([vk_nr], [vktyp_nr], [vk_lagersoll], [vk_lagerhaben], [vk_umbuchung]) " _
         & "VALUES (nächste freie Nummer, 'UM', eingangsavv, me![avv_nr], 'true') "

[Anhang gelöscht durch Administrator]