SQL tarihte gün sorgulama

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

Ekli dosyada aşağıdaki tarih sorgusu neden hata veriyor olabilir?
gün' e göre verileri sorgulatmak istiyordum;

Kod:
Sub Tarihsorguu()


Set Con = VBA.CreateObject("adodb.Connection")

Sayfa2.Activate
Cells.ClearContents

yol = ThisWorkbook.FullName

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

sorgu = "select * from[Data$] where Day([Tarih]) = 12 "

Set RS = Con.Execute(sorgu)

Range("A2").CopyFromRecordset RS

x = 1
Cells.EntireColumn.AutoFit

End Sub
teşekkürler,
iyi akşamlar.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kullandığınız alan Tarih değil Tarih-Saat
Düzeltirseniz kod çalışıyor.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

Kullandığınız alan Tarih değil Tarih-Saat
Düzeltirseniz kod çalışıyor.
Necdet Hocam hücre formatı bu şekilde; çok fazla satır mevcut, bu düzende nasıl bir yol takip edebiliriz?
teşekkürler,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,248
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Necdet beyin kastettiği bölümü bold olarak belirttim.

sorgu = "select * from[Data$] where Day([Tarih-Saat]) = 12"
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar
Ekli dosyadaki [Tarih-Saat] alanında;
tarihi bir ay öncesinden büyük olanları filtrelemek için aşağıdaki sorguda hata veriyor,

özetle 17.10.2022 tarihinden büyük olanları almak istiyorum.

Kod:
Sub Tarihsorguu()

Dim dt As Date

Set Con = VBA.CreateObject("adodb.Connection")

Sayfa2.Activate
Cells.ClearContents

yol = ThisWorkbook.FullName

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

dt = Date - 30

sorgu = "select * from[Data$] where [Tarih-Saat]> " & dt

Set RS = Con.Execute(sorgu)

Range("A2").CopyFromRecordset RS

End Sub
teşekkürler, iyi çalışmalar.
 

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
Rich (BB code):
sorgu = "select * from [Data$] where [Tarih-Saat]> " & CDbl(dt)

.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Rich (BB code):
sorgu = "select * from [Data$] where [Tarih-Saat]> " & CDbl(dt)

.
çok teşekkürler Haluk Hocam,
şu Tarih formatlarını kafamda bir türlü oturtamadım.
iyi çalışmalar.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,633
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Mantığı basit aslında. Vba kod penceresinde Locals ekranında, sorgu değişkenindeki tarih ile ilgili kısmı sayı olarak görürseniz (44583 gibi) muhtemelen sonuç gelir.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Mantığı basit aslında. Vba kod penceresinde Locals ekranında, sorgu değişkenindeki tarih ile ilgili kısmı sayı olarak görürseniz (44583 gibi) muhtemelen sonuç gelir.
Teşekkürler Erdem Hocam, zamanla öğrenmiş olacağız.
 
Üst