Hallo Jochen
Am 15.01.2012 16:17, schrieb Jochen:
ich möchte für Base ein Makro erstellen, das in einem
Tabellenkontrollfeld in einem Formular u.a. folgenden zwei Aufgaben
durchführen soll:
1) Nummer des letzten Datensatzes einer Tabelle auslesen.
2) Befehl "Neuer Datensatz" ausführen.
Habe das Makro noch erweitert, damit der Fokus danach auch auf dem
Tabellenkontrollfeld ist,
und du somit direkt hineinschreiben kannst.
Hier der Code:
(muss direkt aus dem Formular ausgeführt werden)
Sub Formular_Manipolation
Dim oform As Object
Dim aData(1) As variant
Dim nAnzahl As Long ,i%
' Nummer des Formulars(0) und Name des Tabellenkontrollfeldes
("MainForm_Grid") bitte anpassen !!
oform=thiscomponent.drawpage.forms(0).getByName("MainForm_Grid")
'anzahl der einträge
nAnzahl = oform.getRowSet.RowCount
MsgBox "Das Formular hat " & nAnzahl & " Datensätze."
'gehe zu letzten Reihe mit einträgen
oform.getRowSet.Last
'hole den inhalt des letzten eintrags in ein Array(nur Datum und Text)
Redim aData( oform.Count -1)
for i=0 to oform.Count -1
If oform.getByIndex(i).DataFieldProperty = "Date" Then
aData(i) = oform.getByIndex(i).Date
else
aData(i)= oform.getByIndex(i).Text
end if
MsgBox "Letzter Datensatz Spalte" & i+1 & " Lautet: " & Chr(10) &
aData(i)
next
'Neuer Eintrag(gehe zu letzten Reihe)
oform.getRowSet.moveToInsertRow(false)
'Fokus setzen, damit mann direckt hineinschreiben kann.
thiscomponent.CurrentController.getControl(oform).setFocus
end sub
Gruß Frieder
--
Informationen zum Abmelden: E-Mail an [email protected]
Probleme?
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert