1.9k Aufrufe
Gefragt in Datenbanken von mamamia Mitglied (348 Punkte)
Hallo,

Ich muss eine Abfrage aus 3 verschiedenen Datenbanken erstellen. Mein Problem ist,
ich habe noch eine Excel-Tabelle - 1 Spalte mit ca. 160 Zeilen. Die Abfrage ist fertig, aber
nun benötige ich in der Abfrage eine Spalte:
Wenn ein Artikelname in der Abfrage( ca. 4000 Daten) mit einem der 160 Artikelnamen in der Excelspalte identisch ist sollte" ja" bzw. wenn nicht identisch sollte ein "nein" erscheinen.

Bsp:
Accessabfrage Excel
IXX2 Ja IXX2
IPP3 Nein IWPP
IXX2 Ja WPP3

Wie kann ich das abfragen?

Gruß
MamaMia

7 Antworten

0 Punkte
Beantwortet von lorf55 Mitglied (699 Punkte)
Hallo,
hast du schon mal eine Verknüpfung mit deiner Excel-Tabelle in Access versucht? Für deine 160 Zellen kannst du einen benannten Bereich zur besseren Übersicht festlegen.
Die verknüpfte Tabelle kannst du dann abfragen, als ob sie in Access importiert wäre. Allerdings kann es etwas länger dauern.

Gruß
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Logisch fortlaufend könnte ich es mir so vorstellen:

Importiere die gegenständliche Abfrage wie sie ist in die vorhandene Excel-Tabelle neben die Spalte mit den 160 Artikelnamen, füge daneben eine Spalte für die Formel ein, gib in die zweite Zeile dieser Spalte folgende Formel ein:

Beispiel:

=WENN(ISTNV(INDEX($D$2:$D$10000;VERGLEICH(D2;$A$2:$A$10000;0)));"nein";"ja")
Achtung Matrixformel:
Die geschwungenen Klammern müssen entfernt werden, anschließend mit STRG/SHIFT/ENTER gleichzeitig abschließen, erst dann runterkopieren bis?


Formelerklärung:
Die Spalte D in der Formel beinhaltet die Artikelnamen der importierten Abfrage (ca. 4000), die Spalte A beinhaltet die Artikelnamen (160 Zeilen) der Exceltabelle.
Die Zellbezüge müssen natürlich an die tatsächlich gegebenen Verhältnisse angepasst werden.

Nach Fertigstellung kann die Tabelle nach Access importiert werden (Abfragen erstellen etc…).


Gruß

Paul1
0 Punkte
Beantwortet von mamamia Mitglied (348 Punkte)
Hallo lorf55,

ich habe die Tabelle verknüpft, aber dann hatte ich wieder keine Lösung für die Abfrage.



Hallo Paul,

Deine Formel hat auf Anhieb geklappt.
Super, vielen Dank!

MamaMia
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Nachtrag:

ginge auch so, probiere:

=WENN(ISTNV((SVERWEIS(D2;$A$2:$A$10000;1;0)));"nein";"ja")
normal mit Enter eingeben und runterkopieren!

auch die vorherige Formel aus AW2 kann normal mit Enter eingegben werden.

Das habe ich mit einer anderen ähnlichen Formel verwechselt, sorry.

Gruß

Paul1
0 Punkte
Beantwortet von mamamia Mitglied (348 Punkte)
Hallo Paul,

vielen Dank für den Nachtrag, auch diese Formel funktioniert.

Habe ich in Access für diesen Vergleich keine Möglichkeit?

Viele Grüße
MamaMia
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Direkt in Access sehe ich keine taugliche Möglichkeit, da für diesen Vergleich ein ganzer Bereich (Matrix) abgefragt werden muß um daneben die Übereinstimmung "ja" oder "nein" ausgeben zu können.

Zum Glück gibt es dafür Excel!

Gruß

Paul1
0 Punkte
Beantwortet von lorf55 Mitglied (699 Punkte)
Also ich kann dir momentan nur eine Abfrage anbieten, die dir die nicht vorhandenen Artikel zeigt.
Die siehst du mit:
SELECT DISTINCT X.Artikel
FROM ArtTab, XLSTabelle AS X
WHERE NOT EXISTS ( SELECT Artikel FROM ArtTab WHERE (X.Artikel=ArtTab.Artikel) );

Und wenn du das NOT weglässt, siehst du alle vorhandenen.
...