Datenbank Tabelle durchsuchen

gnomhawaii

Grünschnabel
Hallo,

kennt irgendjemand eine Möglichkeit eine komplette Access Tabelle nach einem x-beliebigen Wert, der mehrmals in Zeilen oder Spalten vorkommt, zu durchsuchen und sich die Daten dann anzeigen zu lassen, ohne dass man extra für jede Spalte einen Befehl erzeugen muss?

Beispiel

Spalten 1 2 3 4 5 6 7 8
Daten A B C A H G F A
B A D F G A C D
A C A I F C X Y

Der Wert A soll angezeigt werden....

Bisher habe ich folgende Code der mir aber immer nur einen Wert pro Spalte angibt...

Set RS = New ADODB.Recordset
findstr = "A"
SQL = "SELECT * FROM XXX"
RS.Open SQL, DB, adOpenDynamic, adLockOptimistic
For I = 0 To RS.Fields.Count - 1
If RS.Fields(I).Type = adVarWChar Then
RS.MoveFirst
RS.Find "[" & RS.Fields(I).Name & "] = '" & FindStr & "'", , adSearchForward, 0
If Not RS.EOF Then
MsgBox "Habe den Suchbegriff: " & FindStr & " in der Spalte: " &RS.Fields(I).Name & " gefunden."
End If
End If
Next
RS.Close
Set RS = Nothing

Ich hoffe es kann mir jemand helfen.

Gruß

Gnomhawaii
 
Dein Problem ist, bisher durchsuchst du immer nur den 1. Datensatz deiner Tabelle in jeder Spalte.

Du musst aber auch jeden Datensatz durchsuchen.
Das heißt du musst um deine For-Schleife herum nochmal eine For-Schleife bauen die jeden Datensatz durchläuft. (Geht auch mit einer Do - Loop aber mit der For hast du das System wohl schon begriffen)

Du brauchst also im Endeffekt den Befehl RS.RecordCount und anstatt RS.Movefirst musst du RS.MoveNext verwenden.

Ansonsten glaube ich ist dein Denkansatz gar nicht so schlecht!

Viel Spaß beim tüfteln.
 
Zurück