Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access in zwei Tabellen nach Übereinstimmung suchen und ausgeben

Frage Microsoft Microsoft Office

Mitglied: cse

cse (Level 2) - Jetzt verbinden

08.08.2011 um 16:41 Uhr, 7052 Aufrufe, 9 Kommentare

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 ;)
Mitglied: cse
08.08.2011 um 16:56 Uhr
Über den Assistenten habe ich ich ein bissle probiert. da kommt dann folgende SQL Befehlskette:

select stock.referenz from Stock inner join bestellungen on (stock.härtegrad=bestellung.härtegrad) and (stock.dicke=bestellungen.dicke);

lustiger weise gibt er mir dann über 12.000 zeilen aus, obwohl die ein nur um die 5.000 und die andere nur 600 zeilen hat aus.
Bitte warten ..
Mitglied: mskf
08.08.2011 um 22:42 Uhr
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
Bitte warten ..
Mitglied: cse
09.08.2011 um 08:47 Uhr
hi mskf,

werde das gleich mal probieren.

also zum Verständnis:

Ich habe hier unseren Bestellbestand:

Bestellnummer, Härtegrad, Dicke, (vorgesehene) Referenz (interne Materialnummer; welche eventuell erst eingekauft werden muss)

unser Stock:

Härtegrad, Dicke, Referenz

Ich will nun prüfen ob eine im Lager vorhandene, keiner Bestellung vorgesehene Referenz auch passen könnte.

Sogesehen scheint deine Abfrage Sinn zu machen.
Bitte warten ..
Mitglied: cse
09.08.2011 um 09:02 Uhr
Ach so, am besten wäre wenn eine neue Spalte entsteht.

Also nicht anfügen an die bestehende Ref. Sondern eine neue Spalte "vorgeschlagen" in Bestellungen .
Bitte warten ..
Mitglied: cse
09.08.2011 um 09:10 Uhr
Sich ich habe mal deinen Befehl genommen.

sieht erst mal prima aus ;), danke dir.
du hattest ja einen einwand zu den bestellnummer, was meinst du mit "Bei doppelten ist dann Bestellungen.Bestellnummer im Spiel"?

grüße
Bitte warten ..
Mitglied: mskf
09.08.2011 um 18:24 Uhr
Hallo cse,
Du wolltest zuerst bei Übereinstimmung das Feld Bestellung.Refstock mit .Stock.Refernz füllen, schreibst dann aber bei doppelten das Feld Bestelnummer an. Das meinte ich mit "im Spiel".
Bitte warten ..
Mitglied: mskf
09.08.2011 um 18:29 Uhr
wenn Du die Informationen in ein anderes Feld eintragen möchtest, dann must Du es ggf. vorher durch Änderung der entspechen Tabelle durch hinzufügen schaffen und in meiner SQL-Anweisung ggf. anpassen.
Bitte warten ..
Mitglied: NetWolf
09.08.2011 um 23:19 Uhr
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)
Bitte warten ..
Mitglied: cse
10.08.2011 um 11:31 Uhr
Ah ok.

Naja die Lösung reicht mir so schon. beschaffe mir jetzt erstmal ein lehrbuch zu access ;)

vielen dank!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel: Wert aus mehreren Datein suchen und zugehörige Werte ausgeben (11)

Frage von RubyLissy zum Thema Microsoft Office ...

Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Microsoft Office
Automatischer Datenimport aus csv Datei in Access DB - Wo zu ändern? (2)

Frage von Mejestic12 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...