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]"
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
Aha. Ich dachte an was einfaches wie die Variable zwischenspeichern und dann im anderen Formular auslesen - geht das nicht?
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).
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
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
Habs. Danke
Ah, doch nicht. So werden mir nämlich nicht alle DS angezeigt, die in der Zwischentabelle verknüpft sind
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.
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.
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.
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
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?
sowas sollte doch eine Standardsache sein - Daten erfassen, daten wählen und die richtige Zwischentabelle damit befüllen
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.
Anzeigen ja - aber befüllen nicht.
Ich kann da reinschreiben, was ich will, der Zwischentabelle ist das schnuppe
Hallo,
ZitatIch kann da reinschreiben, was ich will, der Zwischentabelle ist das schnuppe
dann hast Du was falsch gemacht.
Dein Vorhaben ist Standard und mit Hafo/Ufo sehr einfach zu lösen.
Beschreibe bitte mal genau was Du gemacht hast und welche Datenquellen für Hafo und Ufo verwendet werden.
Hallo,
auch schon vorgeschlagen:
ZitatAm Besten lädst Du DB hier mal hoch, vorher evtl. datenreduziert, repariert/komprimiert und gezippt
Anscheinend versteht Euch der Threadersteller nicht. :) Im Anhang mal ein Minimalbeispiel zum Ausbauen.