Ihr seid echt toll, danke für eure Hilfe!
Ich glaub das mit den Makros der Comoboxen ist mir doch noch zu komplex :/ dachte man braucht nur die eine Prozedur "Datensatzaktion_erzeugen", aber glaub da spielt ja alles mit rein.
Ich probiers erst mal so ähnlich wie F3K Total zu lösen. Hatte gestern schon was gebastelt (siehe Bild), allerdings hab ichs nicht hinbekommen, dass beim Abspeichern der Kundendaten sofort das Listenfeld aktualisiert wird, deswegen hab ich jetzt erst mal ein Speichern- und ein Aktualisieren-Button integriert. Hätte es aber gerne, dass der Speicher-Button gleich beides erledigt.
Hab gedacht ich kann auf das Ereignis "Maustaste gedrückt" ein Makro legen, dass den Datensatz speichert:
Code: Alles auswählen
Sub DatensatzSpeichern()
DIM oDoc, oForm As Object
DIM DatabaseContext, ODataSource, oCon As Object
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("file:///.../BeispielDB.odb")
oCon = DataSource.GetConnection("","")
odoc = thiscomponent
oform = odoc.drawpage.forms.getByName("Form_NeuerKunde")
On Error Goto ErrorBehandlung
If oForm.isNew Then
oForm.insertRow
MsgBox "Der Kunde wurde in die Datenbank aufgenommen."
DataSource.flush
ElseIf oForm.isModified Then
oForm.updateRow
MsgBox "Daten wurden aktualisiert."
DataSource.flush
else
exit sub
End If
exit sub
ErrorBehandlung:
MsgBox "Keine Daten eingegeben!"
End Sub
[/size]
und auf das Ereignis "Maustaste loslassen" ein Makro, dass das Listenfeld des anderen Formulars aktualisiert:
Code: Alles auswählen
Sub Aktualisiere()
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.forms.getByName("MainForm")
oListboxModel = oForm.getByName("Listenfeld 6")
oListboxModel.refresh()
End Sub
[/size]
aber gleichzeitig geht es nicht, beim ersten Klick wird gespeichert und beim zweiten Klick, also Eintragen eines neuen Kunden, steht der erste erst drin.
Zweite Frage, die währenddessen aufgetreten ist: Ist es eigentlich möglich einem Button unter Eigenschaften>Allgemein eine vordefinierte Aktion zuzuschreiben UND bei Eigenschaften>Ereignisse ein Makro zuzuweisen oder geht nur eins von beiden? Hab probiert dem Button die Aktion "Neuer Datensatz" zuzuschreiben und zusätzlich das Makro "Aktualisieren" einzubinden. Ergebnis war das gleiche wie oben, weiß allerdings nicht ob es generell möglich.
Liebe Grüße, Steffi