Filter setzen nach neuem Eintrag in Kombinationsfeld

03/09/2007 - 12:56 von Tobias Trumpfheller | Report spam
Hallo, (Access 2003 und WinXP Prof)
ich habe in einem Kombifeld einen neuen Eintrag erzeugt, der diesen in die
zugrundeliegenden Tabelle schreibt und soll anschließend mit dem neuen
Eintrag einen Filter in einem Formular setzen. Code:

Private Sub FilterOptionen2_NotInList(NewData As String, Response As Integer)
'neuer Eintrag von Kombi in Tabelle schreiben
Response = acDataErrAdded
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tbl_Standorte", dbOpenDynaset)

rs.AddNew
rs!Standort = NewData
rs.Update

rs.Close: Set rs = Nothing
Set db = Nothing
'************** CODE ENDE **************
End Sub

Danach lasse ich einen Filter darauf laufen:

Private Sub FilterOptionen2_AfterUpdate()
If FilterOptionen2.ListIndex = 0 Then
Me.Filter = "Standort = 'Alle'"
Me.FilterOn = False
Me.FilterOptionen2.SetFocus
Else
If FilterOptionen2.ListIndex = 1 Then
Me.Filter = "Standort = 'Böblingen'"
Me.FilterOn = True
Else
If FilterOptionen2.ListIndex = 2 Then
Me.Filter = "Standort = 'Bocklemünd'"
Me.FilterOn = True
Else
Me.FilterOn = False

Me.AllowEdits = True
Inventarnummer.SetFocus
End Sub

Frage: Wie kann ich die Filteroptionen flexibler gestalten, wenn ich mehrere
Standorte habe und ohne explicit den ListIndex abzufragen? Ich habe mal dies
so probiert:

Dim cbo_Inhalt As Integer 'dies ist der akt. ListIndex
Dim cbo_Data As String ' ist der Wert hinter ListIndex also der Standort
in Text
cbo_Inhalt = Me.FilterOptionen2.ListIndex
cbo_Data = Me.FilterOptionen2.Text
If Me.FilterOptionen2.ListIndex = cbo_Inhalt Then
Me.Filter = "Standort = " & cbo_Data
Me.FilterOn = True
Else
Me.FilterOn = False
End If

Nachteil: Beim Eintrag eines neuen Standortes bekomme ich immer eine Frage
nach einem Parameter. Erst wenn ich den neuen Eintrag nochmals eingebe,
greift der Filter. Wie kann ich das verhindern?

Vielen Dank.

Gruss
T.Trumpfheller
 

Lesen sie die antworten

#1 Henry Habermacher
03/09/2007 - 13:21 | Warnen spam
Hallo Tobias

Tobias Trumpfheller wrote:
Me.Filter = "Standort = " & cbo_Data



Hier fehlen die Fliegenscheisserchen:
Me.Filter = "Standort = '" & cbo_Data & "'"

Gruss
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen