Skip to main content

AccessTr.neT


Access Sorgusunda Alan Adı Değişkeni

Access Sorgusunda Alan Adı Değişkeni

#25
(30/06/2020, 21:25)kanakan52 yazdı:
(30/06/2020, 21:22)feraz yazdı: Son verdiğim kodlardaki Date ye -1 eklenince belki önceki ayın ilk ve son günlerini bulur tarih olarak.


hocam biraz kafa yorucam, seni daha fazla yormim içinden çıkabilirim diye ümit ediyorum. Olmazsa artık yine @feraz hocam diye haykırırım Img-grin
Zor değil abey,zaten gerekli tüm kodları verdim Img-grin

Ayrıca eklediğim dosyadaki select case koduna ekleme yaparak ilerleyebilirsiniz diğer şartlar için ben örnek olarak arasında  ve eşittir olarak yaptım.Birde filtrelemeyi bir button(düğme) ile yaparsaniz boşuna exceli yormamış olursunuz.Elimizden geleni yaparız takıldığınız yerde.
Cevapla
#26
(30/06/2020, 21:32)feraz yazdı:
(30/06/2020, 21:25)kanakan52 yazdı:
(30/06/2020, 21:22)feraz yazdı: Son verdiğim kodlardaki Date ye -1 eklenince belki önceki ayın ilk ve son günlerini bulur tarih olarak.


hocam biraz kafa yorucam, seni daha fazla yormim içinden çıkabilirim diye ümit ediyorum. Olmazsa artık yine @feraz hocam diye haykırırım Img-grin
Zor değil abey,zaten gerekli tüm kodları verdim Img-grin

Ayrıca eklediğim dosyadaki select case koduna ekleme yaparak ilerleyebilirsiniz diğer şartlar için ben örnek olarak arasında  ve eşittir olarak yaptım.Birde filtrelemeyi bir button(düğme) ile yaparsaniz boşuna exceli yormamış olursunuz.Elimizden geleni yaparız takıldığınız yerde.


Cansın Zafer Hocam Allah razı olsun.. Bu kardeşiin ne sorduysa erinmeden cevap verdin vallahi. Emeğin çok. Hakkın ödenmez.
Cevapla
#27
@feraz hocaaaaam Img-grin sizin case ile yaptığınız çalışmadaki eşittir şartı çalışmıyor, ne yaptıysam olmadı, dolayısı ile elseifle devam edeyim dedim. Onda da "Geçen Ay" kriterini geçemedim. Müsait olduğunuzda yine destek rica edeceğim.
Cevapla
#28
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.

[Resim: test44efbc7c6e6a648b.gif]

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
.rar Ajanda 3.rar (Dosya Boyutu: 1,94 MB | İndirme Sayısı: 0)
Cevapla
#29
(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.

[Resim: test44efbc7c6e6a648b.gif]

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.
Cevapla
#30
Dim ayBas As Date, aySon As Date değişkenlerini tanımladım.

filtre kodunada alttakilerini ekledim.
ayBas = DateSerial(Year(Date), Month(Date - 1), 1)
aySon = DateSerial(Year(Date), Month(Date - 1) + 1, 0)


select case yede ekledim ve Combobox10 ada fitre yazdım.Yani combo10dan geçen ay seçilirse listelenir.

Case "Geçen Ay": rs.Open "select * from Ajandam where fix(" & alan & ") between  " & Fix(CDbl(CDate(ayBas))) & " and " & Fix(CDbl(CDate(aySon))) & "", baglan, 1, 1

[Resim: do.php?img=10402]
.rar Ajanda 3.rar (Dosya Boyutu: 1,94 MB | İndirme Sayısı: 4)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task