GELÖST Formularaufruf mit SQL Datensatzauswahl
Verfasst: Sa, 26.04.2014 13:40
Ich versuche ein Formular mit einembestimmten vorher ausgewaehltem Datensatz aufzurufen.
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.
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
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