Supportnet / Forum / Datenbanken
Sucheergebnis an ein anderes Formular übergeben Access
Frage
Hallo
ich würde gerne wissen wie man bei Access XP eine Suchabfrage in einem Formular erstellt und deren Ergebnis dann in einem neuen Formularfenster angezeigt wird. Da ich noch nicht lange mit Access arbeite scheitere ich an diesem Versuch...auch goggeln hat noch nicht sehr viel gebracht. Danke für eure hilfe im vorraus
Antwort 1 von Teddy7
Du solltest Dir mal die Nordwind-Datenbank anschauen (wird mit Access ausgeliefert). Da stehen Beispiele drin.
Es gibt mehrere Möglichkeiten sowas zu realisieren.
Ich mache das immer so, daß ich ein "Selektions"Formular habe, auf dem ich ungebundene Felder habe und einen Befehlsbutton, der ein Endlosformular aufruft.
Beim Aufruf eines Formulars kann man Selektionskriterien mitgeben (wie eine where-klausel - nur ohne where). Diese Selektionskriterien wirken automatisch auf die Datenquelle des Endlosformulars und schränken die angezeigten Datensätze entsprechend ein.
Diese Art hat den Vorteil, daß man beim Füllen der Selektionskriterien aus den ungebundenen Feldern prüfen kann, welche Felder überhaupt gefüllt sind.
Das sieht dann etwa so aus:
´ Anzeige des Formulars "frmÜbersicht" und Filtern der Daten gemäß
´ Vorgabe im Formular "frmSelekt"
Dim suche As String
Dim suche1 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
Auswahl und SArtwahl sind die ungebundenen Felder auf dem Formular. Negriffe und Art sind die Feldnamen in der Datenquelle des Endlosformulars frmÜbersicht.
weitere interessante Infos findest Du hier: http://www.donkarl.com/ in der FAQ
Gruß
Teddy
Es gibt mehrere Möglichkeiten sowas zu realisieren.
Ich mache das immer so, daß ich ein "Selektions"Formular habe, auf dem ich ungebundene Felder habe und einen Befehlsbutton, der ein Endlosformular aufruft.
Beim Aufruf eines Formulars kann man Selektionskriterien mitgeben (wie eine where-klausel - nur ohne where). Diese Selektionskriterien wirken automatisch auf die Datenquelle des Endlosformulars und schränken die angezeigten Datensätze entsprechend ein.
Diese Art hat den Vorteil, daß man beim Füllen der Selektionskriterien aus den ungebundenen Feldern prüfen kann, welche Felder überhaupt gefüllt sind.
Das sieht dann etwa so aus:
´ Anzeige des Formulars "frmÜbersicht" und Filtern der Daten gemäß
´ Vorgabe im Formular "frmSelekt"
Dim suche As String
Dim suche1 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
Auswahl und SArtwahl sind die ungebundenen Felder auf dem Formular. Negriffe und Art sind die Feldnamen in der Datenquelle des Endlosformulars frmÜbersicht.
weitere interessante Infos findest Du hier: http://www.donkarl.com/ in der FAQ
Gruß
Teddy
Antwort 2 von Beelzebub
Ok danke erstmal...mal gucken ob ich das auch umsetzen kann, wenn nicht melde ich mich nochmal

