(27/06/2020, 13:12)berduş yazdı: Bu haliyle hiç bir yerde kullanmayın bence)
Önceki sürümünde denemelerimde doğru sonuç vermişti ama çok şey değişti.
Kafamda tam oturtamadigim için kaba taslak bir kod, ama tam haliyle bu kod accessteki sorguda kullanılacak, siz excelden bu sorguyu çağiracaksiniz gerçi excel'in fonksiyonlu sorguyu çalıştırabileceğini varsayıyorum
Önce accesste halledebilirsem excele uyarlamaya calisiriz)
Hakkınız ödenmez hocam. Allah razı olsun. Bukonuda sizden gelecek cevabı beklicem hocam. Bende bu arada diğer eksikliklere devam edeceğim de yine sormak istediğim bir konu var.. Aynı çalışma içinde filtreleme yapmak istediğimde;
sorgu içindeki Tablo alan adlarını ve "eşit", "eşit değil", "arasında" gibi değerleri değişken tanımlayabilir miyiz?
Aşağıdaki örnek için ; alan = secim değişken atanabilir mi?
Ajandam.alan ='" & secim & "'"
Sub filtre()
Dim secim As String
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.Text
'..................Tarih Fitreleri.................................................
If ComboBox15.Value = "Eşittir" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Arasında" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Önce" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Sonra" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Geçen Ay" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Bu Ay" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Gelecek Ay" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Geçen Yıl" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Bu Yıl" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Gelecek Yıl" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
'..................Metin Fitreleri.................................................
ElseIf ComboBox15.Value = "Eşittir" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "Eşit Değil" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "İle Başlar" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "İle Biter" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
ElseIf ComboBox15.Value = "İçerir" Then
rs.Open "select*from Ajandam WHERE Ajandam.alan ='" & secim & "'", baglan, 1, 1
End If
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