Beim Datensatzspeichern wird erste Zelle gelöscht

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Marla
Beiträge: 2
Registriert: Di, 08.04.2014 10:45

Beim Datensatzspeichern wird erste Zelle gelöscht

Beitrag von Marla »

Hallo an alle!
Ich habe:
-Windows 7 Home Premium 64 Bit
-MySQL (V. 5.1) Datenbank
-MySQL Connector 1.0.1
-und eigentlich benutze Base aus LibreOffice 4.0.6.2 als grafische Oberfläche für Datenbank
-2jährige Erfahrung damit (von Anfang und Erstellung bis Support)
Ich habe folgendes Problem:
ich habe so wunderbares (wie immer) Makros geschrieben mit:

Code: Alles auswählen

sSQLStr = "UPDATE ""table1"" SET ""col2"" = '" + dTest + "' WHERE ""col1"" = '" + iNum + "'"
oSql.executeUpdate (sSQLStr)
Makros steht hinter dem Listenfeld und bei "Modifiziert" Ereignis passiert. Im Hintergrund laufen zwei Tabellen in zwei glechberechtigte Formulare. Mithilfe von noch paar andere Makros wähle ich ein Datensatz aus table2, nehme Wert dTest, wähle in andrem Formular/Listenfeld aus table1 Wert iNum und ich möchte gerne dass in table1(col1 ist hier PrimaryKey) in der Zeile, wo iNum steht, in col2 Wert dTest geschrieben wird. SQL Statement fuktioniert - habe separate getestet, macht alles Prima. Beim Debug in Makros macht er auch alles Prima, aber anschließend drücke ich auf Datensatz speichern in Navigationsleiste - Formular und dann in table1 in erste Zelle (nicht Zeile, nur Zelle mit PK) erscheint "0" statt Nummer.
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Beim Datensatzspeichern wird erste Zelle gelöscht

Beitrag von RobertG »

Hallo Marla,

wenn ich das richtig verstanden habe soll das Makro in einen bereits vorhandenen Datensatz etwas eintragen. Der Primärschlüssel ist eine Zahl.
Welchen Text bekommst Du, wenn Du im Makro
msgbox sSQLStr
ablaufen lässt. Steht da etwas anderes als '0' für iNum?
Wird nachher tatsächlich col2 dort gespeichert, wo es hin soll?
Drückst Du auf "Datensatz speichern", obwohl die entsprechenden Werte nicht in dem Formular stehen? Wenn eine Änderung in der Datenbank am Formular vorbei vorgenommen wurde, dann muss das Formular davon erfahren. Du musst also einen reload des Formulars durchführen oder die Felder im Formular entsprechend ändern. Das geht mit so etwas wie
oFeld1.BoundField.updateInt(iNum)
oFeld2.BoundField.updateString(dTest)

Gruß

Robert
Marla
Beiträge: 2
Registriert: Di, 08.04.2014 10:45

Re: Beim Datensatzspeichern wird erste Zelle gelöscht

Beitrag von Marla »

RobertG,

vielen vielen Dank für deine Hilfe und Antwort!
Ich habe noch beim Export der existierenden Tabelle bei mir Fehler gefunden, also - falsche Datentyp eingelegt, deswegen konnte ich keine richtige Beziehung zwischen Tabellen herstellen und musste Umwege suchen.

Marla
Antworten