Hi liebe Forumsmitglieder,
vorweg: ich bin kein Accessprofi und will auch keiner mehr werden. Mein Fachgebiet sind die Adobe Produkte Photoshop und Lightroom. Dazu kann ich was sagen. Ich würde mich daher sehr freuen, wenn ein Kundiger mir in diesem Fall problemorientierte Hilfe geben könnte, ohne dass ich dazu alle Hintergründe des Programms komplett verstehen muss.
Folgende Ausgangssituation:
Ich habe ca. 100 Exceldateien, die jeweils ein Tabellenblatt mit dem gleichen Spaltenaufbau beinhaltet.
Ziel ist, dass ich mit Hilfe von Access alle Excel-Dateien/Tabellenblätter nach einem Stichwort durchsuchen lassen kann und mir die Ergebnisse in Access aufgelistet dargestellt werden. Während als Ergebnis gerne die komplette Zeile mit allen Spalten angezeigt werden kann, soll sich die Suche nur auf 1 bestimmte Spalte mit dem Namen "Description" beziehen.
Vielen Dank für's lesen und ich hoffe, ihr wisst Rat?
Liebe Grüße
Mayday
Hallo,
Dazu musst du die Exceltabellen eigentlich nur in Access verknüpfen ->
Externe Daten - Excel - 3. Option im ersten Assi-Fenster.
Dann kannst du die Tabellen wie Accesstabellen durchsuchen.
Wenn sich die Exceltabellen nicht mehr ändern (einmalige Aktion)
könnte es allerdings auch Sinn machen, die Tabellen in eine Tabelle
zu importieren; - 2. Option im Assi. Die musst du dann aber im
Voraus erstellen mit der passenden Struktur (Felder).
gruss ekkehard
100 Dateien heißt 100 Verknüpfungen und 100 Einzelabfragen pro gesuchten Begriff. Da müsste man sicher eine Schleife programmieren.
Effizienter dürfte es sein, wenn man die Inhalte in einem Tabellenblatt zusammenfasst, so dass man nur eine Tabelle zum Filtern hat.
Nebenbei sollte so das Filtern auch unmittelbar in Excel selber einfach lösbar sein.
Guten Abend!
Besten Dank für die schnellen Antworten. Wie ich die Excel Tabellen importiere habe ich verstanden.
Doch wie und wo genau stelle ich die Suchabfrage ein, so dass sich ein Suchbegriff nur auf die Spalte "Description" bezieht und dann alle entsprechenden Zeilen komplett aus der/den ganzen Tabellenblättern aufgelistet werden?
Gruß
Mayday
Hallo,
Hast du über Eberhards Vorschlag nachgedacht?
Erstelle ein Formular mit der Datensatzherkunft
SELECT * FROM DeineTabelle"
Auf dem Formular erstellst du ein Textfeld zum Suchen.
Das Ereignis "Nach Aktualisierung" (AfterUpdate) behandelst du wie folgt
Me.Filter = "Description LIKE '*" & Me!DeinSuchfeld.Value & "*'"
Me.FilterOn = True
Wenn du aber immer noch 100 Tabellen hast würde ich das Form erstmal
mit einem leeren Recordset öffnen, und die Tabellen in einer Schleife der
Reihe nach durchsuchen. Die gefundene DS vielleicht in einer temporären
Tabelle mit gleicher Struktur speichern und dann diese im Formular anzeigen.
gruss ekkehard