Habe mich an einemBeispiel hier aus dem Foum orientiert und nicht die Filterfunktion sondern eine SQL-Abfrage verwendet.
Die Feldnamen im SQL-Statement entsprechen denen der BASE-Tabelle.
Beim Aufruf des Makros oeffnet sich ein neues window zur Parameterabfrage (kud_id).
Die msgbox zeigt den SQL-Befehl noch mit Fragezeichen (.... kud_id=?)
Ist der Set-Befehl falsch?
Wenn ich in die Abfrage einen gueltigen Wert als kud_id eintragen kommt zwar keine Parameterabfrage, das Bearbeitungsformiular (FORMkunde) wird aber nicht geoeffnet.
Waere dankbar fuer nen Tip, stehe auf dem Schlauch.
Code: Alles auswählen
SUB KundeOpenForm
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
Dim oForm As Object
Dim oNewForm As Object
Dim oFeld As Object
Dim stFilter As String
' Formlarfeld holen
oDoc=thisComponent
oDrawpage=oDoc.Drawpage
oForm = ThisComponent.Drawpage.Forms.getByName("FORMAuswahlKunde")
oFeld=oForm.getByName("Textfeld")
stFilter = oFeld.Text
msgbox (stFilter)
' soweit ok
' Zugriff testweise ueber Primaerschluessel (kud-id)
oNewForm = oDoc.Drawpage.Forms("FORMkunde")
oNewForm.Command = "SELECT * FROM ""tKunde"" WHERE ""kud_id"" = ?"
oNewForm.CommandType = 2
oNewForm.setInt(1,2)
msgbox (oNewForm.Command)
oNewForm.execute
oNewForm.reload
end sub
Moderation:
Zur Darstellung von Programmcode sind in der Forums-Software die [code]…[/code] Tags vorgesehen. Diese habe ich noch mal für dich gesetzt. Zukünftig bitte selbst dran denken.
lorbass, Moderator