Skip to main content

AccessTr.neT


Bağlı Tabloda Sorgu İşlemleri

Bağlı Tabloda Sorgu İşlemleri

Çözüldü #1
Merhabalar,

Ekte değerlendirmenize sunduğum ve çözüm önerilerinize ihtiyaç duyduğum basit bir tablo-sorgu örneği var.

Yapmaya çalıştığım,
bir deney cihazındaki sonuçları *.CSV formatıyla accesse bağladıktan sonra TARIH alanında filtreleme yapmak ancak bir kaç problemim var.

1. *.cvs formatındaki dosyayı bağlarken TARIH alanını "date/time" olarak seçip bağladıktan sonra oluşturduğum T_DATE tablosundaki TARIH Alanı boş geliyor.
2.* .cvs formatındaki dosyayı bağlarken TARIH alanını "text" olarak seçip bağladıktan sonra oluşturduğum T_TEXT tablosundaki TARIH alanın formatını sorguyla "dd.mm.yyyy" formatına çevirip sorgu ölçütüyle filtrelemeye (>#1.02.2017# And <#1.04.2017#) çalıştığımda istediğim sonuçları alamıyorum.

Bağlı tablo olmasa, tablo özelliklerinden TARIH alanının biçimini date/time olarak seçip sorunu basitçe çözebileceğim ancak bağlı tablo olunca yaptığım işlemler T_DATE tablosundaki TARIH alanını sanırım date/time formatına çeviremediği için sorgu ölçütünde kullandığım ifadelerle çözüm üretemiyorum. TARIH formatını nasıl date/time biçimine getirebilirim ya da bu sorguyu nasıl çalışır hale getirebilirim. İyi forumlar dilerim.
.rar ornek.rar (Dosya Boyutu: 21,22 KB | İndirme Sayısı: 3)
prtkl, 09-03-2010 tarihinden beri AccessTr.neT üyesidir
Cevapla
#2
veriyi text formatında aldım sorguda tarih+saat var ama aralığı doğru gösteriyor
dilerim işinize yarar
.rar CSV formatıyla_hy.rar (Dosya Boyutu: 19,33 KB | İndirme Sayısı: 4)
Cevapla
#3
cdate  Img-grin

çok teşekkür ederim. 1. adımı halletmiş oldum sayenizde, 2.adımda da forma girilen tarihten 7 gün önceki tüm kayıtları listelemeye çalışıyorum ve aşağıdaki ölçütü kullandım ancak çözüm olmadı.

Between DateAdd("d";-7;CDate([Formlar]![Form1]![f_tarih])) And CDate([Formlar]![Form1]![f_tarih])

örneğin formdaki tarih kutusuna 09.03.2017 yazdığımda 02.03.2017 ile 09.03.2017 tarihleri arasındaki veriyi süzüyor. Oysa ben 09.03.2017 tarihinden önceki 7 veriyi getirmesini istiyorum. 

1.gün 09.03.2017
2.gün 08.03.2017
3.gün 17.02.2017
4.gün 14.02.2017
5.gün 11.02.2017
6.gün 10.02.2017
7.gün 09.02.2017  gibi


Ölçütte nasıl bir değişiklik yaparak bu problemi çözebilirim, iyi forumlar dilerim.
not: ölçütte "-7" yazan yere "count" komutuyla ilgili bir şeyler yazmak gerekiyor sanırım. 

örnek dosya ektedir.
.rar örnek.rar (Dosya Boyutu: 31,96 KB | İndirme Sayısı: 3)
prtkl, 09-03-2010 tarihinden beri AccessTr.neT üyesidir
Son Düzenleme: 13/02/2019, 15:14, Düzenleyen: prtkl.
Cevapla
#4
sorgu kaynağına aşağıdaki kodu yazıp dener misiniz?
Kod:
SELECT top 7 CDate([DTARIH]) AS Tarih, Avg(ATG_hiy.BN) AS OrtalamaBN, Avg(ATG_hiy.U) AS OrtalamaU, Avg(ATG_hiy.K) AS OrtalamaK
FROM ATG_hiy
GROUP BY CDate([DTARIH])
HAVING (((CDate([DTARIH]))<=DateAdd("d",-7,CDate([Formlar]![Form1]![f_tarih]))))
ORDER BY CDate([DTARIH]) DESC;

not: yeni sorular için mümkünse yeni konu açın
Cevapla
#5
sorguda saatin görünmesini istemiyorsanız aşağıdaki kodu kullanabilirsiniz.
Kod:
SELECT TOP 7 CDate(Format([DTARIH],"Short Date")) AS Tarih, Avg(ATG_hiy.BN) AS OrtalamaBN, Avg(ATG_hiy.U) AS OrtalamaU, Avg(ATG_hiy.K) AS OrtalamaK
FROM ATG_hiy
GROUP BY CDate(Format([DTARIH],"Short Date"))
HAVING (((CDate(Format([DTARIH],"Short Date")))<=DateAdd("d",-7,CDate([Formlar]![Form1]![f_tarih]))))
ORDER BY CDate(Format([DTARIH],"Short Date")) DESC;

Cevapla
#6
afedersiniz, diğer konuyla bağlantılı olduğu için yeni bir konu açma gereği duymamıştım. 

saat çözümü için teşekkür ederim yalnız ölçütte kullandığınız ifade; forma girilen tarihten 7 gün önceki tüm kayıtları gösteriyor. iyi forumlar dilerim.
prtkl, 09-03-2010 tarihinden beri AccessTr.neT üyesidir
Son Düzenleme: 13/02/2019, 16:09, Düzenleyen: prtkl.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da