Hi Jon
You need to alter the recordsource for your form after each change in 3 variables. i.e.:
Function Vis_FakturaTotaler(FraNr, TilNr, KundeNr, IntRef, FraDato, TilDato)
Dim MySql As String, MyCriteria As String, MyRecordSource As String
Dim ArgCount As Integer
Dim Tmp As Variant
On Error GoTo Err_Vis_Fakturatotaler
MySql = "SELECT DISTINCTROW Sum(FakLog.IaltVal) AS S_IALT, Sum(FakLog.KostPr) AS S_KostPr FROM FakLog WHERE "
ArgCount = 0
AddToWhere "'" & Forms!ekspedition!FirmaID & "'", "[Faklog].[FirmaID]", MyCriteria, ArgCount, "="
If Not IsNull(FraNr) Then AddToWhere FraNr, "FakLog.FaktNr", MyCriteria, ArgCount, ">="
If Not IsNull(TilNr) Then AddToWhere TilNr, "FakLog.FaktNr", MyCriteria, ArgCount, "<="
If Not IsNull(FraDato) Then AddToWhere "#" & Format(FraDato, "mm-dd-yyyy"

& "#", "Faklog.Dato", MyCriteria, ArgCount, ">="
If Not IsNull(TilDato) Then AddToWhere "#" & Format(TilDato, "mm-dd-yyyy"

& "#", "Faklog.Dato", MyCriteria, ArgCount, "<="
AddToWhere KundeNr, "Faklog.KundeID", MyCriteria, ArgCount, "Like"
AddToWhere IntRef, "Faklog.IntRef", MyCriteria, ArgCount, "Like"
If MyCriteria = "" Then
MyCriteria = "True"
End If
MyRecordSource = MySql & MyCriteria
Forms!Fakturatotaler.RecordSource = MyRecordSource
End Function
Sub AddToWhere(Field_Value As Variant, FieldName As String, MyCriteria As String, ArgCount As Integer, Argument As String)
Dim ChrStr
If IsNull(Field_Value) Then Exit Sub
If Field_Value = "" Then Exit Sub
ChrStr = Left(Field_Value, 1)
If (ChrStr = "'"

Or (ChrStr = "#"

Then
If Len(Field_Value) < 3 Then Exit Sub
End If
If Field_Value <> "" Then
If ArgCount > 0 Then
MyCriteria = MyCriteria & " and "
End If
If Argument = "Like" Then
MyCriteria = (MyCriteria & FieldName & " Like " & Chr(39) & Field_Value & Chr(42) & Chr(39))
Else
MyCriteria = (MyCriteria & FieldName & " " & Argument & " " & Field_Value)
End If
ArgCount = ArgCount + 1
End If
End Sub