Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Daten übernehmen

Begonnen von boehnli01, September 03, 2011, 14:39:50

⏪ vorheriges - nächstes ⏩

boehnli01

Hallo zusammen, ich brauche Eure Unterstützung betreffend einer Prozedur.

In meinem Endlosformular will ich manuell Datensätze hinzufügen. Die Daten will ich aber in einem separaten Fenster eingeben und habe dafür folgende Prozedur :

Private Sub Command274_Click()
DoCmd.OpenForm "frm_T_SalesOrders_DUMMY", DataMode:=acFormAdd, WindowMode:=acDialog
Me.Requery
End Sub


Nun möchte ich, das gewisse Daten von dem Datensatz übernommen werden, von dem aus ich den Click gemacht habe. Zum Beispiel sollten  ITEM und ITEMNAME sollten 1:1 übernommen werden. Wie sollte hier der Befehl lauten?

Kann mir ja jemand helfen. Vielen Dank im voraus.

Gruss Cédric

MzKlMu

Hallo,
ZitatITEM und ITEMNAME
Eines der Felder musst Du nicht übergeben. Es genügt der Primärschlüssel (vermutlich ITEM). Das andere Feld ergibt sich aus den Beziehungen. Das Feld ITEMNAME auch im anderen Formular zu speichern wäre ja redundant. Item kannst Du in den Openargs übergeben:
Private Sub Command274_Click()
   DoCmd.OpenForm "frm_T_SalesOrders_DUMMY", , , , acFormAdd, acDialog, Me!Item
End Sub

Und dann im Ereignis "Beim Anzeigen" des neuen Formulars:
Private Sub Form_Current()
   If Me.NewRecord = True Then
       Me!Item = Me.OpenArgs
   End If
End Sub
Gruß Klaus

DF6GL

Hallo,

wobei "Item" ein reserviertes Wort ist und DRINGEND in Eckklammer gesetzt (oder gleich eine besserer Name verwendet)  werden sollte  ...

boehnli01

Mag wohl komisch tönen, aber ich habe keinen Primärschlüssel auf der Tabelle.  Desshalb sollte es irgendwie möglich sein auf diesem Befehl weitere Felder zu addieren:

Private Sub Command274_Click()   
DoCmd.OpenForm "frm_T_SalesOrders_DUMMY", , , , acFormAdd, acDialog, Me!Item & ???
End Sub


Der Befehlt funktioniert, aber übergibt dann natürlich auch den ITEM auf ins neue Feld ITEMDESC
Private Sub Form_Current()

If Me.NewRecord = True Then
Me.[ITEM] = Me.OpenArgs
Me.ITEMDESC = Me.OpenArgs

End If

End Sub



Geht das überhaupt ?

Danke und gruss Cédric

MzKlMu

Hallo,
ZitatMag wohl komisch tönen, aber ich habe keinen Primärschlüssel auf der Tabelle.
Dann verpasse der Tabelle einen Primärschlüssel (Autowert) und übergebe diesen. Dann ist Item und Itemname nicht erforderlich.
Jede Tabelle sollte in einer DB einen Primärschlüssel haben. Ohne Primärschlüssel kann man keine Datenbank machen.

Und folge dem Rat von Franz und nenne das Feld um.
Gruß Klaus