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 parameter übergabe aus Kombinationsfeld

Begonnen von netghost, Mai 02, 2017, 10:47:02

⏪ vorheriges - nächstes ⏩

netghost

Hallo!

Ich komme schon wieder nicht weiter.

Ich habe ein Formular techniker, in der man den techniker auswählen kann. Nun soll das Formular standort geöffnet werden aufgrund dieser Auswahl - also der zugehörige Standort zum techniker

Diese sind über eine m:n Verknüpfung verbunden.

Ich habe eine Abfrage erstellt , aufgrund derer das Formular erstellt wird. Allerdings : wie sage ich Access, daß es genau den Datensatz öffnen soll, der verknüpft ist?

So zeigt er einfach alle DS an, die ein Ergebnis bei der Abfrage bringen.

Bringe ich das Abfragekriterium als Parameter beim Öffnen des nächsten Formulares an oder direkt in der Abfrage als Kriterium?

Select-Statement würde so aussehen
'"SELECT tbl_techniker.ID AS tbl_techniker_ID, tbl_techniker.Vorname, tbl_techniker.Nachname, tbl_techniker.Admin, tbl_standort.ID AS tbl_standort_ID, tbl_standort.Firmenbezeichnung, tbl_standort.Adresse, tbl_standort.PLZ, tbl_standort.Ort, tbl_tech_stand.tech_ID, tbl_tech_stand.stand_ID" FROM tbl_standort INNER JOIN (tbl_techniker INNER JOIN tbl_tech_stand ON tbl_techniker.[ID] = tbl_tech_stand.[tech_ID]) ON tbl_standort.[ID] = tbl_tech_stand.[stand_ID]"



DF6GL

Hallo,


geeigneter (vermutlich) für solche Aufgaben wäre eine HFO-UFO-Konstruktion mit HFO ("frm_Techniker") auf Basis der Tabelle "tbl_Techniker"  (bessere Benamsungen der Felder ("ID" --> "TechID") sind denkbar) und einem darin eingebauten UFO-Steuerelement, das das (Endlos-)Formular "frm_Standort" anzeigt.  Verknüpft über die UFO-Steuerelement-Eigenschaften "Verknüpfen von/nach" zeigt das UFO die zum jeweiligen Techniker zugehörenden Standorte ohne weiteres Zutun an.



ZitatBringe ich das Abfragekriterium als Parameter beim Öffnen des nächsten Formulares an oder direkt in der Abfrage als Kriterium?

Der Openform-Methode kann ein Filter-Kriterium (Where-Condition) mitgegeben werden, das genau dies erledigt (siehe auch VBA-Hilfe zu Openform).  Das wäre aber keine, so wie oben genannt , HFO/UFO-Konstruktion:


Docmd.Openform "frmStandort" ,,,"tbl_Techniker.ID = " & Me!tbl_Techniker.ID
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

netghost

Aha. Ich dachte an was einfaches wie die Variable zwischenspeichern und dann im anderen Formular auslesen - geht das nicht?

DF6GL

Hallo,


verstehe die Frage nicht.....

Was für eine Variable?
Und wieso "auslesen" ? 

Und wäre auch nicht zielführend.   

Formulare zeigen Datensätze aus Tabellen an, und zwar alle, die die Datenherkunft (Abfrage oder Tabelle) liefert.  Einschränkung der gelieferten Datensätze  erreicht man durch  Filterung (Kriterienangabe, Where-Condition) in der Abfrage selber oder durch Filterung des Formular-Recordsets (das sind die Datensätze, die das Formular von der Datenherkunft erhalten hat).



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,
Zitatan was einfaches wie die Variable zwischenspeichern und dann im anderen Formular auslesen - geht das nicht?
Natürlich geht das, aber du willst doch was Einfaches.
Und das hat Franz bereits beschrieben (s. #1, HFo/UFo).
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)

netghost

oke - also: frm_Techniker  als HFO und FRm_standort als UFO

und wie krieg ich Access dazu, daß es die Zwischentabelle erkennt? denn so kann ich die nciht verknüpfen, da ja im HFO die Tech_ID steht und im UFO die Stand_ID

wie krieg ich die Zwischentabelle da rein? Muß ich da noch ein UFO einfügen? Weil SO gehts nicht


netghost

Ah, doch nicht. So werden mir nämlich nicht alle DS angezeigt, die in der Zwischentabelle verknüpft sind

netghost

Also: ich sehe zwar den ersten DS der Tbl_Standort beim richtigen Techniker. Da der techniker aber zwei Standorte hat, wird das nciht korrekt angezeigt.
Er schaltet jetzt zwar die Techniker durch und jeweils EINEN Standort dazu - hab mir die Zwischentabelle eingeblendet als Kontrolle - da stehen die Daten Richtig drinnen, aber das UR Standort behauptet, der Techniker mit der ID  1 hat nur einen Standort.

Also, Wie krieg ich hin, daß die richtig angezeigt werden? Ich kann das nicht als UF verknüpfen, wenn da ne Zwischentabelle drinnen ist. weil ja die Schlüssel sonst nicht übereinstimmen.

MzKlMu

Hallo,
ich tue mir da gerade schwer mit dem Verstehen.
Zeige mal ein Bild des Beziehungsfensters auf dem man die relevanten Tabellen mit allen Feldern sieht.
Gruß Klaus

DF6GL

Hallo,

@netghost:

wir eiern hier im Nebel des Nichtverstehens herum.

Am Besten lädst Du DB hier mal hoch, vorher evtl. datenreduziert, repariert/komprimiert und gezippt.

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,
Zitatund FRm_standort als UFO
Und welche Tabelle/Abfrage ist da als Datenherkunft eingestellt?
Sollte die Zwischentabelle beinhalten! Dann siehst du auch alle Standorte
des Technikers.
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)

netghost

Hallo!

die tbl_techniker ist mit der tbl_Standort über die Zwischentabelle tbl_tech_stand verknüpft.

wenn ich nun einen neuen Standort zum techniker hinzufügen will, muß ich die Daten händisch in die Zwischentabelle eintragen.

Das muß doch über ein Formular auch automatisch gehen, oder?

netghost

sowas sollte doch eine Standardsache sein - Daten erfassen, daten wählen und die richtige Zwischentabelle damit befüllen

DF6GL

Hallo,

irgendwie kann ich mich erinnern,  die Lösung schon gepostet zu haben:   ::)

Zitatgeeigneter (vermutlich) für solche Aufgaben wäre eine HFO-UFO-Konstruktion mit HFO ("frm_Techniker") auf Basis der Tabelle "tbl_Techniker"  (bessere Benamsungen der Felder ("ID" --> "TechID") sind denkbar) und einem darin eingebauten UFO-Steuerelement, das das (Endlos-)Formular "frm_Standort" anzeigt.  Verknüpft über die UFO-Steuerelement-Eigenschaften "Verknüpfen von/nach" zeigt das UFO die zum jeweiligen Techniker zugehörenden Standorte ohne weiteres Zutun an.
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