Sql Sorguda Tarih tür uyuşmazlığı hk.

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Ekli dosyada Tarih sorgulamasını bir türlü yapamadım,
bir çok yol denedim ama; bir türlü sonuca ulaşamadım.

teşekkürler,
iyi akşamlar.

Kod:
Dim Con As Object
Sub Test()
Dim tarih As Date
Baglan

tarih = CDate(Sayfa1.Range("A2"))

a = sorguTarih(tarih)

MsgBox a

End Sub
Kod:
Sub Baglan()
Dim yol As String

Set Con = VBA.CreateObject("adodb.Connection")
yol = ThisWorkbook.FullName

Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";extended properties=""Excel 12.0;hdr=yes"""

End Sub
Kod:
Function sorguTarih(tarih As Date)
Dim RS As Object

sorgu = "Select * From [Data$] Where [Tarih] = " & CLng(tarih)

Set RS = Con.Execute(sorgu)

a = RS.RecordCount

sorguTarih = a

End Function
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
Dim Con As Object
'
Sub Test()
    Dim tarih As Double
    Baglan
    
    tarih = CDate(Sayfa1.Range("A2"))
    a = sorguTarih(tarih)
    
    MsgBox a
End Sub
'
Sub Baglan()
    Dim yol As String
    
    Set Con = VBA.CreateObject("adodb.Connection")
    yol = ThisWorkbook.FullName
    
    Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    yol & ";extended properties=""Excel 12.0;hdr=yes"""
End Sub
'
Function sorguTarih(tarih As Double)
    Dim RS As Object
    
    sorgu = "Select * From [Data$] Where Cdbl(CDate([Tarih])) = " & tarih
    
    Set RS = CreateObject("ADODB.Recordset")
    RS.CursorType = 1
    
    RS.Open sorgu, Con
    
    a = RS.RecordCount
    
    sorguTarih = a
End Function
.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
teşekkürler Haluk Hocam, iyiki varsınız,
aynı mantık ile saat' i de denedim fakat hata vardi, orada nasıl bir çözüm önersiniz?
tekrar teşekkürler,

Kod:
Sub Test()
    Dim tarih As Double
    Dim saat As Double
    Baglan
    
    tarih = CDate(Sayfa1.Range("A2"))
    saat = CDate(Sayfa2.Range("A2"))
    
    a = sorguTarih(tarih, saat)
    
    MsgBox a
End Sub


Function sorguTarih(tarih As Double, saat As Double)
    Dim RS As Object
    
    sorgu = "Select * From [Data$] Where Cdbl(CDate([Tarih])) = " & tarih & "And Cdbl(CDate([saat])) > " & saat
    
    Set RS = CreateObject("ADODB.Recordset")
    RS.CursorType = 1
    
    RS.Open sorgu, Con
    
    a = RS.RecordCount
    
    sorguTarih = a
End Function
[code]
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
    sorgu = "Select * From [Data$] Where Cdbl(CDate([Tarih])) = " & tarih & " And Cdbl(CDate([Saat])) > " & Replace(saat, ",", ".")
.
 
Üst