[SORGU] Access Sql de 24 saati geçenleri sorgulama
#1
Herkese merhaba;
Siteniz sayesinde Access'de çok ilerleme sağladım ve sayenizde çalıştığım firmada işlerimizi kolaylaştıracak çeşitli programlar yaptım. Bunun için emeği geçen herkese öncelikle teşekkür ederim.

Şu an kullanıma yeni sunduğum talep takip programında talebe istinaden çıkış yapılan bir formum mevut. Bu çıkış yapılan formda combobox'tan yapılan seçimle aktif durumdaki talepleri aynı form içerisindeki bir alt formda taleplerin miktarsal durumlarının görüntülenmesini sağlıyorum ve form üzerinde ilgili talebe istinaden çıkış kaydı oluştukça da alt formda giden kalan durumunu kullanıcılara raporluyorum.

Belirtmiş olduğum combobox bir çapraz sorgu kullanarak aktif durumdaki talepleri seçim için listelemekte. Yapmak istediğim ise bu listede 24 saati aşan taleplerin listelenmemesi sağlamak. Çapraz sorgumda veri olarak Kayıt tarihi ve kayıt saati ayrı kolonlar olarak raporlanmakta. Bana 24 saati geçenleri listelenmeyecek sorgu oluşturmam konusunda yardımlarınızı rica ederim...



  Alıntı
Bu mesajı beğenenler:
#2
Sn Mr.Midnight;

TRANSFORM ......
SELECT TabloAdi.AlaAdi
FROM TabloAdi
WHERE (((DateDiff("h",CDate(Format([Kayıt tarihi] & " " & [kayıt saati],"General Date")),Now()))>24))
GROUP BY TabloAdi.AlaAdi
PIVOT MonthName(Month([Kayıt tarihi]),0);

Koyu alanda yazildigi gibi alanlarin birlestirilmesi ile kosul olusturabilirsiniz.



  Alıntı
Bu mesajı beğenenler:
#3
Daha kısa bir kodla şu şekilde de olabilir.
SQL
  1. TRANSFORM ......
  2. SELECT TabloAdi.AlaAdi
  3. FROM TabloAdi
  4. WHERE [kayıt tarihi] <= DateAdd("d",-1,Now())
  5. GROUP BY TabloAdi.AlaAdi
  6. PIVOT MonthName(MONTH([Kayıt tarihi]),0);





  Alıntı
Bu mesajı beğenenler:
#4
(29-03-2019, 19:13)dsezgin demiş ki: Sn Mr.Midnight;

TRANSFORM ......
SELECT TabloAdi.AlaAdi
FROM TabloAdi
WHERE (((DateDiff("h",CDate(Format([Kayıt tarihi] & " " & [kayıt saati],"General Date")),Now()))>24))
GROUP BY TabloAdi.AlaAdi
PIVOT MonthName(Month([Kayıt tarihi]),0);

Koyu alanda yazildigi gibi alanlarin birlestirilmesi ile kosul olusturabilirsiniz.

Sezgin hocam merhaba;
Araya hafta sonu girmesi sebebiyle mesajınızı ancak inceleyebildim. Öncelikle ilgi ve alakanızdan dolayı çok teşekkür ederim.

Belirtmiş olduğunuz biçimde anladığım kadarıyla sorgumu düzenlemeye çalıştım ancak hata alıyorum. Aldığım hatada From yan tümcesinde söz dizimi hatası diyor. Nerede hata yapıyorum acaba yardımcı olurmusunuz

SQL
  1. SELECT tblTalepler.TalepNo, tblTalepler.TalepEdenDepo, tblTalepler.TalepEdilenDepo, SUM([TalepMiktari]) AS TopTalepMiktari, Nz([Giden],0) AS TopGiden, Nz(Nz([TopTalepMiktari],0)-Nz([TopGiden],0),0) AS Kalan, tblTalepler.KayitTarihi, tblTalepler.KayitSaati
  2. FROM tblTalepler LEFT JOIN srgGiden ON tblTalepler.TalepNo = srgGiden.TalepNo
  3. WHERE (((((DateDiff("h",CDate(Format([KayitTarihi] & "" & [KayitSaati],"General Date")),Now())))>24)))
  4. GROUP BY tblTalepler.TalepNo, tblTalepler.TalepEdenDepo, tblTalepler.TalepEdilenDepo, Nz([Giden],0), tblTalepler.KayitTarihi, tblTalepler.KayitSaati
  5. PIVOT MonthName(MONTH([KayitTarihi]),0);





  Alıntı
Bu mesajı beğenenler:
#5
(29-03-2019, 21:15)onur_can demiş ki: Daha kısa bir kodla şu şekilde de olabilir.
SQL
  1. TRANSFORM ......
  2. SELECT TabloAdi.AlaAdi
  3. FROM TabloAdi
  4. WHERE [kayıt tarihi] <= DateAdd("d",-1,Now())
  5. GROUP BY TabloAdi.AlaAdi
  6. PIVOT MonthName(MONTH([Kayıt tarihi]),0);


Onur hocam ilgi ve alakanızdan dolayı teşekkür ederim. Çalıştığım firma 3 vardiya esasına dayalı çalıştığı için gece saat 24:00 dan sonra tarih değişimi olacağından saat farkını hesaplayabilmem elzem bir durum olduğundan Sezgin hocanın kodu daha mantıklı geldi.
Bir de uygulayabilirsem kendi programıma süper olacak Smile



  Alıntı
Bu mesajı beğenenler:
#6
Sayın dsezgin hocam ve Onur_can hocam ilk mesajımda sorgumun çapraz sorgu olduğunu belirtmişim ama iş bilmemezliğimden kaynaklanan bir durum olduğunu fark ettim sorgum çapraz sorgu değil seçme sorgusuymuş.

Bu durumda sorgumu nasıl düzenlemeliyim yardımcı olabilirmisiniz...

SQL
  1. SELECT tblTalepler.TalepNo, tblTalepler.TalepEdenDepo, tblTalepler.TalepEdilenDepo, SUM([TalepMiktari]) AS TopTalepMiktari, Nz([Giden],0) AS TopGiden, Nz(Nz([TopTalepMiktari],0)-Nz([TopGiden],0),0) AS Kalan
  2. FROM tblTalepler LEFT JOIN srgGiden ON tblTalepler.TalepNo = srgGiden.TalepNo
  3. GROUP BY tblTalepler.TalepNo, tblTalepler.TalepEdenDepo, tblTalepler.TalepEdilenDepo, Nz([Giden],0);




Eklenti Dosyaları
.jpg   Ekran Alıntısı.JPG (Boyut: 99,12 KB / İndirilme: 99)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Aktif Saati Tablodaki Saat Arasına Göre Bulup Forma Yazdırma yahyamacit 5 558 14-03-2024, 11:07
Son Mesaj: yahyamacit
  [SORGU] Textbox'taki Veriyi Dinamik Sorgulama NLas7 2 444 06-09-2023, 08:44
Son Mesaj: NLas7
  Sorgulama Sorunu Alibuyuk66 5 368 12-01-2023, 15:38
Son Mesaj: Alibuyuk66
access-sql-4 Birden Fazla Kritere Göre Sorgulama Büyük Data 0 366 28-06-2022, 15:44
Son Mesaj: Büyük Data
  Combobox Seçimine Göre Alt Form'da Veri Sorgulama tarkanaykın 3 627 06-04-2022, 13:04
Son Mesaj: dsezgin
  [SORGU] Adres Sorgulama ahmeteren1 5 1.025 20-06-2020, 17:49
Son Mesaj: halily
  Web Brovser Dan Sorgulama Veri Alma serdem48 8 3.588 21-05-2020, 21:49
Son Mesaj: ZeynelT
  [SORGU] Tarih Ve Saati Birbirinden Nasıl Ayırabilirim footprinting 7 1.179 20-04-2020, 14:24
Son Mesaj: footprinting

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi