Ich habe das jetzt einmal ausprobiert. Unter Makros Verwalten habe ich ein neues unter "Meine Makros" angelegt, den Code eingebaut und das Makro verknüpft wie beschrieben. Beim Ausführen kommt folgende Fehlermeldung:
Basic-Laufzeitfehler. Es ist eine Exception aufgetreten
Type:com.sun.star.sdbc.SQLException
Message: der Spaltenname 'Hersteller' ist unbekannt
Wenn ich die Codezeile entfehrne tritt die gleiche Meldung beim nächsten auf usw.
Die Namen entsprechen den Spalten in der Tabelle, in der die Suche angezeigt wird.
Dann habe ich die Namen geändert, sodaß sie den Text bzw Listenfeldnamen entsprechen in denen ich die Suche eingebe. Dann bleibt die Meldung aus, aber es wird immer nur das erste Feld zurückgesetzt.
Dann habe ich das Makro nochmal in der Datenbank direkt erstellt und verknüpft, das gleiche Problem.
Dann habe ich den Schalter einmal im Navigator in die Tabelle geschoben, die Namen im Makro geändert und jetzt wurde bei der Suche in der Tabelle die erste Zeile gelöscht und somit auch der ganze erste Datensatz aus der Datenerfassung, das sollte so ja nicht sein. Also wieder den Schalter gelöscht.
Woran kann es denn liegen, das nur das erste Feld gelöscht wird?
Das ist der Code, mit den Text bzw Listenfeldnamen:
Code: Alles auswählen
REM ***** BASIC *****
SUB FelderLeeren(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
oForm.updateNull(oForm.findColumn("F_Hersteller"))
oForm.updateNull(oForm.findColumn("F_Name"))
oForm.updateNull(oForm.findColumn("F_InstrumentTyp"))
oForm.updateNull(oForm.findColumn("F_EffektTyp"))
oForm.updateNull(oForm.findColumn("F_Serial"))
oForm.updateNull(oForm.findColumn("F_Activation"))
oForm.updateNull(oForm.findColumn("F_Install"))
oForm.updateNull(oForm.findColumn("F_Registrierung"))
oForm.updateNull(oForm.findColumn("F_Art"))
oForm.updateNull(oForm.findColumn("F_Format"))
oForm.updateNull(oForm.findColumn("F_Plattform"))
oForm.updateNull(oForm.findColumn("F_Erwerb"))
oForm.updateRow()
END SUB
Wenn ich Base öffne, kommt auch immer die Meldung, ob ich Makros aktivieren/deaktivieren soll. Kann man das irgendwo einstellen, das das automatisch passiert?
Ich habe das jetzt einmal ausprobiert. Unter Makros Verwalten habe ich ein neues unter "Meine Makros" angelegt, den Code eingebaut und das Makro verknüpft wie beschrieben. Beim Ausführen kommt folgende Fehlermeldung:
Basic-Laufzeitfehler. Es ist eine Exception aufgetreten
Type:com.sun.star.sdbc.SQLException
Message: der Spaltenname 'Hersteller' ist unbekannt
Wenn ich die Codezeile entfehrne tritt die gleiche Meldung beim nächsten auf usw.
Die Namen entsprechen den Spalten in der Tabelle, in der die Suche angezeigt wird.
Dann habe ich die Namen geändert, sodaß sie den Text bzw Listenfeldnamen entsprechen in denen ich die Suche eingebe. Dann bleibt die Meldung aus, aber es wird immer nur das erste Feld zurückgesetzt.
Dann habe ich das Makro nochmal in der Datenbank direkt erstellt und verknüpft, das gleiche Problem.
Dann habe ich den Schalter einmal im Navigator in die Tabelle geschoben, die Namen im Makro geändert und jetzt wurde bei der Suche in der Tabelle die erste Zeile gelöscht und somit auch der ganze erste Datensatz aus der Datenerfassung, das sollte so ja nicht sein. Also wieder den Schalter gelöscht.
Woran kann es denn liegen, das nur das erste Feld gelöscht wird?
Das ist der Code, mit den Text bzw Listenfeldnamen:
[code]REM ***** BASIC *****
SUB FelderLeeren(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
oForm.updateNull(oForm.findColumn("F_Hersteller"))
oForm.updateNull(oForm.findColumn("F_Name"))
oForm.updateNull(oForm.findColumn("F_InstrumentTyp"))
oForm.updateNull(oForm.findColumn("F_EffektTyp"))
oForm.updateNull(oForm.findColumn("F_Serial"))
oForm.updateNull(oForm.findColumn("F_Activation"))
oForm.updateNull(oForm.findColumn("F_Install"))
oForm.updateNull(oForm.findColumn("F_Registrierung"))
oForm.updateNull(oForm.findColumn("F_Art"))
oForm.updateNull(oForm.findColumn("F_Format"))
oForm.updateNull(oForm.findColumn("F_Plattform"))
oForm.updateNull(oForm.findColumn("F_Erwerb"))
oForm.updateRow()
END SUB
[/code]
Wenn ich Base öffne, kommt auch immer die Meldung, ob ich Makros aktivieren/deaktivieren soll. Kann man das irgendwo einstellen, das das automatisch passiert?