PDA

Vollständige Version anzeigen : Formulare verküpfen/Problem neuer Datensatz


Leni.Hetzdorf
04.08.2005, 12:49
Hallo Leute,
ich habe folgendes Problem. Ich habe zwei Formulare F1 (Rechnungen) und F2 (Zahlungen auf Rechnung). F1 ist endlos frm mit einem Button bei jedem Eintrag, mit dem man dann zu den zu dieser Rechnung eingetragenen Zahlungen gelangt. Wenn ich nun aber einen neuen Datensatz in den Zahlungen (F2) aufnehmen will ist dieser nicht mit der entsprechenden eigentlich angeklickten Rechnung/Datensatz (F1) verbunden. Wie kann ich die Re.Nr des angeklickten Datensatzes an den Datensatz im Zahlungsfrm (F2) mit übergeben?
Eine ähnliche Frage wurde hier bereits am 21.04.2004 "Formulare - Unterformular" einmal gestellt, leider komme ich mit der Antwort nicht ganz klar bzw. ich kann es nicht auf meinen Fall hier umstellen.
Brauche Hilfe, bitte. Dankt Euch im Voraus. Leni

JörgG
04.08.2005, 18:24
Hallo Leni,

Die ReNr ist nicht das Schlüsselfeld? Wie fügst Du denn den neuen DS an, über eine Schaltfläche mit VBA oder über die Navileiste des UFO's?

Jake Blues
04.08.2005, 18:53
Hallo Leni,

eigentlich doch ganz einfach:
Wenn du einen Button einfügst, mit dem du eine neue Zahlung zu einer Rechnung erfassen willst, dann übergibst du den Wert des Primärschlüssels in das neue Formular.

Die Zahlungen haben einen eigenen Primärschlüssel und ein Feld, in den du den übergebenen Wert eintragen mußt. Dazu erzeugst du ein leeres Textfeld (z.B. RgIndex) und sagst beim VBA vom Button:


Private Sub btnZahlungen_Click()
Dim Index As Long
Dim MwSt As Double

On Error GoTo Err_btnZahlungen_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frmZahlungenErfassen" 'Das Formular zur erfassung der Daten

stLinkCriteria = "[RgIndex]=" & Me![ReID]
Index = Me.ReID 'hier wird der Index der Rechnung in eine temporäre Variable übergeben

MwSt = (Me.Rahmen97 / 100) 'übergabe des MwSt-Satzes in temp. Var.
Me.Visible = False 'Das Rechnungsformular wird ausgeblendet
DoCmd.OpenForm stDocName, , , stLinkCriteria 'das Formular frmZahlungenErfassen wird geöffnet
Forms![frmZahlungenErfassen]![RgIndex].Value = Index 'hier wird die temp. Var. in das Feld in der Tabelle Zahlungen eingefügt
Forms![frmZahlungenErfassen]![MwSt].Value = MwSt

Exit_btnZahlungen_Click:
Exit Sub

Err_btnZahlungen_Click:
MsgBox Err.Description
Resume Exit_btnZahlungen_Click

End Sub

Nicht vergessen beim Schliessen der Zahlungserfassung das Rechnungsformular wieder einzublenden.
Funktioniert so bei uns schon eine gute Weile sehr zuverlässig.

Jake