(30/06/2020, 12:42)feraz yazdı: Dosyayı ekleyin halledelim,açıklamada ekleyin
@feraz hocam donma ve kapanma olayını if şartı ile hallettim,
sizden Geçen ay, geçen yıl filtresi için yardım rica ediyorum.. Diğerlerini aynı yoldan giderek çözebilirim diye ümit ediyorum.
Çalışmada Başlama zamanını seçip "eşittir", "arasında" ,"geçen ay", bu ay gibi seçenekler var. Bunları seçtiğimde kayıtlar gelsin istiyorum.
ilk 4 şartı yaptım hocam, diğerleri için (pasif satırlar) birer örnek rica ediyorum.
Cevaplanmış sorulara taşındığı için sanırım dosya yükleyemiyorum..
Sub filtre()
Dim secim As String
Dim secim2 As String
Dim alan As String
On Error Resume Next
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 = Format(TextBox10.Value, "dd.mm.yyyy")
secim2 = Format(TextBox11.Value, "dd.mm.yyyy")
'..................Tarih Fitreleri.................................................
If ComboBox15.Value = "Eşittir" Then
rs.Open "select*from Ajandam WHERE fix([" & alan & "]) =" & CDbl(CDate(secim)) & "", baglan, 1, 1
ElseIf ComboBox15.Value = "Arasında" Then
rs.Open "select*from Ajandam WHERE fix([" & alan & "]) between " & Fix(CDbl(CDate(secim))) & " and " & Fix(CDbl(CDate(secim2))) & "", baglan, 1, 1
ElseIf ComboBox15.Value = "Önce" Then
rs.Open "select*from Ajandam WHERE fix([" & alan & "]) <= " & Fix(CDbl(CDate(secim))) & "", baglan, 1, 1
ElseIf ComboBox15.Value = "Sonra" Then
rs.Open "select*from Ajandam WHERE fix([" & alan & "]) >= " & Fix(CDbl(CDate(secim))) & "", baglan, 1, 1
'ElseIf ComboBox15.Value = "Geçen Ay" Then
'rs.Open "select*from Ajandam WHERE format(Month([" & alan & "])) = " & Format(CDbl(Date), "mm") - 1 & "", baglan, 1, 1
'End If
'ElseIf ComboBox15.Value = "Geçen Yıl" Then
'rs.Open "select*from Database WHERE Database.alan ='" & secim & "'", baglan, 1, 1
With ListView1
.ListItems.Clear
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
Set rs = Nothing
Set con = Nothing
End Sub