Hallo,
Damit oFeld nicht überschrieben wird das dann mit oFeld1 und oFeld2 gelöst. Es kommen jetzt auch keine Fehlermeldungen mehr aber es funktioniert noch richtig weil nicht dazugezählt wird und Bestände nicht waagerecht in der Zeile sind sondern versetzt. Was muss ich im Code ändern? Hier noch der aktuelle Code sowie Screenshot von der Tabelle:
Sub Main
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.forms.getByName("Eingabe")
oFeld1 = oDrawpage.forms.Eingabe.getByName("Bemerkung")
oFeld2 = oDrawpage.forms.Eingabe.getByName("Artikelnummer")
DIM Artikelnummer AS OBJECT
DIM Bemerkung AS OBJECT
DIM Feldinhalt1 AS STRING
DIM Feldinhalt2 AS STRING
Feldinhalt1 = oFeld1.getCurrentValue()
Feldinhalt2 = oFeld2.getCurrentValue()
DIM oConnection AS OBJECT
oConnection = oForm.activeConnection()
DIM oSQL_Statement AS OBJECT
DIM stSql AS STRING
DIM oResult AS OBJECT
DIM iResult AS INTEGER
oSQL_Statement = oConnection.createStatement()
stSql = "SELECT COUNT(""Artikelnummer"") FROM ""Tabelle"" WHERE ""Artikelnummer"" AND ""Bemerkung"" = '"+Feldinhalt+"'"
oResult = oSQL_Statement.executeQuery(stSql)
WHILE oResult.next
iResult = oResult.getInt(1)
WEND
IF iResult > 0 THEN
oSQL_Statement.executeUpdate("Update ""Tabelle"" SET ""Anzahl"" = ""Anzahl""+1 WHERE ""Artikelnummer"" = '"+Feldinhalt+"'"
ELSE
oSQL_Statement.executeUpdate("INSERT INTO ""Tabelle"" (""Artikelnummer"",""Anzahl"") VALUES ( '"+Feldinhalt+"', 1)"
END IF
End Sub

- Tabellescreenshot1.jpg (109.13 KiB) 3189 mal betrachtet
Gruß
Stefan