Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


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 users+help@de.libreoffice.org
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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.