[Access97] Abfrage über wählbare Spalten

Hallo,

Wie kann ich in Access 97 eine Abfrage realisieren, bei der die zu durchsuchende Spalte vom Benutzer in einer Listbox ausgewählt wird (Benutzer legt z.B. in einem Formular fest, ob er Autor, Titel oder Stichwort nach einem Suchbegriff durchsuchen will)? …wenn möglich ohne VBA, da ich darin nicht bewandert bin, wenns aber nicht anders geht, ist mir auch eine solche Lösung willkommen.

Vielen Dank im Voraus,

Max

Das wirst Du ohne VBA nur mit viel Aufwand lösen können.
In VBA erstelltst Du eine Abfrage anhand der ausgewählten Felder, oder stellst die SQL direkt in Recordsource eines Formulars oder Berichtes.
z.B.: Me.Recordsource = „Select …“

pp

Hallo!

Wie kann ich in Access 97 eine Abfrage
realisieren, bei der die zu durchsuchende
Spalte vom Benutzer in einer Listbox
ausgewählt wird (Benutzer legt z.B. in
einem Formular fest, ob er Autor, Titel
oder Stichwort nach einem Suchbegriff
durchsuchen will)? …wenn möglich ohne
VBA, da ich darin nicht bewandert bin,
wenns aber nicht anders geht, ist mir
auch eine solche Lösung willkommen.

Ich habe mal ein Literaturverwaltungssystem geschrieben, daß genau die Funktionalität bietet, die Du suchst, allerdings in VB mit Zugriff auf eine Access-DB über ODBC.

Die Suche läuft folgendermaßen ab:

1.) Private Sub Form_Load()
’ Für jeden Suchkriterium ein Recordset öffnen
Set datSchlwort.Recordset = G_dbSuche.OpenRecordset( _
„SELECT DISTINCT tblLiteratur.Schluesselwort FROM tblLiteratur ORDER BY tblLiteratur.Schluesselwort;“)

2.) Ermittlung, welche Suchkriterien ausgewählt wurden, also welche DBCombobox „“

2.) Fehlerprüfung, auf evtl. falsch eingegebene Werte

4.) Erzeugung dynamischer SQL-Queries, je nachdem was ausgewählt wurde
Dim strQuery As String
’ Suchkriterium ist Schlagwort
If frmSuche.dbcSchlwort „“ Then
strQuery = „SELECT tblLiteratur.Titel, tblLiteratur.Nachname, tblLiteratur.Vorname, tblLiteratur.Ablageort, tblLiteratur.Ablageverzeichnis, tblLiteratur.Schluesselwort, tblLiteratur.Kategorie, tblLiteratur.Verlagname FROM tblLiteratur WHERE (((tblLiteratur.Schluesselwort)=“"" & frmSuche.dbcSchlwort.Text & „“"));"
End If

Set datErgebnis.Recordset = G_dbSuche.OpenRecordset(strQuery)

5.) Das Ergebnis wird in einem DBGrid angezeigt. Falls es sich um Dokumente in digitaler Form handelt, läßt sich das Dokument durch Klick öffnen, ansonsten wird der Ablageort angezeigt.

So etwas Ähnliches wie Du möchtest habe ich auch schon in Access realisiert, wobei ich die ausgewählten Werte einfach einem Report übergeben habe. Ich glaube aber nicht, daß sich das ohne VBA machen läßt.

Tanja