Neuigkeiten:

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

Mobiles Hauptmenü

Vor-Ausgefülltes Formular

Begonnen von grüzel221, Juni 14, 2011, 16:22:42

⏪ vorheriges - nächstes ⏩

grüzel221

Hallo zusammen,

bin ein relativer Grünschnabel in Sache Access und ich beiss mir nun seit ein paar Stunden die Zähne an einem Hartnäckigen Problem aus.

Ich habe eine "Master"-Tabelle in der ich AuftragsNummern (AN) erfasse (Inkrementiert). Diesen AuftragsNummern werden jeweils ObjektNummern (ON), und Kunden zugeteilt (auch jeweils aus Tabellen über Drop-Down-Menüs). Da ich die ganze Geschichte mit dem Runtime laufen lassen möchte, mach ich alles mit Formularen (Also endlos-Formulare usw.).

Nun habe ich eine zusätzliche Tabelle mit RechnungsNr. Diese RechnungNummern sind natürlich immer an eine Auftragsnummer gebunden (an die wiederum eine ObjektNummer und einen Kunden gebunden wird). Ich Erfasse also zuerst die AN (Automatisch), teile der eine ON und einen Kunden zu. Am Ende (Also einige Zeit nach der Erfassung), möchte ich einen Eintrag in die RechnungsNummern-Tabelle machen und dabei die Infos die ich schon in der AN-Tabelle habe "mitnehmen" (ON, Kunde, die auch in der RechnungsNr-Tabelle zu finden sind).

Ich arbeite im moment mit Pop-Up Formularen. Will heissen, meine AN werden in einem Endlos-Formular dargestellt, um eine Änderung vorzunehmen (z.B, der Kunde ändert) klicke ich auf die dazugehörige AN, das AN-ErfassungsFormular erscheint in einem Pop-Up, darin äandere ich was ich will und nun fände ich es super, wenn in diesen Formular einen Button wäre mit dem ich ein neues Pop-Up Fenster öffnen könnte mit einem Formular das eine neue RechnungNr "löst" und in dem die ON, die AN und der Kunde schon vorausgefüllt wären.

Ich gebe zu, das ganze ist ein bisschen kompliziert zum erklären, aber ich hoffe irgend jemand versteht was ich meine.

mfg

MzKlMu

Hallo,
eigentlich halte ich das für überflüssig. Du brauchst doch nur die entsprechenden Fremdschlüsselfelder zu speichern, weiter Felder sind doch gar nicht notwendig. Dazu hat man ja eine DB mit Beziehungen um redundante Datenhaltung zu verhindern.
Gruß Klaus

imp666

2 Möglichkeiten:

1) Um Daten an ein PopUp (heißt das bei dir WindowMode=Dialog?) zu übergeben kann man das OpenArgs-Feld beim Öffnen des Formulars verwenden.

2) Das PopUp "holt" sich die Daten aus den anderen Formularen (bei denen ja die Position immernoch auf dem korrekten Datensatz sitzen müsste, wenn es sich bei den PopUp-Formularen  um Dialog-Formulare handelt). (irgendwie so: Me!Feldname=Forms!AndererFormularname!FeldnameDenIchBenoetige)

grüzel221

Hmm, was meinst du mit "Fremdschlüssel speichern" ? In einer verstekten DB ?

Das Problem ist ja folgendes: ON und Kunde sind je Primärschlüssel in Ihrer Tabelle (Dazu kommen noch andere infos, wie adresse usw, die hier aber nicht relevant sind). Diese werden in der AN-Tabelle (in der die AN Primärschlüssel ist) zusammengetragen un an eine AN geknüpft. Es können aber durchaus dieselben ON oder Kunden für verschiedene ANs gebraucht werden. Deshalb brauche ich ja die Kombination AN & ON & Kunde in der RechnungsNr-Tabelle, da diese Kombination erhalten werden muss, um einen Auftrag zu identifizieren. Und aus der AN-Tabelle kann ich sie nicht über Beziehungen "mitnehmen", da sie keine Eindeutigen Indexe mehr sind.

Es kann aber durchaus sein, dass man das ganze mit Beziehungen lösen kann, doch nur wie ?

MzKlMu

Hallo,
ich tue mir gerade schwer, mir das vorzustellen. Kannst Du nicht eine Beispeildb hier hochladen?
Gruß Klaus

grüzel221

Zitat von: imp666 am Juni 14, 2011, 16:30:48
2 Möglichkeiten:

1) Um Daten an ein PopUp (heißt das bei dir WindowMode=Dialog?) zu übergeben kann man das OpenArgs-Feld beim Öffnen des Formulars verwenden.

2) Das PopUp "holt" sich die Daten aus den anderen Formularen (bei denen ja die Position immernoch auf dem korrekten Datensatz sitzen müsste, wenn es sich bei den PopUp-Formularen  um Dialog-Formulare handelt). (irgendwie so: Me!Feldname=Forms!AndererFormularname!FeldnameDenIchBenoetige)

PopUp für mich in diesem Fall = office.microsoft.com/de-ch/access-help/video-erstellen-eines-benutzeroberflachenmakros-VA101814109.aspx

Der Lösung 2 werde ich noch ein bisschen nachgrübeln, obwohl ich es eg. schon mit Makros versucht habe (siehe Video). Aber vielleicht muss ich mich doch noch ein bisschen vertiefter mit VBA ausseinander setzen müssen *schauder*

grüzel221

#6
Damit sollte es ein bisschen verständlicher sein. Wenn du auf die AN-Nr im Formular "frmListe" doppelklickst gaht das erste Fenster auf. Das zweite findest du dann in diesem Formular unten.

Ist ne "Bastelversion", in der ich schon so einiges herumprobiert habe. Ich hab mal versucht so gut es geht alle meine "Leichen" zu entfernen....