AccessTr.neT

Tam Versiyon: Sorgu Sonucunu Sipariş Sayısı Kadar Katlıyor.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
(23/02/2017, 01:28)ozanakkaya yazdı: [ -> ]Merhaba, liste kutusunun satır kaynağındaki sorguyu aşağıdaki ile değiştirerek deneyiniz.
TRANSFORM Sum(([TOPLAM_SURE]/DCount("ID","PARTILENENLER","[PARTI_NO]=[PARTI_NO]"))) AS GTOPLAMSURE
SELECT ATANMIS_OPERASYONLAR.PARTI_NO AS PartiNo, SIPARIS_LISTESI.MUSTERI, ATANMIS_OPERASYONLAR.OPERASYON_TIPI AS OperasyonTipi, SIPARIS_LISTESI.RENK_NO AS RenkNo, SIPARIS_LISTESI.RENK AS Renk, PARTILENENLER_DURUM.TERMIN AS Termin
FROM ((ATANMIS_OPERASYONLAR INNER JOIN PARTILENENLER_DURUM ON ATANMIS_OPERASYONLAR.PARTI_NO = PARTILENENLER_DURUM.PARTI_NO) INNER JOIN PARTILENENLER ON PARTILENENLER_DURUM.PARTI_NO = PARTILENENLER.PARTI_NO) INNER JOIN SIPARIS_LISTESI ON PARTILENENLER.SIPARIS_NO = SIPARIS_LISTESI.SIPARISNO
WHERE (((ATANMIS_OPERASYONLAR.BITIS_SAATI) Is Null))
GROUP BY ATANMIS_OPERASYONLAR.PARTI_NO, SIPARIS_LISTESI.MUSTERI, ATANMIS_OPERASYONLAR.OPERASYON_TIPI, ATANMIS_OPERASYONLAR.BITIS_SAATI, SIPARIS_LISTESI.RENK_NO, SIPARIS_LISTESI.RENK, PARTILENENLER_DURUM.TERMIN
ORDER BY PARTILENENLER_DURUM.TERMIN
PIVOT ATANMIS_OPERASYONLAR.OPERASYON_TANIMI In ('HAZIRLIK', 'YAŞ İŞLEM', 'SANTRİFUJ SIKMA', 'EGALİZE', 'KALİTE KONTROL');

Ayrıca, tablolara yeni kayıtlar ekleyip sorunun çözülüp çözülmediğini test ediniz.
sayın husem,

öncelikle;
bir hususa dikkatinizi çekmek sureti ile belirtmekte fayda var.toplam hesaplamalarında herhangi bir iptal etme durumu söz konusu değildir.

bahsettiğiniz durumun oluşmasının nedeni;
sayın ozan bey tarafından paylaşılan kodların uyarlanması sonucunda,listenin kaynağını oluşturan sorguyu tasarım olarak açtığınızda ÖZELLİKLER - SÜTUN BAŞLIKLARI satırındaki sayısal farklılık ile,kod sayfasında form sayfasındaki Toplam adlı hesaplama kodları içerisindeki sayısal değerler denk gelmediği için ve aynı zamanda tumu_Click adlı yordam içerisindeki kodlarda listeye ikinci kez SATIR KAYNAĞI oluşturulmasından kaynaklı bir durumdur.

EK'te;
bütün bu bahsi yapılan açıklamaların yeniden düzenlenmesi neticesinde hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

NOT
bu hali ile geçerli olmak sureti ile,aslında karmaşık bir yapılandırma ve kodlama olduğunu düşünmekteyim.bu hali ile pek de sağlıklı bir uygulama içerdiğini sanmıyorum.bu nedenle iyi bir yeniden değerlendirme yapılmak sureti ile daha sadeleştirilmiş bir hale getirilmesi uygun olacaktır kanısındayım.elbette tercih ve takdir sizindir.

bilginize...iyi çalışmalar,saygılar.
sn ozanakaya, merhaba
eklemiş olduğum sorguyu satır kaynağında kullanabilirim ama, formadaki "hazırlık, yaş işlem, kalite kontrol..... bunlar sabit değil" ben bunları sırala1 fonksiyonuyla sorgu sonuna ekliyorum. o yüzden formun açılış yordamına koymam gerekiyor.

("ID","PARTILENENLER","[PARTI_NO]=[PARTI_NO]") eklemiş olduğunuz kodu eklediğimde tırnak larda hata veriyor, kaldırıyorum, sorgu çalışmıyor.


fakat formun üstündeki  (mesaj 1 deki jpegdeki "iş yükü gün, günlük kapasite saat, iş yükü saat ") olan metin kutularındaki hesaplamalar çalışmıyor.


belkide ben yapamıyorum, lütfen kusuruma bakmayın.
form üzerinde yardımcı olabilme imkanınız varmı acaba?
iyi çalışmalar, saygılar.
sayın husem,

8.mesajdaki örnek uygulamayı inceleyebildiniz mi acaba?

bilginize...iyi çalışmalar,saygılar.
sn atoz112,
bahsettiğiniz 8. mesajdaki uygulamayı indirip inceledim,
1. mesajdaki gibi formun üst tarafındaki metin kutularına iş yükü gün, günlük kapasite saat, iş yükü saat gibi veriler gelmiyor.

başka bir yol bulmaya çalışacağım. 

bu kod ile çalışıyor ama , veritabanında çok veri olduğunda Dlookup fonksiyonundan dolayı  formun açılması zaman alıyor.  bu yüzden gerekirse ATANMIS_OPERASYONLAR tablosuna diğer tablolardaki verileri kaydettirmeye çalışacağım.

yardımınız ve ilginizden dolayı minnetarım,
iyi çalışmalar, saygılar.
Me.Liste0.RowSource = "TRANSFORM Sum(ATANMIS_OPERASYONLAR.TOPLAM_SURE) AS ToplaTOPLAM_SURE " & _
"SELECT ATANMIS_OPERASYONLAR.PARTI_NO AS PartiNo, ATANMIS_OPERASYONLAR.OPERASYON_TIPI AS OperasyonTipi, PARTILENENLER_DURUM.TERMIN AS Termin, Dlookup ('RENK_NO','SIPARIS_LISTESI','SIPARISNO=' & Dlookup ('SIPARIS_NO','PARTILENENLER','PARTI_NO=' & [ATANMIS_OPERASYONLAR].[PARTI_NO])) AS RenkNo, Dlookup ('RENK','SIPARIS_LISTESI','SIPARISNO=' & Dlookup ('SIPARIS_NO','PARTILENENLER','PARTI_NO=' & [ATANMIS_OPERASYONLAR].[PARTI_NO])) AS Renk, Dlookup ('MUSTERI','SIPARIS_LISTESI','SIPARISNO=' & Dlookup ('SIPARIS_NO','PARTILENENLER','PARTI_NO=' & [ATANMIS_OPERASYONLAR].[PARTI_NO])) AS MUSTERI " & _
"FROM ATANMIS_OPERASYONLAR INNER JOIN PARTILENENLER_DURUM ON ATANMIS_OPERASYONLAR.PARTI_NO = PARTILENENLER_DURUM.PARTI_NO WHERE (((ATANMIS_OPERASYONLAR.BITIS_SAATI) Is Null)) GROUP BY ATANMIS_OPERASYONLAR.PARTI_NO, ATANMIS_OPERASYONLAR.OPERASYON_TIPI, ATANMIS_OPERASYONLAR.BITIS_SAATI, PARTILENENLER_DURUM.TERMIN, Dlookup ('RENK_NO','SIPARIS_LISTESI','SIPARISNO=' & Dlookup ('SIPARIS_NO','PARTILENENLER','PARTI_NO=' & [ATANMIS_OPERASYONLAR].[PARTI_NO])), Dlookup ('RENK','SIPARIS_LISTESI','SIPARISNO=' & Dlookup ('SIPARIS_NO','PARTILENENLER','PARTI_NO=' & [ATANMIS_OPERASYONLAR].[PARTI_NO])), Dlookup ('MUSTERI','SIPARIS_LISTESI','SIPARISNO=' & Dlookup ('SIPARIS_NO','PARTILENENLER','PARTI_NO=' & [ATANMIS_OPERASYONLAR].[PARTI_NO])) " & _
"ORDER BY PARTILENENLER_DURUM.TERMIN PIVOT ATANMIS_OPERASYONLAR.OPERASYON_TANIMI " & sırala1
ATANMIS_OPERASONLAR tablosuna MUSTERİ,RENKNO,RENK,TERMIN olarak 4 adet daha alan ekledim, gereksiz veri oldu ama, uğraşıp durmaktan daha iyi oldu.
ayrıca tek tablodan veri aldığı için sorgu daha hızlı çalışıyor.

belkide böyle yapmam daha iyi oldu, ileride veriler çoğaldığnda daha zor olabilirdi. formun açılması belkide 2-3 dakika sürebilirdi.

O yüzden böyle yapmaya karar verdim.

Sayın, Ozanakkaya ve atoz112'ye ilgilerinden dolayı teşekkür ederim,

Saygılar
Sayfalar: 1 2 3