in einem Auftragsformular, in dem es ein Unterformular mit Tabellenfeld für zugeordnete Kunden gibt (Verbindung über Zwischentabelle), möchte ich per Makroknopf aus der markierten Kundenzeile dessen Adressformular aufrufen.
Das Makro heißt bisher:
Code: Alles auswählen
Sub Adressformularaufruf 'Ruft zu dem markierten Kunden das Adressformular auf
oformAdressen = thisComponent.drawpage.forms.MainForm.SubForm_Zugeo_Kunden
stAdressID = oformAdressen.getInt(oformAdressen.findcolumn("AdressID"))
oformAdresse = ThisDatabaseDocument.getformdocuments.GetByName("f-Adresse")
oformAdresse.open
oformAdresse = oformAdresse.Component.drawpage.forms(0)
'msgbox stAdressID
oformAdresse.Filter = "ID = 'stAdressID'"
oFormAdresse.ApplyFilter = TRUE
oFormAdresse.reload
End Sub
Das SQL-Kommando, welches zu diesem Fehler führte, ist:
SELECT "t-adressen".* FROM "t-adressen" WHERE "ID" = 'stAdressID' ORDER BY "Nachname", "Vorname"
An dieser Fehlermeldung ist mir wie immer alles unverständlich:
- Ich frage einen Integerwert ab, und die ID ist in der Adressentabelle ein Integerwert. Wie kann das "invalid" sein?
- Woher kommt die Select-Abfrage? In dem Makro gibt es nur einen Filter.
- Wie kriege ich sie los? (also die Fehlermeldung)
Die msgbox ermittelt korrekt die ID des markierten Kunden, z. B. 813. Wenn ich den Filter mit oformAdresse.Filter = "ID = '813'" aufrufe, öffnet das Adressformular korrekt mit dem entsprechenden Kundennamen.
Ratlos
Freischreiber