Ich habe mehr oder weniger eine Datenbank mit vielen Personen, dazu habe ich ein Formular in dem ich diese Personen filtern kann nach ihrem Namen. Jedoch möchte ich nun in diesem Formular eine Schaltfläche mit "Benutzer hinzufügen" und "Benutzer speichern" hinzufügen. Dazu habe ich jeweils ein Makro geschrieben für diese Dinge. das Benutzer hinzufügen funktioniert auch so weit, er switched in den Einfügemodus und ich kann Dinge in meine Felder eingeben, jedoch das Speichern funktioniert nicht, da ein Error kommt sobald ich auf die Schaltfläche klicke. Vielleicht kann mir hierbei jemand weiterhelfen. Anbei füge ich meine beiden geschriebenen Makros hinzu.
Hier die zwei Fehlermeldungen: Fehler beim Schreiben des aktuellen Datensatzes at C:/LO/lode/dev/core/connectivity/source/commontools/dbtools.cxx:744
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: Fehler in der Funktionsfolge. at C:/LO/lode/dev/core/connectivity/source/commontools/dbexception.cxx:342.
Sub addUser
Dim oForm As Object
Dim oUnterformular As Object
' Referenzieren Sie das Hauptformular
oForm = ThisComponent.DrawPage.Forms.getByName("Filter")
' Überprüfen Sie, ob das Hauptformular gefunden wurde
If IsNull(oForm) Then
MsgBox "Hauptformular 'Filter' nicht gefunden.", 16, "Fehler"
Exit Sub
End If
' Referenzieren Sie das Unterformular
oUnterformular = oForm.getByName("FilterUnter")
' Überprüfen Sie, ob das Unterformular gefunden wurde
If IsNull(oUnterformular) Then
MsgBox "Unterformular 'FilterUnter' nicht gefunden.", 16, "Fehler"
Exit Sub
End If
' Wechseln Sie in den Einfügemodus für das Unterformular
oUnterformular.moveToInsertRow()
End Sub
Sub saveUser
Dim oForm As Object
Dim oUnterformular As Object
' Referenzieren Sie das Hauptformular
oForm = ThisComponent.DrawPage.Forms.getByName("Filter")
' Überprüfen Sie, ob das Hauptformular gefunden wurde
If IsNull(oForm) Then
MsgBox "Hauptformular 'Filter' nicht gefunden.", 16, "Fehler"
Exit Sub
End If
' Referenzieren Sie das Unterformular
oUnterformular = oForm.getByName("FilterUnter")
' Überprüfen Sie, ob das Unterformular gefunden wurde
If IsNull(oUnterformular) Then
MsgBox "Unterformular 'FilterUnter' nicht gefunden.", 16, "Fehler"
Exit Sub
End If
' Speichern Sie den neuen Datensatz im Unterformular
oUnterformular.updateRow()
End Sub
Danke schon mal!
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
(Gelöst) Fehlermeldung beim Speichern eines neuen Datensatzes
-
- Beiträge: 12
- Registriert: Di 25. Jun 2024, 07:35
(Gelöst) Fehlermeldung beim Speichern eines neuen Datensatzes
Zuletzt geändert von freddie1962 am Mi 3. Jul 2024, 09:06, insgesamt 1-mal geändert.
Re: Fehlermeldung beim Speichern eines neuen Datensatzes
Ich verstehe erst einmal nicht, was der ellenlange Code soll.
Wenn der Button in dem Formular liegt, das abgespeichert werden soll, dann reicht doch
Dann: Der Cursor bleibt doch im Makroeditor dort stehen, wo der Fehler ist. Ich vermute einmal bei updateRow().
Neuer Datensatz → InsertRow
Bestehender Datensatz → UpdateRow
Warum machst Du das Ganze eigentlich mit Makros? Der Button stellt doch die Eigenschaft "neuer Datensatz" und "Speichern" direkt (unter Eigenschaften → Aktion) zur Verfügung.
Wenn der Button in dem Formular liegt, das abgespeichert werden soll, dann reicht doch
Code: Alles auswählen
SUB Speichern(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
Neuer Datensatz → InsertRow
Bestehender Datensatz → UpdateRow
Warum machst Du das Ganze eigentlich mit Makros? Der Button stellt doch die Eigenschaft "neuer Datensatz" und "Speichern" direkt (unter Eigenschaften → Aktion) zur Verfügung.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.