how to a pass a value to vba form filter (1 Viewer)

MilaK

Registered User.
Local time
Today, 03:03
Joined
Feb 9, 2015
Messages
285
Hello,

I'm trying to pass a value from a listbox to a filter used to filter a continuous form.

Code:
Dim ALKvalue As Long
 
 ALKvalue = Me.lstRanges.Column(5, 1)
 Debug.Print ALKvalue 'prints out 0.2

However, I get an error when I build the filter criteria with the following statement. "Access doesn't recognize ALKvalue as a fields."

Code:
If (Me.chk_ALK = True) Then

 Criteria = Criteria & "([ALK] >= ALKvalue) AND "
     
End If

However,


Code:
If (Me.chk_ALK = True) Then

 Criteria = Criteria & "([ALK] >= 0.2) AND "
     
End If

works fine.

What am I doing wrong?

Thanks,

Mila
 

Ranman256

Well-known member
Local time
Today, 06:03
Joined
Apr 9, 2015
Messages
4,339
I filter like this:

Code:
'----------------
sub btnFilter_click()
'----------------
dim sWhere as string 

sWhere = "1=1"
if not IsNUll(cboST) then sWhere = sWhere & " and [State]='" & cboST & "'"
if not IsNUll(cboCity) then sWhere = sWhere & " and [city]='" & cboCity & "'"
if not IsNUll(cboZip) then sWhere = sWhere & " and [ZipCode]='" & cboZip & "'"

If sWhere = "1=1" Then
  Me.FilterOn = False
Else
  Me.Filter = sWhere
  Me.FilterOn = True
End If
end sub
 

jdraw

Super Moderator
Staff member
Local time
Today, 06:03
Joined
Jan 23, 2006
Messages
15,379
In this example
Code:
If (Me.chk_ALK = True) Then

 Criteria = Criteria & "([ALK] >= ALKvalue) AND "
     
End If

This "([ALK] >= ALKvalue) AND " is all within quotes, and is considered a literal string.

You want the value of ALKvalue so would need something like

Code:
 "([ALK] >= " & ALKvalue & ") AND "
 

Users who are viewing this thread

Top Bottom