Access in zwei Tabellen nach Übereinstimmung suchen und ausgeben
Access in zwei Tabellen nach Übereinstimmung suchen und ausgeben.
Frage von Access-Noob.
Hi,
ich habe hier vor mir zwei Tabellen:
Tabelle: Stock
Spalten: Referenz; Härtegrad; Dicke;
Tabelle: Bestellungen
Spalten: Härtegrad; Dicke; Bestellnummer; Refstock
Ich möchte nun folgendes (da in Excel nicht realisierbar):
Die Abfrage in Access soll Härtgrad und Dicke beider Tabellen überprüfen, sobald beide in beiden übereinstimmen soll er in die Spalte Refstock in "Bestellungen" anfügen, mit der entsprechenden Referenz aus "Stock"; gibt es mehrere so soll er die Bestellnummern durch Komma trennen.
Ich krieg das beim besten willen nicht hin, da noob.
Ich denke für den ein oder anderen ist das nur ein Hüsteln ;)
Frage von Access-Noob.
Hi,
ich habe hier vor mir zwei Tabellen:
Tabelle: Stock
Spalten: Referenz; Härtegrad; Dicke;
Tabelle: Bestellungen
Spalten: Härtegrad; Dicke; Bestellnummer; Refstock
Ich möchte nun folgendes (da in Excel nicht realisierbar):
Die Abfrage in Access soll Härtgrad und Dicke beider Tabellen überprüfen, sobald beide in beiden übereinstimmen soll er in die Spalte Refstock in "Bestellungen" anfügen, mit der entsprechenden Referenz aus "Stock"; gibt es mehrere so soll er die Bestellnummern durch Komma trennen.
Ich krieg das beim besten willen nicht hin, da noob.
Ich denke für den ein oder anderen ist das nur ein Hüsteln ;)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171125
Url: https://administrator.de/contentid/171125
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo cse,
Deine definition welche Info wann wo benutzt werden soll ist für mich nicht ersichtlich.
Meinst Du mit anfügen das .Bestellung.Refstock mit .Stock.Refernz gefüllt werden soll?
Bei doppelten ist dann Bestellungen.Bestellnummer im Spiel
UPDATE Bestellungen INNER JOIN Stock ON (Bestellungen.Härtegrad = Stock.Härtegrad) AND (Bestellungen.Dicke = Stock.Dicke) SET Bestellungen.Refstock = [Refstock] & IIf(IsNull([Refstock]),"",", ") & [Referenz];
Diese SQL-Anweisgung vergleicht die beiden Felder jeweils miteinander, bei Übereinstimmung BEIDER Inhalte wird das Feld Bestellung.Refstock mit sich selbst + Komma + Stock.Refstock gefüllt.
Die Bedingung [ iif(isnull(.. ] stellt sicher, dass bei der ersten Übereinstimmung kein Komma gesetzt wird, sonst würdest Du z.B. ", xyz" bekommen
MfG MSKF
Deine definition welche Info wann wo benutzt werden soll ist für mich nicht ersichtlich.
Meinst Du mit anfügen das .Bestellung.Refstock mit .Stock.Refernz gefüllt werden soll?
Bei doppelten ist dann Bestellungen.Bestellnummer im Spiel
UPDATE Bestellungen INNER JOIN Stock ON (Bestellungen.Härtegrad = Stock.Härtegrad) AND (Bestellungen.Dicke = Stock.Dicke) SET Bestellungen.Refstock = [Refstock] & IIf(IsNull([Refstock]),"",", ") & [Referenz];
Diese SQL-Anweisgung vergleicht die beiden Felder jeweils miteinander, bei Übereinstimmung BEIDER Inhalte wird das Feld Bestellung.Refstock mit sich selbst + Komma + Stock.Refstock gefüllt.
Die Bedingung [ iif(isnull(.. ] stellt sicher, dass bei der ersten Übereinstimmung kein Komma gesetzt wird, sonst würdest Du z.B. ", xyz" bekommen
MfG MSKF
Moin Moin,
logisch, mit dieser Abfrage werden alle möglichen Kombinationen der Dicke und des Härtegrades im Verhältnis zur Bestellnummer angezeigt.
D.h. gibt es zur Dicke 100 und zum Härtegrad 5 mehrere Bestellnummern z.B. 12, werden statt einer "Zeile" dann 12 "Zeilen" (Datensätze) angezeigt.
Deine Idee mit dem extra Feld sehe ich als kontraproduktiv an, da du auch eine Aktualisierung berücksichtigen musst, wenn sich was ändert.
Mein Vorschlag ist ein Formular mit Unterformular.
das Hauptformular hat als Datenquelle die Tabelle Bestellungen
das Unterformular hat als Datenquelle die Tabelle Stock
Beide Formulare werden über die Felder Dicke und Härte miteinander verknüpft.
Wenn du nun eine Bestellung auswählst, wird automatisch der/die Wert/e aus Stock angezeigt (immer aktuell ohne zusätzlichen Code).
Grüße aus Rostock
Wolfgang
(Netwolf)
logisch, mit dieser Abfrage werden alle möglichen Kombinationen der Dicke und des Härtegrades im Verhältnis zur Bestellnummer angezeigt.
D.h. gibt es zur Dicke 100 und zum Härtegrad 5 mehrere Bestellnummern z.B. 12, werden statt einer "Zeile" dann 12 "Zeilen" (Datensätze) angezeigt.
Deine Idee mit dem extra Feld sehe ich als kontraproduktiv an, da du auch eine Aktualisierung berücksichtigen musst, wenn sich was ändert.
Mein Vorschlag ist ein Formular mit Unterformular.
das Hauptformular hat als Datenquelle die Tabelle Bestellungen
das Unterformular hat als Datenquelle die Tabelle Stock
Beide Formulare werden über die Felder Dicke und Härte miteinander verknüpft.
Wenn du nun eine Bestellung auswählst, wird automatisch der/die Wert/e aus Stock angezeigt (immer aktuell ohne zusätzlichen Code).
Grüße aus Rostock
Wolfgang
(Netwolf)