Suchformular in Base / Datenbank

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

nergal
Beiträge: 1
Registriert: Di, 07.06.2005 13:58

Suchformular in Base / Datenbank

Beitrag von nergal »

Folgendes Problem: ich möchte gerne ein Formular erstellen, mit dem ich in einer Datenbank suchen kann. Im Grundsatz würde es mir reichen ein einfaches Feld um den zu suchenden Text einzugeben und einen Button, um die Suchabfrage zu starten. Wenn jemand mir dazu einen Hinweis geben könnte, wo man was darüber findet, wäre ich bereits glücklich.

Mir schwebt da in etwa sowas wie in FileMaker vor, wo man im gleichen Formular die Daten suchen und angezeigt bekommt.

Ich nehme an, dass es etwas mit Filtern zu tun hat.

Meine Daten sind über eine MySQL-DB angebunden.

Vielen Dank,

Ulf
Onkel Hatti
***
Beiträge: 97
Registriert: So, 15.05.2005 15:44

Beitrag von Onkel Hatti »

Moinsen

Ja, das geht:

Sub Filter
'die StarOne Schnittstelle des umgebenden Formulars
oDoc = ThisComponent
'das Formular
oForm = oDoc.DrawPage.Forms(0)
'das Kontrollfeld-Modell
oControlModel = oForm.getByName("TextBox")
MedID=oControlModel.text
'`ID` ist die Spalte in der gesucht wird.
oForm.filter = "ID =" + MedID
oForm.ApplyFilter=true
oForm.reload
End Sub

Das obige Script holt sich einen Wert aus einem Textfeld (TextBox) und zeigt nur noch die Datensätze an, die das Kriterium "ID=gesuchter Wert" enthalten. ID ist bei mir als "UNIQUE" gekennzeichnet, es kann also nur einen Datensatz geben.
Dieses Script in einem Formular mit einem Knopf über das Ereignis "Beim Auslösen" verbinden und dann filtert Oo.org aus.
Wenn mann alle wieder sehen will, kurzes Script, in dem "oForm.ApplyFilter=false" gesetzt wird, dann sind alle datensätze wieder sichtbar.
Das Script funktioniert so in Oo.org 1.1.4, in 2.0ß muss man die Spaltennamen in `"`setzen.
Konni
Beiträge: 2
Registriert: Fr, 16.06.2006 19:47

Beitrag von Konni »

Hallo, ich wolte mal fragen wie das Script aussehen müsste (unter 2.0.2) wenn ich nach einem String filtern möchte.

Code: Alles auswählen

 Sub Filter
'die StarOne Schnittstelle des umgebenden Formulars
oDoc = ThisComponent
'das Formular
oForm = oDoc.DrawPage.Forms(0)
'das Kontrollfeld-Modell
oControlModel = oForm.getByName("TextBox")
MedID=oControlModel.text
'`ID` ist die Spalte in der gesucht wird.
oForm.filter = "Vorname =" + MedID
oForm.ApplyFilter=true
oForm.reload
End Sub 
Ich hab das abgeändert und bekomme dann folgende Fehlermeldung:

Unknown column 'Suchbegriff' in 'where clause'


Suchbegriff ist der Wert den ich in die Textbox eingetragen hab.
Antworten