på min ubundne kombinationsboks årstal er min rækkekildetype:værdiliste
og rækkekilden er:2000;2001;2002;2003;2004;2005;2006;2007;2008;2009;2010
ligeledes er rækkekilden:1;January;2;February;3;March;4;April;5;May;6;June;7;July;8;August;9;September;10;October;11;November;12;December; på den ubundne
kombinations måned.
Jeg har en ok knap, og en nulstil.
min søgeformular har en gruppeboks hvor jeg har mulighed for en kombineret søgning , og måned/år efter den største fisk.
Når jeg sætter et hak ved måned/år så kan jeg selfølig vælge et årstal, eller en måned for at få oplyst den største fisk fanget ud fra et af disse valg.
Det er ud fra forspørgelser at jeg får resultatet i min underformular.
her er thomas jeppesens kode som er ændret lidt så den også virker med måned og årstal.
Dim SQLStr As String
Dim Ctrl As Control
For Each Ctrl In Screen.ActiveForm
Select Case Ctrl.Tag
Case "Tekst"
If Ctrl <> "" Then
SQLStr = SQLStr & "[" & Mid(Ctrl.Name, 4) & "] = '" & Ctrl & "' And "
End If
Case "Fritekst"
If Ctrl <> "" Then
SQLStr = SQLStr & "[" & Mid(Ctrl.Name, 4) & "] Like '*" & Replace(Ctrl, "'", "?") & "*' And "
End If
Case "Tal"
If Ctrl <> "" Or Not IsNull(Ctrl) Then
SQLStr = SQLStr & "[" & Mid(Ctrl.Name, 4) & "] = " & Ctrl & " And "
End If
Case "Dato"
If Ctrl <> "" Or Not IsNull(Ctrl) Then
SQLStr = SQLStr & "[" & Mid(Ctrl.Name, 4) & "] = #" & Format(Ctrl, "yyyy-mm-dd") & "# And "
End If
End Select
Next Ctrl
If SQLStr <> "" Then
SQLStr = Left(SQLStr, Len(SQLStr) - 5)
End If
GetFilter = SQLStr
End Function
Public Function AktiverFilter(F As Form)
'***********************************************************************************************
' Denne kode er udviklet af Thomas Jepsen, 2000
' Dele eller hele koden må frit benyttes i applikationer, så længe kildeangivelse er bevaret
' Besøg
www.makeiteasy.dk eller skriv til tj@makeiteasy.dk,
' hvis der opstår fejl eller spørgsmål, eller du har brug for yderligere assistance
'***********************************************************************************************
Dim SQLStr As String
SQLStr = GetFilter
If Len(SQLStr) = 0 Then
F.FilterOn = False
Else
F.filter = SQLStr
F.FilterOn = True
End If
End Function
Her er koden ved klik på ok knappen.
Private Sub Kommandoknap3_Click()
Dim year As Variant, Month As Variant
Select Case Me.fmSearchType
Case 1
Me.frmSøgningSub.Form.RecordSource = "FSP fangster"
Case 2
year = Me.cboÅr
Month = Me.cboMåned
Kommandoknap4_Click
Me.cboÅr = year
Me.cboMåned = Month
Me.frmSøgningSub.Form.RecordSource = "FSP Largest Fish"
End Select
Me.frmSøgningSub.Visible = True
AktiverFilter (Form!frmSøgningSub.Form)
GetAntal
Nustil knappen.
Private Sub Kommandoknap4_Click()
Dim Ctrl As Control
For Each Ctrl In Me
If Ctrl.Name = "txtTotal" Or Ctrl.Name = "txtAntal" Then
'Do nothing
Else
If Ctrl.ControlType = acTextBox Then Ctrl = Null
If Ctrl.ControlType = acComboBox Then Ctrl = Null
End If
Next Ctrl
Me.frmSøgningSub.Visible = False
GetAntal
End Sub
Egenskaber i selve søgeformularen.
Private Sub Form_Open(Cancel As Integer)
Dim i As Integer
'Me.frmSøgningSub.Form.RecordSource = "FSP fangster"
Me.cboMåned.RowSource = ""
For i = 1 To 12
Me.cboMåned.RowSource = Me.cboMåned.RowSource & i & ";" & MonthName(i) & ";"
Next i
End Sub