Schwierigere Suche und Ausgabe, wie mach ich das?

Hallo!

Ich bin noch etwas Access-Neuling und brauche Hilfe :wink:

Und zwar: ich möchte einen Datenbank, die aus mehreren Tabellen besteht, nach unterschiedlichen Begriffen durchsuchen die in den Tabellen vorkommen. Auch nach einem Teil der Begriffe, z.B. mit einem *-Operator. Die Suchbegriffe werden in verschiedenen Feldern eingetragen, bzw. sollen in den Feldern durch Dropdownlisten ausgesucht werden.
Wenn ein oder mehrere Datensätze gefunden wurden, sollen diese dann angezeigt werden.

Wie kann ich sowas realisieren? Bin dazu auch noch absoluter VB-Neuling, kann mich aber relativ gut in den Code einarbeiten.

Vielen Dank für Eure Hilfe!

Hallo,

wenn ich das richtig verstanden habe sollen also mehrere verschieden Suchkriterien auf eine Tabellenstuktur losgelassen werden.
Frage: Sind die versch. Tabellen so strukturiert, das man die ueber eine Abfrage kombinieren kann? Wenn ja, dann kann man sich in einer VBA-Routine eine SQL-Abfrage zusammenbauen und diese auf die Abfrage loslassen.
Ausgehend davon, das die Kriterien ueber Combos oder Editfelder festgelegt werden. Die Ausgabe der Treffer kann man dann z.B. einer Liste zuweisen, oder einem Formuar als Datasource setzten oder einer Abfrage als Datasource setzen…
z.B.:

Dim strSQL as String

strSQL = „Select * from MeineAbfrage WHERE "
if not isNull(Combo1) then
strSQL = strSQL & " FeldA like '*“ & Combo1 & „*’“
else
strSQL = strSQL & " FeldA like ‚*‘"
endif

if not isNull(Combo1) then
strSQL = strSQL & " AND FeldB like ‚*" & Combo2 & "*‘"
else
strSQL = strSQL & " AND FeldB like ‚*‘"
endif

’ usw usf

meineListe.RowSource = sqlString
meineListe.Requery

Hope this helps
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Vielen Dank für deine Antwort!

Ich versuch das mal zu beschreiben: Ich hab Hersteller A der Element 1 mit Eigenschaft 2 verkauft. Hersteller, Element und Eigenschaften sind als eigene Tabellen angelegt und mit Beziehungen zu einem Datensatz zusammengefasst.
Es gibt also verschiedene Hersteller mit unterschiedlichen Elementen die untereschiedliche Eigenschaften haben.

Ich möchte jetzt z.B. nach Eigenschaft 1 (also einen x-beliebigen Wert) und Eigenschaft 2 (ebenfalls x-beliebiger Wert) suchen. Die Suche soll mir dann alle Elemente ausgeben mit dem kompletten Datensatz die diesem Kriterium entsprechen (mit Hersteller und was sonst eingetragen ist).
Wenn ich nach Hersteller suche, soll er mir alle Elemente dieses Herstellers ausgeben.

Ich hoffe, das war jetzt verständlich :wink:

Könntest du mich vielleicht noch über die Unterschiede Editfeldern und Combos aufklären und was ich mit denen anstellen kann? Wie gesagt, bin absoluter Anfänger :frowning:

Gruß
schubi

Hallo,

wenn ich das richtig verstanden habe sollen also mehrere
verschieden Suchkriterien auf eine Tabellenstuktur losgelassen
werden.
Frage: Sind die versch. Tabellen so strukturiert, das man die
ueber eine Abfrage kombinieren kann? Wenn ja, dann kann man
sich in einer VBA-Routine eine SQL-Abfrage zusammenbauen und
diese auf die Abfrage loslassen.
Ausgehend davon, das die Kriterien ueber Combos oder
Editfelder festgelegt werden. Die Ausgabe der Treffer kann man
dann z.B. einer Liste zuweisen, oder einem Formuar als
Datasource setzten oder einer Abfrage als Datasource
setzen…
z.B.:

Dim strSQL as String

strSQL = „Select * from MeineAbfrage WHERE "
if not isNull(Combo1) then
strSQL = strSQL & " FeldA like '*“ & Combo1 & „*’“
else
strSQL = strSQL & " FeldA like ‚*‘"
endif

if not isNull(Combo1) then
strSQL = strSQL & " AND FeldB like ‚*" & Combo2 & "*‘"
else
strSQL = strSQL & " AND FeldB like ‚*‘"
endif

’ usw usf

meineListe.RowSource = sqlString
meineListe.Requery

Hope this helps
Peter

Nachtrag: Es sollte da ein Suchbutton hinkommen, mit dem man die Suche starten kann.

Hallo schubi,

Nachtrag: Es sollte da ein Suchbutton hinkommen, mit dem man
die Suche starten kann.

dir ist bekannt, das du die Suche auch über den Button in der Symbolleiste (Fernglas) nutzen kannst?

Grüße aus Schwerin
Wolfgang
(Netwolf)

Hallo,

ja genau so habe ich mir das vorgestellt, allerdings bleibt noch die Frage wie und wo die Ausgabe dargestellt werden soll.

Diese Problematik habe ich bisher meist so geloest, das ich in einem Formular die entsprechenden Felder(Comboboxen, Editfelder etc.) plaziert habe und darunter ein ListControl.

Nach der Eingabe der Suchoptionen wird dann mittels eines „Suchen“-Buttons die Liste mit dem Ergebnis angezeigt. Diese Liste wird mittels eines SQL-Statements versorgt, das man in der OnClick-Funktion des Buttons zusammenbastelt.(s.o.) Ueber einen Doppelklick in die Liste kann man dann den entsprechenden Datensatz fuer die Bearbeitung oeffnen, oder aber das SQL-Statement einem Bericht als RecordSource uebergeben fuer Listenausdrucke.

Wenn man das noch weiter treibt, kann man auch noch die Sortierung manipulieren bzw. die Suchktiterien mittels UND/ODER verknuepfen.

Wenn man das SQL-Statement ohne das „Select * from“ zusammenstellt kann man die Bedingungen auch direkt einem Formular beim Oeffnen als Parameter uebergeben.

Tschau
Peter

Nachtrag: Es sollte da ein Suchbutton hinkommen, mit dem man
die Suche starten kann.