in einem Formular möchte ich den anzuzeigenden Datensatz aus einem
Kombinationsfeld auswählen, dass alle Datensätze enthält.
Wenn ich dazu ein Kombinationsfeld einfüge, bietet mir der Assistent
nur die ersten beiden Optionen ("Werte aus Tabelle/Abfrage" bzw.
"Werte selbst eingeben"), aber nicht die dritte: "Datensatz im
Formular basierend auf dem im Kombinationsfeld gewählten Wert suchen".
Was tun?
Gruss,
Thomas
Das Formular an eine Tabelle oder Abfrage binden, damit es
etwas zu durchsuchen gibt.
Sprich: In der Regel passiert das, wenn nichts in der Eigenschaft
"Datensatzherkunft" des Formulares steht.
--
Servus
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com + Anmeldung und Info zur
Access-Entwickler-Konferenz (AEK12), Oktober 2009, N�rnberg
"Datenherkunft" nat�rlich
Hallo Karl,
die Datenherkunft ist aber definiert: "SELECT CU_Liste.CU_ID"
Der Inhalt des Datenfeldes "CU_ID" soll im Kombi-Feld angezeigt
werden, dort wählbar sein und der gewählte DS der Tabelle "CU_Liste"
dann angezeigt werden, einschließlich der Daten in verschiedenen
UFo's.
Gruss,
Thomas
Das ist kein g�ltiges SQL-Statement.
Werden Datens�tze im Formular angezeigt oder nicht?
> Der Inhalt des Datenfeldes "CU_ID" soll im Kombi-Feld angezeigt
> werden, dort w�hlbar sein und der gew�hlte DS der Tabelle "CU_Liste"
> dann angezeigt werden, einschlie�lich der Daten in verschiedenen
> UFo's.
--
Datensätze werden angezeigt.
Der komplette Eintrag bei Datenherkunft lautet:
SELECT CU_Liste.CU_ID, CU_Liste.CU_Name, CU_Liste.Plant_ID, Sum
(BoQ_Kosten_Gesamt_Contraktor.Kosten) AS SummevonKosten, [Project-
Details].UAN, [Project-Details].Name, [Project-Details].Client,
[Project-Details].Type, [Project-Details].Location,
Vergleich_Cost_Main_Qty_Summe.SummevonMain_Qty_Eng_Cost,
Vergleich_Cost_Main_Qty_Summe.SummevonMain_Qty_BoQ_Cost,
BoQ_Kosten_Gesamt_CU.CU_Kosten FROM BoQ_Kosten_Gesamt_Contraktor,
[Project-Details], Vergleich_Cost_Main_Qty_Summe, Plant INNER JOIN
(CU_Liste INNER JOIN BoQ_Kosten_Gesamt_CU ON
CU_Liste.CU_ID=BoQ_Kosten_Gesamt_CU.CU_ID) ON
Plant.Plant_ID=CU_Liste.Plant_ID GROUP BY CU_Liste.CU_ID,
CU_Liste.CU_Name, CU_Liste.Plant_ID, [Project-Details].UAN, [Project-
Details].Name, [Project-Details].Client, [Project-Details].Type,
[Project-Details].Location,
Vergleich_Cost_Main_Qty_Summe.SummevonMain_Qty_Eng_Cost,
Vergleich_Cost_Main_Qty_Summe.SummevonMain_Qty_BoQ_Cost,
BoQ_Kosten_Gesamt_CU.CU_Kosten;
Hilft das oder ist es zu unübersichtlich?
Gruss,
Thomas
Ich musste es selbst erst probieren, weil ich die Assistenten
nie verwende:
Mit einem SQL-Statement als Datenherkunft gibt's die dritte
Option nicht.
Speichere das Statement als Abfrage ab, verwende die Abfrage
als Datenherkunft des Formulares und erzeuge damit das Kombi.
Danach kannst du das Formular wieder auf den SQL-Text umstellen,
wenn du willst.
Habe ich versucht, klappt aber nicht.
Aus dem SQL-Statement habe ich eine Abfrage erzeugt (mit "Speichern
unter", Typ "Abfrage"): Name: Test_Neue_Datenherkunft
Die Datenherkunft des Formulars lautet dann:
SELECT
Test_Neue_Datenherkunft.CU_ID,
Test_Neue_Datenherkunft.CU_Name,
Test_Neue_Datenherkunft.Plant_ID,
etc.
Trotzdem bietet mit Access immer noch nur die beiden ersten
Möglichkeiten an.
Wie machst Du es denn, wenn Du den Assistenten nicht benutzt?
Gruss,
Thomas
Der war gut.
Du hast also aus dem SQL-Text eine Abfrage erzeugt und dann
extra wieder einen SQL-Text auf diese Abfrage. :-)
Ich hingegen meinte:
Du sollst in der Eigenschaftenzeile "Datenherkunft" die Abfrage
aus dem Kombinationsfeld w�hlen oder halt zu Fu� den Namen
der Abfrage reinschreiben. Jedenfalls keinen SQL-Text.
> Wie machst Du es denn, wenn Du den Assistenten nicht benutzt?
Datensatz suchen
www.donkarl.com?FAQ4.4
Hallo Karl,
ich habe es im Rahmen meiner Möglichkeiten anders gelöst: ich habe ein
neues, simples Formular auf Basis der Abfrage erstellt, dann das
Kombinationsfeld eingefügt (der Assistent bot mir alle drei Optionen
an) und dann alle UFo's aus dem originären Formular hinein kopiert.
Vielleicht nicht der professionellste Weg, aber jetzt funktioniert es
auch.
Gruss,
Thomas