Supportnet / Forum / Datenbanken
Suchmaske
Frage
Hallo!
Ich habe da ein Problem mit Access... Ich soll eine umfangreichere Datenbank in kurzer Zeit erstellen und dabei soll diese Tabelle/Datenbank eine Suchmaske enthalten die jeder bedienen kann.
Darum meine Frage: Wie (wenn überhaupt) kann ich in Access ein kompfortables Suchformular erstellen? (Es muss sehr einfach zu bedienen sein!!!)
Es muss folgendes können:
Beispielsweise habe ich verschiedene Maschinentypen (A,B,C,...) in verschiedenen Ausführungen (a,b,c,...) und verschiedene Hersteller (1,2,3,...)
Ich muss so variabel sein, dass ich suchen kann nach beispielsweise:
einfach alle Maschinen Typ A
alle Maschinen A aber nur in der Ausführung b
oder aber alle Maschinen Typ A in der Ausführung c NUR von Hersteller 1
usw...
Und dann sollte er mir die so ausgewählten Maschinen in Form einer Tabelle ausgeben (da an jeder Maschine noch ein [ZENS] an anderen Daten in diversen anderen Spalten dran hängt)
Ist das machbar?
Ich dachte vielleicht an ein ausklappbares Menü, in dem man beispielsweise den Maschinentyp dann einfach auswählen kann. (A, B, oder C) -> und dann auf einen Button "Suchen" klicken.
Auch wichtig: dass ich Felder leer lassen kann und das dann einfach bedeutet ich will keine Einschränkung in dieser Kategorie.
Ich danke euch jetzt schon (tausend)mal!
Viele Grüße vom Bodensee
Zeroo
Antwort 1 von Nanuk
Nochmal hallo Zeroo,
ist natürlich machbar aber, wenn nicht einer hier im Forum den Stein der Weisen gefunden hat, nicht so ohne weiteres (in diesem Fall mit Modul).
Ansonsten wird es schwierig, auf leer gelassene Suchfelder zu reagieren.
Aber vielleicht hast Du Glück, dass jemand eine bessere Antwort weiß.
Gruß
Nanuk
ist natürlich machbar aber, wenn nicht einer hier im Forum den Stein der Weisen gefunden hat, nicht so ohne weiteres (in diesem Fall mit Modul).
Ansonsten wird es schwierig, auf leer gelassene Suchfelder zu reagieren.
Aber vielleicht hast Du Glück, dass jemand eine bessere Antwort weiß.
Gruß
Nanuk
Antwort 2 von Teddy
Das geht mit VBA-Programmierung.
Der Aufruf einer Endlosform mit den Treffern der Suche erfolgt über
Dim suche As String
Dim suche1 As String
Dim suche2 As String
Dim zusatz As String
suche = ""
zusatz = ""
suche1 = " "
If Auswahl <> " " Then
suche1 = "[Begriffe]='" + Auswahl + "'"
Else
suche1 = " "
End If
If suche1 <> " " Then
suche = suche1
zusatz = " and "
End If
If SArtwahl <> " " Then
suche1 = "[Art]='" + SArtwahl + "'"
Else
suche1 = " "
End If
If suche1 <> " " Then
suche = suche + zusatz + suche1
zusatz = " and "
End If
DoCmd.OpenForm "FrmÜbersicht", acNormal, , suche, acFormReadOnly
wobei Auswahl und SArtwahl die Selektionsfelder auf der Form sind.
Durch Mitgabe der Selektionskriterien in der Variable suche beim Aufruf der Endlosform wird die Datenquelle dieser Ergebnisform automatisch entsprechend eingeschränkt.
Gruß
Teddy
Der Aufruf einer Endlosform mit den Treffern der Suche erfolgt über
Dim suche As String
Dim suche1 As String
Dim suche2 As String
Dim zusatz As String
suche = ""
zusatz = ""
suche1 = " "
If Auswahl <> " " Then
suche1 = "[Begriffe]='" + Auswahl + "'"
Else
suche1 = " "
End If
If suche1 <> " " Then
suche = suche1
zusatz = " and "
End If
If SArtwahl <> " " Then
suche1 = "[Art]='" + SArtwahl + "'"
Else
suche1 = " "
End If
If suche1 <> " " Then
suche = suche + zusatz + suche1
zusatz = " and "
End If
DoCmd.OpenForm "FrmÜbersicht", acNormal, , suche, acFormReadOnly
wobei Auswahl und SArtwahl die Selektionsfelder auf der Form sind.
Durch Mitgabe der Selektionskriterien in der Variable suche beim Aufruf der Endlosform wird die Datenquelle dieser Ergebnisform automatisch entsprechend eingeschränkt.
Gruß
Teddy
Antwort 3 von Zeroo
Hmm ... ich kann mir nicht zufällig irgendwo eine solche Beispielmaske runterladen, damit ich ein Anhaltspunkt habe?
Ich danke euch beiden!
gute Nacht!
Zeroo
Ich danke euch beiden!
gute Nacht!
Zeroo
Antwort 4 von Armin
Hi,
ich habe einmal folgendes ausprobiert:
Auf einem Formular setze ich einen Button ("Suchen"), der den Formularfilter aufruft.
mit dem Formularfilter kann man die Dinge tun, die Du beschrieben hast.
Mit einer Menueleiste, die die entsprechenden Buttoms der Standardleiste enthält kann man dann die Kriterien sinnvoll eingeben.
ich schicke dir die beispiel db zu.
gruesse armin
ich habe einmal folgendes ausprobiert:
Auf einem Formular setze ich einen Button ("Suchen"), der den Formularfilter aufruft.
mit dem Formularfilter kann man die Dinge tun, die Du beschrieben hast.
Mit einer Menueleiste, die die entsprechenden Buttoms der Standardleiste enthält kann man dann die Kriterien sinnvoll eingeben.
ich schicke dir die beispiel db zu.
gruesse armin
Antwort 5 von Zeroo
Dankeschöön!
Ich habe jetzt tatsächlich ein Modell von dem was ich vorhabe zustandebekommen (sehr vereinfacht)... ich habe mehrere Kriterien um einen oder mehrere Artikel einzugrenzen und anzuzeigen. Hab nur ein Problem:
wenn ich in den beiden Auswahlfeldern meine Artikelkriterien aussuche und auf den Suchbutton klicke, macht er mir eine neue Tabelle auf und erneuert nicht die, die ich in das Formular implementiert habe...
Wie löse ich das?
hier mal n screenshot!
-> http://www.planet-moon.net/download/db1.JPG
und hier die Datei...
-> http://www.planet-moon.net/download/db1.mdb
Hey ihr seid klasse! So n goiles Supportforum gibt's nirgens sonst! Ihr seid meine ganz großen Helden ;)
Vielen Dank schon jetzt!
Gruß vom Bodensee!!!
Zeroo
Ich habe jetzt tatsächlich ein Modell von dem was ich vorhabe zustandebekommen (sehr vereinfacht)... ich habe mehrere Kriterien um einen oder mehrere Artikel einzugrenzen und anzuzeigen. Hab nur ein Problem:
wenn ich in den beiden Auswahlfeldern meine Artikelkriterien aussuche und auf den Suchbutton klicke, macht er mir eine neue Tabelle auf und erneuert nicht die, die ich in das Formular implementiert habe...
Wie löse ich das?
hier mal n screenshot!
-> http://www.planet-moon.net/download/db1.JPG
und hier die Datei...
-> http://www.planet-moon.net/download/db1.mdb
Hey ihr seid klasse! So n goiles Supportforum gibt's nirgens sonst! Ihr seid meine ganz großen Helden ;)
Vielen Dank schon jetzt!
Gruß vom Bodensee!!!
Zeroo
Antwort 6 von Zeroo
Hab's rausgefunden ... same way! :) ... war nur ein Schreibfehler drin!
Gruuuuß!
Gruuuuß!