August 13, 2022, 19:41:09

Neuigkeiten:

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


Kombifelder automatisch mit Auswahl von Formular 1 füllen

Begonnen von super0824, Juni 18, 2010, 14:14:43

⏪ vorheriges - nächstes ⏩

super0824

Hi Leute

wollte zuerst einmal sagen, wie gut ich dieses Forum finde. Habe schon etliche Probleme mit Hilfe der Sufu lösen können.

Ich bin blutiger Anfänger was VBA betrifft und komme einfach nicht mehr weiter. Also folgende Problemstellung:

Es gibt 2 Formulare wobei Formular 1 ein Endlosformular ist. Dort gibt es zwei Kombifelder (Jahr, Filiale) und ein Listenfeld, was je nach "Filter" der Kombifelder eine andere Ausgabe gibt. Soweit so gut nun habe ich einen Button erstellt der ein neues Formular öffnet, in dem man einen Datensatz hinzufügen kann. Auch das funktioniert eigentlich perfekt. Nun möchte ich, dass dort die Kombifelder (Jahr,Filiale) beim öffnen automatisch mit dem gleichen Wert wie im Formular 1 ausgewählt ist gefüllt werden, so dass man diese nicht extra auswählen muss, aber trotzdem bei Bedarf ändern kann.

Mit dem Code bin ich soweit:
Formular1 auf dem Neu Button:
DoCmd.OpenForm "Lagerbestand_neu", , , , acFormAdd, , Me!CmbJahr.Column(0)
In Column(0) steht die jeweilige ID vom Jahr, also diese wird nun schon ausgelesen und übergeben. Hier mal die erste Frage, kann ich hier auch noch die ID von der Filiale dranhängen und wie müsste ich das dann anstellen? mit einem & verbinden?

Dann habe ich im Formular 2 folgendes:
Private Sub Form_Open(Cancel As Integer)
Me.CmbJahr2 = Me.OpenArgs
End Sub


klappt aber nicht, wie muss ich dass hier eingeben?

Vielen Dank für eure Hilfe

super0824

also durch viel rumprobieren hab ich herausgefunden wieso es nicht ging, leider löst das aber mein Problem nicht.
Ich hatte bei dem Kombifeld was den Wert aus Form1 erhalten soll bei Steuerelementinhalt die Jahr_ID aus der Tabele drin, in der der Datensatz erstellt werden soll. Nun funktioniert es zwar mit der übergabe des Wertes, es kann nun aber den Wert der Tabelle nicht zuordnen. Wenn ich auf schliessen drücke, kommt die Meldung, dass Jahr_ID nicht Null sein darf (hab ich so definiert). Wie kann ich nun den Wert noch an die Jahr_ID aus der Tabelle übergeben? Oder bin ich ganz auf dem falschen Weg?

database

Juni 18, 2010, 17:15:02 #2 Letzte Bearbeitung: Juni 18, 2010, 17:22:52 von database
Hallo,

wenn ich das alles richtig verstanden habe, sind oder sollen die Kombis in beiden Formularen die gleichen Werte enthalten.
Demnach musst du den beiden Kombis im 2. Formular die selbe Datenherkunft zuweisen, die auch die Kombis im Formular 1 haben - in deinem Fall entweder eine Abfrage bzw. einen SQL-String.

Das Formular 2 öffne ohne irgend welchen Schnickschnack:

DoCmd.OpenForm "Formular2"
Ins Ereignis 'Beim Anzeigen' z.B. könntest du dann die Werte der Kombis übergeben.

Me!Kombi1 = Forms!Formular1!Kombi1
Me!Kombi2 = Forms!Formular1!Kombi2


Zu deinem 2. Posting ..

Die Datenherkunft des 2. Formulars sollte aber schon eine andere sein als die vom Formular 1 - kurz gesprochen die Daten für Formular 1 kommen aus Tabelle 1 und die für Formular 2 aus Tabelle 2 ?
Und wenn in dem Fall die Kombis an die entsprechenden Felder der Datenherkunft gebunden sind sollte das schon klaglos funktionieren.


HTH

Peter