Seite 1 von 1

Datenbankausgabe in Formularen mit Makros filtern

Verfasst: Mi, 26.05.2004 09:55
von sr-ice
Hallo,

ich habe eine einfache AdressDB als DBase-Tabelle (ca. 550 Eintäge).
Zugriff erfolgt einmal von einem Access-Formular (mit Filterschaltern etc.) und einmal über ein Formular von OOo. Den Umstieg auf OOo bruchen wir um den wechsel zu Linux zu vollziehen.
Das OOo Formular zeigt alle Daten an, und ich kann auch alles machen (einfügen, löschen, etc).

Was noch fehlt sind Makros mit den ich entweder den Formularfilter "Programmiern" kann (ein-/ausschalten geht), oder den Datenbestand mit einer Abfrage Filtern kann.
Die Makros sollen dann mit Schaltflächen verknüpft werden um schnell mal z.B. alle Adressen wo der Nachname mit A anfängt anzuzeigen.

danke für eure Hilfe

Stefan

Verfasst: Mi, 14.07.2004 11:50
von sr-ice
Hallo nochmal,

Dank der Hilfe von Marc von der Mailingliste users-de von openoffice.org
habe ich eine Lösung für mein Problem :D

Code: Alles auswählen

sub FilterName (Filter as String)
    dim oDoc as object, oForm as object
    oDoc = ThisComponent
    oForm = oDoc.DrawPage.Forms(0)
    oForm.filter = "NACHNAME LIKE '" + Filter
    oForm.ApplyFilter=true 
    oForm.reload
end sub

REM Filter Firma
sub A
	FilterName ("A*'")
end sub
sub B
	FilterName ("B*'")
end sub
usw.
NACHNAME ist die Spalte der DB nach der sortiert werden soll.
Bei mir funktionsfähig im Einsatz. Vielleicht hat ja jemand ne Idee wie man beim Drücken einer Schaltfläche einen Wert (Beschriftung A,B,C,..) übermitteln kann, um den doch reichlich umständlichen Code noch etwas aufzuäumen.

Danke und viel Spaß

Stefan

Verfasst: Mi, 14.07.2004 14:55
von MoorhuhnXY
Hallo,
danke für deinen Lösungshinweis. Hiermit funktioniert die Übergabe eines Strings aus einem Textfeld:

Code: Alles auswählen

sub Textfeld_auslesen
	oDoc = ThisComponent 
	oForm = oDoc.DrawPage.Forms(0)
	dim Textfeld as Object
	Textfeld = oForm.getByName("Textfeld") 
	'MsgBox Textfeld.Text     // zur Kontrolle
	FilterName (""& Textfeld.Text &"*'")
end sub
Mal schauen ob sich das Ganze noch ausbauen läßt.
Gruß
Moorhuhn