Hallo,
ich versuche einige Werte aus einem Formular per Klick in einer anderen Form(Tabelle) als neuer Datensatz zu hinzufügen aber schaffe nicht, bekomme die Meldung im Betreff.
Hier ist von mir gedachter Code:
Private Sub Speicher_Click()
Dim VerNr, AutoID As Integer 'Lege ich die Variablen Fest
Dim KPreis As Currency
Dim KDate As Date
VerNr = Me.KundenNr 'Weise die Werte zu
AutoID = Me.Autos_ID
KPreis = Me.EK_Preis
KDate = Me.Kaufdatum
With Forms.Rechnung 'Verbinde ich den Formular Rechnung?
..DoCmd.RunCommand acCmdRecordsGoToNew 'Neuer Datensatz
.RechnungNr = DMax("RechnungNr", "Rechnung") + 1 'Rechnungsnummer in der Tabelle Rechnung +1
.VerkauferNr = VerNr 'Variable als Wert hinzufügen
.Autos_ID = AutoID
.Betrag = KPreis
.Datum = KDate
.DoCmd.Save 'Datensatz speichern
End With 'Verbindung zu Ende
End Sub
ich habe den Code geändert, jetzt funktioniert einigermaßen aber immer noch nicht Ganz ???
Dim VerNr, AutoID As Integer
Dim KPreis As Currency
Dim KDate As Date
VerNr = Me.KundenNr
AutoID = Me.Autos_ID
KPreis = Me.EK_Preis
KDate = Me.Kaufdatum
Dim frmZiel As Form
Set frmZiel = Forms!Rechnung
'neuer Datensatz ???
frmZiel!RechnungNr = DMax("RechnungNr", "Rechnung") + 1
frmZiel!VerkauferNr = VerNr
frmZiel!Autos_ID = AutoID
frmZiel!Betrag = KPreis
frmZiel!Datum = KDate
'Speichern ???
Probleme:
1-Um Daten aus geöffneten Formular in Formular Rechnung kopieren zu können, der Formular Rechnung geöffnet sein muss, was ich vermeiden will.
2- Hinzufügen eines neuen Datensatz konnte ich nicht schaffen :'(
3- Speichern des Formulars Rechnung auch nicht. :'(
Kopieren von Daten und Rechnungsnummer +1 funktioniert ;D
Grüße
Zorlayan
Zitat von: zorlayan am Mai 10, 2019, 00:16:27
1-Um Daten aus geöffneten Formular in Formular Rechnung kopieren zu können, der Formular Rechnung geöffnet sein muss, was ich vermeiden will.
2- Hinzufügen eines neuen Datensatz konnte ich nicht schaffen :'(
3- Speichern des Formulars Rechnung auch nicht. :'(
1.)
Nun ja, um Daten in ein Formular zu kopieren, muss das Zielformular geöffnet sein. Daran führt kein Weg vorbei. Du kannst natürlich auch die Daten direkt in die Tabelle des Formulars Rechnung kopieren. Dann ist das ganze unabhängig vom dem geöffneten Formular.
2.)
frmZiel.Recordset.AddNew
3.)
frmZiel.Dirty = False
Ergänzend: Formulare enthalten und speichern keine Daten, sondern zeigen sie nur an. Insofern sind Speichern im Formular und Speichern des Formulars nur Scheingefechte bzgl. Daten. Mit Schließen ist alles vorbei.
Datenhaltung erfolgt in Tabellen. Da man entsprechend guter Praxis keine redundanten Daten führt, wird ein Kopieren allermeist verzichtbar sein, sondern man verweist auf die Daten. Damit kann man u.a. gleiche Daten in verschiedenen Formularen anzeigen.
Ja, und wer Formulare nicht sehen will: Datenoperationen benötigen nicht zwingend ein Formular. Man kann das auch codemäßig ohne große Bedienoberfläche umsetzen.
Danke Leute echt super finde ich eure Unterstützung,
wenn der Ziel Formular zwingend geöffnet sein soll wahrscheinlich werde ich " Daten aus Formular zu Tabelle Option" auswählen.
Vielen Dank