Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Object unterstütz diese Eigenschaft oder Methode nicht

Begonnen von zorlayan, Mai 09, 2019, 23:44:33

⏪ vorheriges - nächstes ⏩

zorlayan

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

zorlayan

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

PhilS

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

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

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.
Mit freundlichem Glück Auf!

Eberhard

zorlayan

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