title image


Smiley Klopp die Sch... Parameterabfrage in die Tonne...
...und lege auf ein Hauptformular ein ungebundes Textfeld (hier: txtFilter), welches Deinen 'Parameter' aufnimmt. Des weiteren packst Du noch ein Bezeichnungsfeld drauf, wo beschrieben ist, was der User eingeben muss. Als Grundlage für das zu öffnende Formular nimmst Du eine Tabelle oder eine Abfrage (ohne Parameter).



Den 'Parameter' gibst Du dem Formular als Filterbedingung mit.

Jetzt brauchst Du ein bissel VBA - Code, den Du hinter die Öffnen - Schaltfläche für das 2. Form legst (das meißte ist Kommentar :-).





Private Sub cmdFormular2_Click()

Dim krit As String

On Error GoTo Err

If Not IsNull(Me!txtFilter) Then

'Nur wenn im txtFilter was drinsteht, den Filter zusammensetzen.

'Mit BuildCriteria einen gültigen Filter bauen

'Das Feld ID, Kunde oder Erstelldatum muss in der Zielabfrage/Tabelle

'vorhanden sein

krit = BuildCriteria("ID", dbLong, Me!txtFilter) 'Zahlenfeld long

'krit = BuildCriteria("Kunde", dbText, Me!txtFilter) 'Textfeld

'krit = BuildCriteria("Erstelldatum", dbDate, Me!txtFilter) 'Datumsfeld

'Msgbox Krit 'zum Testen Kommentarzeichen entfernen

End If

DoCmd.OpenForm "Formular2", , , krit

'Wenn krit = "" werden alle Datensätze angezeigt

Ex:

Exit Sub

Err:

MsgBox Err.Number & " " & Err.Description

Resume Ex

End Sub



In dem Feld txtFilter kannst Du nun all das eingeben, was unter Kriterien in einer Abfrage erlaubt ist, teste mal ein wenig herum.


Mit freundlichen Grüßen aus Wuppertal

Walter Grimm EasyPointer

MS Access 2000/XP, MS SQL Server 2005, Windows XP
C#.Net 2.0 - VS 2005 Std
Bitte immer Erfolgs- oder Misserfolgsmeldung abgeben
++ Emails und Dateianhänge bitte nur nach Absprache ++

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: