(01/07/2020, 17:42)feraz yazdı: Evet combo10 ve 11 boşsa ve like kullanmışım ondanmış.Biraz değiştirdim çalışıyor bence case ile daha kısa olur kod.
Sub filtre()
Dim alan As String
Set baglan = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
baglan.Open "provider=Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.Path & "\Database.accdb"
If ComboBox14.Value = "Baþlama Zamaný" Then
alan = "BaslamaZamani"
ElseIf ComboBox14.Value = "Bitiþ Zamaný" Then
alan = "BitisZamani"
ElseIf ComboBox14.Value = "Hatýrlatma Zamaný" Then
alan = "HatirlatmaZamani"
End If
secim = TextBox11.Value
secim1 = TextBox10.Value
Me.ListView1.ListItems.Clear
On Error GoTo son
Select Case ComboBox15.Value
Case "Eþittir": rs.Open "select * from Ajandam where fix(" & alan & ") = " & Fix(CDbl(CDate(secim1))) & "", baglan, 1, 1
Case "Arasýnda"
If TextBox10.Value = "" Or TextBox11.Value = "" Then GoTo son
rs.Open "select * from Ajandam where fix(" & alan & ") between " & Fix(CDbl(CDate(secim))) & " and " & Fix(CDbl(CDate(secim1))) & "", baglan, 1, 1
End Select
With ListView1
If rs.RecordCount > 0 Then
Do While Not rs.EOF
.ListItems.Add , , rs(0).Value & ""
For i = 1 To rs.Fields.Count - 1
.ListItems(.ListItems.Count).ListSubItems.Add , , rs(i).Value & ""
Next i
rs.MoveNext
Loop
End If
End With
son:
Set rs = Nothing
Set con = Nothing
End Sub
Hocam case ile devam edeyimde şu ay ve yıl konusunda da desteğinizi rica ediyorum.