Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Mamba4711 am Mai 14, 2016, 22:13:55

Titel: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: Mamba4711 am Mai 14, 2016, 22:13:55
Hallo zusammen,
ich sitze an meiner Projektarbeit und verzweifel.
Ich habe ein Formular "Reifensatz" angelegt, auf dem ich auch ein Unterformular "Reifen" im Detailbereich eingeblendet habe.
(Ich sehe somit zu dem Reifensatz alle Reifen)
Ich möchte nun ein Button einfügen (auf dem Formular Reifensatz) um einen Reifen anzulegen. Der Button soll dann das Formular "Reifen" mit dem neuen Datensatz öffnen und es soll der Fremdschlüssel "Reifensatz_ID_f" schon ausgefüllt werden.
Im Formular Reifensatz heisst dieser "Reifensatz_ID".

Ich bin euch für eine schnelle Hilfe dankbar.
Selbstverständlich habe ich schon viel durchstöbert und alles mögliche versucht, aber VBA ist nicht meine Stärke.
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: Hondo am Mai 14, 2016, 23:31:03
Hallo,
wieso soll "Reifen" geöffnet werden, es ist doch als Unterformular ständig sichtbar?
Wenn du das Unterformular-Steuerelement anklickst (nicht das Formular darin), dann kannst du Verknüpfen von/nach einstellen, also über welche Felder die beiden Formulare verknüpft sind.
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: DF6GL am Mai 15, 2016, 07:57:20
Hallo,


die Verknüpfung dürfte bereits bestehen ("Ich sehe somit zu dem Reifensatz alle Reifen").

Wenn  im Unterformular kein "neuer" Datensatz angezeigt werden sollte, ist vielleicht die Form-Eigenschaft "Anfügen zulassen" auf Nein gestellt....


Zudem ist der Button in HFO "Reifensatz" logisch nicht an richtiger Stelle.....
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: Mamba4711 am Mai 15, 2016, 19:41:54
Hallo, erst mal vielen Dank für eure schnellen Rückmeldungen.
Das Formular ist so aufgebaut, dass ich zu dem Reifensatz die
Reifen sehe, allerdings nur in "Kurzformat".
Wenn ich einen neuen Reifen anlegen möchte, dann kann ich das nicht direkt in dem Unterformular machen (Anfügen zulassen), da es Pflichtfelder gibt, die nicht eingefügt sind.
Aus diesem Grund möchte ich ja darunter ein Button, dass sich das Formular Reifen öffnet, dort soll aber dann schon der Reifensatz_ID_f übernommen worden sein.
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: DF6GL am Mai 15, 2016, 20:21:42
Hallo,

Du kannst den Openargs-Parameter dazu verwenden, um den Reifensatz_ID-Wert an das Form zu übergeben, das geöffnet werden soll. 

Im HFO:

DoCmd.OpenForm "frmReifen", , , , acFormAdd, acDialog, Me!Reifensatz_ID



und im Form "frmReifen":

Sub Form_Load()
If not Isnull (Me.Openargs) Then Me!Reifensatz_ID_f.DefaultValue = Me.Openargs
End Sub
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: Mamba4711 am Mai 15, 2016, 21:48:53
Access mag mich nicht  :'(
Den ersten Code habe ich im Button "Beim Klicken" eingetragen.
Den zweiten Code habe ich im Formular "frm_Reifen" "Beim Laden" eingetragen.
Aber es funktioniert nicht.

Sagt der 2 Code generell aus, gib den Wert wieder, der dir aus Code 1 übertragen wurde?
ggf. kann ich es ja noch woanders nutzen  ;D.

LG an das Team
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: DF6GL am Mai 16, 2016, 11:04:52
Hallo,

WAS funktioniert nicht? (vollständigen Code zu posten wäre empfehlenswert).

Setz einen Haltepunkt "Docmd.Openform..."  und prüfe den ID-Wert.  Fahre dann mit Einzelschritt weiter und prüfe, ob der Ablauf und die Werte stimmen.

Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: Mamba4711 am Mai 16, 2016, 16:30:51
Hallo Franz,
ich habe den Code so eingetragen, wie du beschrieben hast.
Es öffnet sich auch das Reifenformular, allerdings wurde in die Reifensatz_ID_f
kein Wert übertragen.
Codes:
Im Formular Reifensatz Eigenschaften des Button "bei Klicken":
Private Sub btnReifen_neu_Click()
DoCmd.OpenForm "frm_Reifen", , , , acFormAdd, acDialog, Me!Reifensatz_ID
End Sub
Imf Formualr Reifen Eigenschaften "beim Laden":
Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then Me!Reifensatz_ID_f.DefaultValue = Me.OpenArgs
End Sub
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: DF6GL am Mai 16, 2016, 17:04:38
Hallo,

ist frmReifen an die Tabelle tblReifen gebunden und enthält alle Felder aus der Tabelle?

Ansonsten lad die Db hier hoch, evtl. datenreduziert, komprimiert/repariert und gezippt.
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: Mamba4711 am Mai 16, 2016, 17:24:58
Ich versuche es erst mal mit screenshots.
Bitte bedenke, "ich bin nicht die hellste Kerze auf der Torte"  ;D
Titel: Re: Button öffnet Formular und soll Daten mit übertragen
Beitrag von: DF6GL am Mai 16, 2016, 17:43:10
Hallo,

sehe da jetzt keinen Fehler auf die Schnelle....


Setz mal einen Haltepunkt an "If Not IsNull(Me.OpenArgs)....." und schau den Inhalt von Me.Openargs an....