Re: Makro - Finde best. Wert in Subformular und kopiere in Feld
Verfasst: Di, 14.12.2010 01:02
Werte "suchen und finden" ist vielleicht nicht der richtige Weg. Versuch mal das:
Button im Formular anlegen und mit folgendem Makro verknüpfen:
Wenn Du das Zeug mit "sIDKunde" in eine Beziehung auf Kunden-ID-Basis umformst, dann kann Deine Datenbank komplett aktualisiert werden (alle Kunden mit einem Klick)
g
Button im Formular anlegen und mit folgendem Makro verknüpfen:
Code: Alles auswählen
Sub RatenStatus_Updaten()
oDoc = StarDesktop.CurrentComponent
oForm = oDoc.DrawPage.Forms.GetByIndex(0)
'Ermittelt die aktuelle KundenID
oFeld = oForm.getByName("fmtIDKunde")
sIDKunde = oFeld.text
' SQL-Statements
oStatement = ThisDatabaseDocument.CurrentController.ActiveConnection.createStatement
oResultSet = oStatement.executeQuery( "Update ""Kunden"" set ""bisherbezahlt"" = (SELECT SUM( ""bezahlterBetrag"" ) FROM ""Raten"" WHERE ""IDKunde"" = " + sIDKunde + ") where ""IDKunde"" = " + sIDKunde)
oResultSet = oStatement.executeQuery( "Update ""Kunden"" set ""zuletztbezahlt"" = (SELECT ""bezahlterBetrag"" FROM ""Raten"" WHERE ""bezahltam"" in (SELECT MAX( ""bezahltam"" ) FROM ""Raten"" WHERE ""IDKunde"" = " + sIDKunde + ") AND ""IDKunde"" = " + sIDKunde + ") where ""IDKunde"" = " + sIDKunde )
oResultSet = oStatement.executeQuery( "Update ""Kunden"" set ""naechstefaelligam"" = (SELECT MIN( ""Faelligam"" ) FROM ""Raten"" WHERE ""bezahlt"" = False AND ""IDKunde"" = " + sIDKunde + ") where ""IDKunde"" = " + sIDKunde )
'legt einen Filter an und laed das Formular mit den aktualisierten Daten neu
oForm.filter = "IDKunde = " + sIDKunde
oForm.ApplyFilter=true
oForm.reload
end Sub
g