Skip to main content

AccessTr.neT


Access tablo birleştirme

Access tablo birleştirme

#13
Sayın atoz112 çok teşekkürler,
İncelemeye başladım.
Sayın atoz112

Güzel bir çalışma yapmışsınız teşekkür ederim.Ama esit sorgusundaki tarihleri eşlesen kişilerin aynı tarih kayıtlarının eşitdegil sorgusunda görünmemesi gerekmekte.Bunu aşamadım yarın projeyi çalıştırmam lazım lütfen yardımcı olurmusunuz.Ayrıca
esitdegil sorgusunda tarih hareketi olmayanları göstermişsiniz ben onları galiba size yanlış yazdım.
(09/04/2015, 15:11)gate34 yazdı: Sayın atoz112

Güzel bir çalışma yapmışsınız teşekkür ederim.Ama esit sorgusundaki tarihleri eşlesen kişilerin aynı tarih kayıtlarının eşitdegil sorgusunda görünmemesi gerekmekte.Bunu aşamadım yarın projeyi çalıştırmam lazım lütfen yardımcı olurmusunuz.Ayrıca
esitdegil sorgusunda tarih hareketi olmayanları göstermişsiniz ben onları galiba size yanlış yazdım.
saygılarımla,
Son Düzenleme: 08/04/2015, 20:39, Düzenleyen: gate34.
Cevapla
#14
sayın gate34,


tarihleri eşit olanların gösterildiği esit adlı sorgudaki değerler,
tarihleri eşit olmayanların gösterildiği esitdegil adlı sorguda zaten yer almamaktadır.

giris ve cikis tabloları incelendiği takdirde fark edilecektir ki,kisiID değerleri 1 ve 2 olan kişilerin
çıkış tablosunda bir adet karşılık gelen değerleri söz konusu.dolayısı ile de,bu bahsettiğiniz durum gözlenmemektedir.

bir diğer ifadenizde bahsi geçen hususa yönelik olarak da,
esitdegil adlı sorguda girş ve çıkış tablolarına yönelik olarak birbiri ile eşit olmayan,
bağdaşmayan ya da uyumlu olmayan kayıtlar yer almaktadır.dolayısı ile de,bu sorguda tüm kayıtların gösterilmesi
söz konusu olmaktadır.fakat şu yapılabilir elbette,herhangi bir tarih değeri barındırmayan kayıtların görünmemesi sağlanabilir.

eğer talebiniz bu yönde olacaksa.aşağıdaki Sql Sorgu ifadesini,
esitdegil adlı sorgunun içerisine eskisini iptal ederek dahil ediniz.bilginize.

Kod:
SELECT IIf(IsNull([GirisTarih]) And IsNull([CikisTarih]),2,IIf([GirisTarih]=[CikisTarih],1,0)) AS b, giriscikis.Adi, giriscikis.Soyadi, giriscikis.GirisTarih, giriscikis.GirisSaat, giriscikis.CikisTarih, giriscikis.CikisSaat, orenciler.kisiID, giriscikis.giris.kisiID, giriscikis.cikis.kisiID
FROM giriscikis LEFT JOIN orenciler ON (giriscikis.giris.kisiID = orenciler.kisiID) AND (giriscikis.cikis.kisiID = orenciler.kisiID)
GROUP BY IIf(IsNull([GirisTarih]) And IsNull([CikisTarih]),2,IIf([GirisTarih]=[CikisTarih],1,0)), giriscikis.Adi, giriscikis.Soyadi, giriscikis.GirisTarih, giriscikis.GirisSaat, giriscikis.CikisTarih, giriscikis.CikisSaat, orenciler.kisiID, giriscikis.giris.kisiID, giriscikis.cikis.kisiID
HAVING (((IIf(IsNull([GirisTarih]) And IsNull([CikisTarih]),2,IIf([GirisTarih]=[CikisTarih],1,0)))=0));

iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#15
Sayın atoz112,
Durumu bir örnek ile anlatmaya çalışayım,

cikis tablosunda kisiID 4 olan kişinin 07.04.2015 tarih kaydı var,fakat giriş yapmadığı için doğal olarak giriş tablosunda aynı tarih yok.Bura kadar sorgularda bir problem yok.
Şimdi yine kisiID 4 olan kişi 09.04.2015 tarihi hem cikis tablosuna hemde giris tablosuna eklendiğinde "esitdegil" sorgusunda cikis 07.04.2015 giris 09.04.2015 olarak görünmesi istemediğim bir durum.Bunun için tavsiyeniz nedir?

Saygılarımla,
Cevapla
#16
sayın gate34,


yazdığınız ifadelerden anlaşıldığı kadarı ile,sanırım kast ettiğiniz şu;

çıkış tarihi,giriş tarihi'nden küçükse sorguda göstermesin.

eğer talebiniz bu ise,aşağıdaki Sql Sorgu ifadesini,
esitdegil adlı sorgunun kodları ile değiştiriniz.bilginize.

Kod:
SELECT IIf([CikisTarih]<[GirisTarih],3,IIf(IsNull([GirisTarih]) And IsNull([CikisTarih]),2,IIf([GirisTarih]=[CikisTarih],1,0))) AS b, giriscikis.Adi, giriscikis.Soyadi, giriscikis.GirisTarih, giriscikis.GirisSaat, giriscikis.CikisTarih, giriscikis.CikisSaat, orenciler.kisiID, giriscikis.giris.kisiID, giriscikis.cikis.kisiID
FROM giriscikis LEFT JOIN orenciler ON (giriscikis.giris.kisiID = orenciler.kisiID) AND (giriscikis.cikis.kisiID = orenciler.kisiID)
GROUP BY IIf([CikisTarih]<[GirisTarih],3,IIf(IsNull([GirisTarih]) And IsNull([CikisTarih]),2,IIf([GirisTarih]=[CikisTarih],1,0))), giriscikis.Adi, giriscikis.Soyadi, giriscikis.GirisTarih, giriscikis.GirisSaat, giriscikis.CikisTarih, giriscikis.CikisSaat, orenciler.kisiID, giriscikis.giris.kisiID, giriscikis.cikis.kisiID
HAVING (((IIf([CikisTarih]<[GirisTarih],3,IIf(IsNull([GirisTarih]) And IsNull([CikisTarih]),2,IIf([GirisTarih]=[CikisTarih],1,0))))=0));

iyi çalışmalar,
saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#17
Sayın atoz112,

Sizin yardımlarınız ile oluşan sorgulamada bazı çatlaklar oluştuğundan veri tablomu değiştirmek zorunda kaldım.Şöyle ki, EK'de göreceğiniz gibi giriş ve çıkışları tek tabloda oluşturdum ve giriş ve çıkış bilgilerini ayırt etmesi için type değeri ekledim(1 ve 0).
Sizden rica etsem çıkış-girişleri içeride olanlar/dışarıda olanlar mantığında eşit olan ve olmayanları süzen bir sorgu oluşturabilir misiniz ?
Çıkışsaat ile Girişsaat büyüklük ve küçüklük ilişkisini de sorguya dahil etmek mümkün mü ?

İlginize şimdiden teşekkür ederim,Saygılarımla.
İyi çalışmalar.
.rar hareketler.rar (Dosya Boyutu: 22,6 KB | İndirme Sayısı: 3)
Cevapla
#18
sayın gate34,

eklediğiniz uygulama,incelenmek üzere 2007 kullanımında açılmamaktadır.2002-2003 farklı kaydet şeklinde tekrar denemeniz yerinde olacaktır.

son olarak,
eğer 2002-2003 farklı kaydetmede bulunurken sorun yaşıyorsanız,aşağıda bağlantısı verilen konunun 4.mesajında yer alan işlemleri uygulamayı deneyebilirsiniz.bilginize.

otel otomasyonu

iyi çalışmalar,
saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task