Neuigkeiten:

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

Mobiles Hauptmenü

Formular automatisch ausfüllen z.B. über Filter

Begonnen von christoph57078, Oktober 27, 2010, 17:42:14

⏪ vorheriges - nächstes ⏩

christoph57078

Hallo,

ich habe schon wieder ein neues Problem:

ich komme durch einen Button von meinem Formular "Mitbesteller" zum Formular "Bestellung" (Formulartyp: Einspaltig).

Das Formular "Bestellung" ist gefiltert, so dass ich dort nur die Bestellungen des Mitbestellers einsehen kann.

Wenn ich jetzt im gefilterten Formular eine neue Bestellung anlege muss ich die Kundennummer (kund-key) , die Sammelbestellernummer (samm-key) und die Nummer der Sammelbestellung (sabe-key) jeweils manuell neu eintragen.

Wie kann ich das Formular anlegen, damit "kund-key" und "samm-key" bereits vorausgefüllt sind und "sabe-key" als Auswahlliste vorliegt?

Viele Grüße

christoph57078
ich verwende Access 2007

Hondo

Hallo,
Bestellung und Mitbesteller stehen doch in einem Zusammenhang. Wieso dann getrennte Formulare?
Ich denke mal Mitbesteller ist ein Endlosformular, das einen gemeinsamen Schlüssel mit der Tabelle Bestellung hat.
Dann solltest du in das Formular Bestellung ein Unterformular mit Bindung über den gemeinsamen Schlüssel einfügen.

Gruß Andreas

christoph57078

Hallo,

leider ist alles etwas umfangreicher:

Es gibt einen Sammelbesteller, dieser hat mehrere Sammelbestellungen.

In einer Sammelbestellung gibt es mehrere Mitbesteller.

Jeder Mitbesteller hat pro Sammelbestellung eine Bestellung mit mehreren Positionen. Bei der Bestellung sind die Bestellpositionen im Unterformular eingefügt.

Wenn ich nun also Mitbesteller und Bestellung in ein Formular packe habe ich ein Formular mit zwei Unterformularen, aber mein ursprüngliches Problem immer noch.

"kund-key" ist der Primärschlüssel von der Kundendatei
"samm-key" ist der Primärschlüssel von der Sammelbestellerdatei
"sabe-key" ist der Primärschlüssel der Sammelbestellung

Grüße und danke
christoph57078
ich verwende Access 2007

database

Hallo Christoph,

Zitatich komme durch einen Button von meinem Formular "Mitbesteller"
Wenn du auf diesem Formular die Möglichkeit hast die Werte für 'kund_key' und 'samm_key' festzustellen, KÖNNTEST du diese beiden Werte in (versteckte/unsichtbare) Felder auf dem Formular 'Bestellung'
einfügen.
Dazu KÖNNTEST du im Klick-Ereignis des Aufrufbuttons schreiben:



    DoCmd.OpenForm "Bestellung"
    Forms!Bestellung!DeinNeuesKundenKeyFeld = VariableKundenKey    'wenn die Werte zuvor in Variablen eingelesen wurden
    Forms!Bestellung!DeinNeuesSammelKeyFeld = Me!SammelKeyFeld    'wenn die Werte der Keys in Feldern vorhanden wären



Für die von dir angesprochene Auswahlliste nimmst du ein Kombifeld, dessen Datenherkunft eine Abfrage auf die Tabelle Sammelbestellung darstellt (sabe_key als gebundene Spalte, weiter Spalten nach Bedarf) das Kombifeld ist an das Fremdschlüsselfeld der Datenherkunft des Formulars gebunden.

HTH

Peter

DF6GL

Hallo,

prinzipiell so:

Übergib die einzelnen Felder als "Liste" als Openargs-Parameter an das Form in der Openform-Methode

Docmd.Openform "Bestellung",,,<<DeinFilter>> ,,,Me![kund-key] & ";" & Me![samm-key] & ";" & Me![sabe-key]



Im Form_Load-Ereignis trennst Du die übergebene Liste mit der Split-Funktion wieder auf und weist die Werte der Standardwert-Eigenschaft der jeweiligen Formfelder zu.



Sub Form_Load()
If not isNull(Me.Openargs) Then
Me![kund-key].Defaultvalue = Split(Me.Openargs,";")(0)
Me![samm-key].Defaultvalue = Split(Me.Openargs,";")(1)
Me![sabe-key].Defaultvalue = Split(Me.Openargs,";")(2)
End If
End Sub



Warum Du nun [sabe-key] auswählbar machen willst, wenn Du den Wert eh schon hast, kann ich nicht so recht verstehen.


und btw: AUF LEER- / UND SONDERZEICHEN DRINGEND  VERZICHTEN

christoph57078

Hallo Peter, hallo Franz,

vielen Dank für eure schnelle Hilfe.

Ich habe gestern abend die Variante von Peter für "samm-key" und "kund-key" verwendet, das funktioniert einwandfrei, die Lösungsmöglichkeiten von Franz habe ich erst heute morgen gesehen.

Da jeder Mitbesteller nur einen Sammelbesteller (samm-key) und eine Kundennummer (kund-key) hat ist die Zuordnung eindeutig.

ZitatWarum Du nun [sabe-key] auswählbar machen willst, wenn Du den Wert eh schon hast, kann ich nicht so recht verstehen.
"sabe-key" ist die Nummer der Sammelbestellung, jeder Mitbesteller kann sich natürlich an mehreren Sammelbestellungen beiteiligen, daher war hier die Auswahl gewünscht. Aufgrund deiner Frage kam mir aber die Erkenntnis, dass immer die neueste "sabe-key" in meinem Formular erscheinen soll.

Wenn ich also nun über den Button "Mitbesteller" in mein Formular "Bestellung" komme ist das Feld "samm-key" ja schon ausgefüllt.
Wenn ich auf anderem Weg in das Formular "Bestellung" fülle ich das Feld "samm-key" manuell aus.
Wie sage ich Access: "wenn ich in "samm-key" einen Wert eingebe dann gehe in meine Tabelle "tbl_Sammelbestellung_101026", schaue nach welche "sabe-key" diesen "samm-key" haben und trage mir in diesem Formular den neuesten (=höchsten) Wert ein."

Vielen Dank und viele Grüße
christoph57078
ich verwende Access 2007


christoph57078

Hallo Franz,

habe die DMax-Funktion gefunden und in den letzten Tagen auch Versuche damit gemacht - letztlich scheitert aber alles an meinen fehlenden VBA-Kenntnissen.

Gibt es da irgend etwas wie einen Grundwortschatz o.ä. als Starthilfe hier im Forum oder Internet allgemein?

Danke für jede Hilfe.

Christoph57078
ich verwende Access 2007