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
Suchformular in Base / Datenbank
Moderator: Moderatoren
-
- ***
- Beiträge: 97
- Registriert: So, 15.05.2005 15:44
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.
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.
Hallo, ich wolte mal fragen wie das Script aussehen müsste (unter 2.0.2) wenn ich nach einem String filtern möchte.
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.
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
Unknown column 'Suchbegriff' in 'where clause'
Suchbegriff ist der Wert den ich in die Textbox eingetragen hab.