Live Suche im Formular

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

tobiman26
***
Beiträge: 63
Registriert: Mi, 20.01.2016 15:17
Kontaktdaten:

Live Suche im Formular

Beitrag von tobiman26 »

Hi Leute ich habe wieder mal eine Frage zu Makros in Basic
und Zwar habe ich Ein Formular "Kundenverwaltung"
Die MainForm heißt "Filter" und die SubForm "Kundendaten"
Auf dem Filter Formular gibt es 3 Textfelder "F_Firma" "F_Name" und "F_Telefon"
Aktuell läuft das so das ich ein Button habe der die Funktion Formular Aktualisieren hat nun möchte ich aber das per Makro so lösen das sich bei jeder Eingabe das Formular automatisch Aktualisiert.
Ich hab es so Versucht

Code: Alles auswählen

sub TabRefresh
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Refresh", "", 0, Array())
end sub
das Funktioniert schon das Problem OoBase fragt jedes mal wegen Datensatz speichern und das nervt kann man das irgentwie noch einbauen das er es automatisch macht und nicht immer frag?

Code: Alles auswählen

sub TabRefresh
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
ThisComponent.Parent.store()
dispatcher.executeDispatch(document, ".uno:Refresh", "", 0, Array())
end sub


So geht es leider nicht speichert zwar aber fragt trotzdem nochmal
Mfg Tobias 8)

Windows 7 64bit + AOO 4.1.2 + LO 5.0.0.0
OpenSUSE 42.1 32 bit + LO 5.0.2.2
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Live Suche im Formular

Beitrag von RobertG »

Hallo tobiman26,

ich weiß nicht, wie Du den Filter bestückst. Hast Du einen Button in "Kundendaten" liegen, so wird bei Betätigung des Buttons automatisch der Inhalt von "Filter" gespeichert.
Das ganze könnte, gebunden an den Fokusverlust eines Feldes, eventuell so aussehen:

Code: Alles auswählen

SUB FilterZeigen(oEvent AS OBJECT)
oFeld = oEvent.Source.Model
oForm = oFeld.Parent
oSubForm = oForm.getByName("Kundendaten")
oFeld.commit
oForm.updateRow
oSubForm.reload()
END SUB
Ansonsten schau Dir einmal zu den Makros die Kapitel im Handbuch an. Über den Makrorecorder wirst Du da nicht so recht fündig.

Gruß

Robert
tobiman26
***
Beiträge: 63
Registriert: Mi, 20.01.2016 15:17
Kontaktdaten:

Re: Live Suche im Formular

Beitrag von tobiman26 »

Ja mit einem Button funktioniert es so weit war ich schon aber den Mitarbeiter für den ich das entwickel wünscht sich halt so eine Live Suche wo sich nach jedem Zeichen das ich in die Suchleiste eingeb das Ergebnis sich ändert
Mfg Tobias 8)

Windows 7 64bit + AOO 4.1.2 + LO 5.0.0.0
OpenSUSE 42.1 32 bit + LO 5.0.2.2
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Live Suche im Formular

Beitrag von RobertG »

hallo tobiman26,

und wie sieht es da dann mit dem Makro aus? Wenn das bei jeder Änderung des Inhaltes sofort anspringen soll (ganz schöne Belastung für das Programm), dann muss es eben nicht an den Focusverlust, sondern an die Textänderung gekoppelt werden.

Gruß

Robert
tobiman26
***
Beiträge: 63
Registriert: Mi, 20.01.2016 15:17
Kontaktdaten:

Re: Live Suche im Formular

Beitrag von tobiman26 »

Danke dir Funktioniert super
Mfg Tobias 8)

Windows 7 64bit + AOO 4.1.2 + LO 5.0.0.0
OpenSUSE 42.1 32 bit + LO 5.0.2.2
Antworten