Mehrere Tabellen in einer Datenbank durchsuchen

28/02/2009 - 14:42 von Betz Martin | Report spam
Hallo

Ich möchte mehrere Tabellen in meiner Datenbank nach einem Ausdruck
durchsuchen und bei einem Treffer das dazugehörende Formular öffnen. Das
Suchkriterium kann in mehreren Tabellen vorkommen und es sollte das zur
Tabelle gehörende Formular geöffnet werden.

Ich hatte für eine Tabelle mit diesen Zeilen erfolg:

Private Sub Formular_öffnen_Click()
On Error GoTo Err_Formular_öffnen_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Formular für Tabelle 1"

stLinkCriteria = "[Kennzeichen]=" & "'" & Me![Kennzeichen] & "'"
'Überprüfe Daten!
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Formular_öffnen_Click:
Exit Sub

Err_Formular_öffnen_Click:
MsgBox Err.Description
Resume Exit_Formular_öffnen_Click

End Sub

Wie stelle ich das an, damit ich mehrere Tabellen durchsuchen kann?
Ich verwende Access 2002!

Mit freundlichen Grüssen
Betz Martin
 

Lesen sie die antworten

#1 André Minhorst
28/02/2009 - 15:13 | Warnen spam
Hi,

Am Sat, 28 Feb 2009 14:42:02 +0100 schrieb Betz Martin:

Ich möchte mehrere Tabellen in meiner Datenbank nach einem Ausdruck
durchsuchen und bei einem Treffer das dazugehörende Formular öffnen. Das
Suchkriterium kann in mehreren Tabellen vorkommen und es sollte das zur
Tabelle gehörende Formular geöffnet werden.

Ich hatte für eine Tabelle mit diesen Zeilen erfolg:

Private Sub Formular_öffnen_Click()
On Error GoTo Err_Formular_öffnen_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Formular für Tabelle 1"

stLinkCriteria = "[Kennzeichen]=" & "'" & Me![Kennzeichen] & "'"
'Überprüfe Daten!
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Formular_öffnen_Click:
Exit Sub

Err_Formular_öffnen_Click:
MsgBox Err.Description
Resume Exit_Formular_öffnen_Click

End Sub

Wie stelle ich das an, damit ich mehrere Tabellen durchsuchen kann?
Ich verwende Access 2002!



mal die Vorgehensweise:

Erstelle eine Union-Abfrage, welche die Tabellen zusammenführt, in denen
gesucht werden soll und bringe darin auch ein Feld unter, das angibt, aus
welcher Tabelle das Ergebnis stammt:

SELECT ID, Artikel AS Suchfeld, 'tbl1' AS Tabellenname FROM tbl1
UNION
SELECT ID, Hersteller AS Suchfeld, 'tbl2' AS Tabellenname FROM tbl2
UNION
SELECT ID, Nachname AS Suchfeld, 'tbl3' AS Tabellenname FROM tbl3

Dies speicherst Du in einer Abfrage.

Die Abfrage kannst Du dann nach dem gewünschten Suchbegriff durchforsten:

SELECT * FROM Abfragename WHERE Suchfeld LIKE '*Ein Kessel Buntes*'

- Anzeigen der Ergebnisse in einem entsprechenden Steuerelement
(Listenfeld, Unterformular, ...)
- Beim Auswàhlen Herkunftstabelle abfragen und entsprechendes Formular für
den gefundenen Datensatz öffnen.

Ciao
André

http://www.access-entwicklerbuch.de
http://www.access-im-unternehmen.de

Ähnliche fragen