Neuigkeiten:

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

Mobiles Hauptmenü

Textfeldinhalten beim öffnen an anderes Formular übergeben

Begonnen von mad, Oktober 10, 2019, 14:53:15

⏪ vorheriges - nächstes ⏩

mad

Hallo Zusammen,

für euch vermutlich ein leichtes.
Folgende Situation:
Habe ein Formular ,,Personalstammdaten" mit dem Textfeld ,,NameP".
In dem Formular gibt es den Botton ,,btnAufgaben" mit dem ich das Formular ,,frmAufgaben" öffne.
Code:
Private Sub btnAufgaben_Click()
     DoCmd.OpenForm "frmAufgaben"
End Sub


Im Formular ,,frmAufgaben" kann ich in einem ungebundenen Kombinationsfeld ,,cboPersonal" auswählen.
Code:
Private Sub cboPersonal_AfterUpdate()
    Me.Recordset.FindFirst "PID = " & Me.cboPersonal
End Sub


Nun hätte ich gerne beim öffnen von ,,frmAufgaben" gleich den Feldinhalt von ,,NameP" in das ungebundene Kombifeld ,,cboPersonal" übernommen und ausgeführt. Habe schon einiges durchgestöbert und mal so versucht, klappt aber nicht.
Code:
Private Sub btnAufgaben_Click()
     DoCmd.OpenForm "frmAufgaben"
     'Forms!frmAufgaben!cboPersonal = Forms!Personalstammdaten!NameP
End Sub

Im geöffneten "frmAufgaben" tut sich gar nichts.

Was mache ich wieder mal falsch?

Gruss
mad

MzKlMu

#1
Hallo,
mir ist nicht ganz klar was Du da vorhast.
Warum ist das Kombi ungebunden ?
Und was hat es mit FindFirst auf sich ?
Normalerweise schreibt man mit der Auswahl eines Kombis den Frmdschlüssel in das Feld, dann muss das Kombi aber gebunden sein.
Und Klartext (NameP) in abhängige Tabellen zu schreiben ist ohnehin der falsche Weg.
Gruß Klaus

Beaker s.a.

@mad
Du musst die PID übergeben.
DoCmd.OpenForm FormName:="frmAufgaben", WhereCondition:="PID_F = " & Me.PID
(Wegen Luftcode mit benannten Parametern)
"PID_F" ist der Fremdschlüssel in tblAufgaben, und sollte in frmAufgaben in
einem (zusätzl.) gebunden Kombi (siehe Klaus' Post) hinterlegt sein.
Das ungebundene Kombi brauchst du dann nur noch, wenn du das Form
ohne Filter öffnest bzw. den gesetzten löscht.
gruss ekkehard

edit:
Ganz vergessen; - diese Zeile muss natürlich auch mit dem FK ausgeführt
werden. Dieser muss in der ersten (unsichtbaren) Spalte des Kombis
enthalten sein.
Me.Recordset.FindFirst "PID_F = " & Me.cboPersonal
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

mad

Hallo,

habe hoffentlich all eure Anmerkungen richtig in mein Formular "frmAufgaben" eingebaut, siehe Bild1.
Bei mir ist PID_F - PID_A.

Aber mit meinem Code für den Botton "btnAufgaben" funktioniert es noch nicht.
Private Sub btnAufgaben_Click()
    DoCmd.OpenForm FormName:="frmAufgaben", WhereCondition:="PID_A = " & Me.PID
    Me.Recordset.FindFirst "PID_A = " & Me!cboPersonal
End Sub

Bei mir kommt ein Parameterfenster und möchte eine Eingabe, siehe Bild2.
Danach kommt eine Laufzeitfehlermeldung "2465" - das er das Feld cboPersonal nicht finden kann.

Gruss
mad

DF6GL

Hallo,

Du wirfst die Formulare durcheinander.


In "frmAufgaben" gibt es nur "PID",

im darin eingebauten (Unter-)Formular dagegen schon, welches Du aber nicht öffnest (was bei einem UFO an dieser Stelle auch sinnlos wäre).
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

@mad
Bei einem UFo brauchst den Code überhaupt nicht. Das macht Access von ganz
alleine wenn du das UFo mit dem HFo über die PID/PID_A verknüpfst.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

mad

Danke erstmal.

Habe das HF und das Ufo über die PID/PID_A verknüpfst.
Und folgenden Code:
Private Sub btnAufgaben_Click()
    DoCmd.OpenForm FormName:="frmAufgaben", WhereCondition:="PID = " & Me.PID
End Sub

Paßt soweit.

Nun habe ich aber das Problem das jetzt mein Code zum suchen nicht mehr funktioniert:
Private Sub cboPersonal_AfterUpdate()
    Me.Recordset.FindFirst "PID = " & Me.cboPersonal
End Sub

Denn wenn ich nach einer weiteren Person suchen möchte, will ich nicht immer wieder in das Ursprungsformular zurück gehen müssen und wieder starten.

Wie könnte ich dieses Problem lösen?

mad

DF6GL

Hallo,

also ich versteh überhaupt nicht, was Du da machst und vorhast.... Lad mal die DB hier hoch, komprimiert/repariert, gezippt und evtl. datenreduziert.

Beschreib dann anhand der genauen Objektnamen was wann wo passieren soll.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mad

Hallo Zusammen,

lade jetzt mal zwei DBs hoch.
Die DB Muster1... ist mein aktueller Stand. Egal auf welchem Namen ich im Formular "Personalstammdaten" stehe und auf den Register "Aufgaben/FS" ich den Botton "Aufgabe/Funktionen neu/ändern" drücke, öffnen sich das Formular "frmAufgaben" immer mit dem ersten DS. Mit dem Kombifeld "cboPersonal" kann ich nach Namen suchen.

Die DB Muster2... soll die neue Variante werden. Jenachdem bei welchen Namen ich im Formular "Personalstammdaten" stehe, wird beim öffen des Formulars "frmAufgaben" im Register "Aufgaben/FS" der Name (DS) als Filter für das Formular "frmAufgaben" verwendet.
Wie gesagt funktioniert das soweit.
Aber das filtern über das Kombifeld "cboPersonal" sollte wie in Muster1... auch noch funktionieren.

Zu dieser Thematik bräuchte ich bitte Unterstützung.

Gruss
mad

DF6GL

Hallo,

1)  DB immer kompilieren. Fehler sind zu eliminieren.
2) Öffnen des Aufgabenform mit Übergabe der PID.
3) Suchen im gefilterten Aufgabenform ohne weitere Maßnahmen nicht möglich, da schon gefiltert.
4) Trick: Filterung aufheben bei "Eintritt" ins Kombifeld, dann ist ein anderer Name wählbar.
5) Andere Fehlerstellen habe ich nicht betrachtet.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mad

Vielen Dank,

das mit dem kompilieren werde ich im Nachgang noch bearbeiten.

Danke nochmals
mad

DF6GL

Hallo,

Zitatdas mit dem kompilieren werde ich im Nachgang noch bearbeiten.

Dieser Punkt steht bei mir nicht umsonst an erster Stelle...  8)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo,
Jau, bei mir liegen die Schaltflächen "Kompilieren von", "speichern" und
zurück zur Oberfläche direkt nebeneinander auf der Symbolleiste. Das sind
dann eingeschliffene Klicks nach jeder Codeänderung.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

mad

Hallo Zusammen,

habe euren Rat zum Thema "kompilieren" befolgt und meine DB bereinigt.
Aktuell habe ich keine Fehlermeldungen mehr.
Werde das zukünftig immer durchführen.

Danke nochmals für die Unterstützung.


Gruss
mad