Skip to main content

AccessTr.neT


Önceden Tanımlanmış Koşullara Göre Sorgunun Oluşması

Önceden Tanımlanmış Koşullara Göre Sorgunun Oluşması

Çözüldü #1
Merhaba arkadaşlar, bir tekstil boyahanesine gelen siparişin boyanması için belirlenen renk no ve boyama türüne göre reçete hazırlanıyor.
Kullanıcı "BOYAMA REÇETESİ" ni seçip bu boyama reçetesinde hangi prosesler oluşacaksa bu prosesleri aşağıdaki ekrandan yapabiliyor.
mesela bu BEYAZ reçetesi Kasar, Antiperoksit ve Yumuşatma işleminden oluşuyor.
birde bu tanımlanan reçetelerin (2 nolu resimde ayrıntılı) aşağıdaki tanımlamalar yapılırken REÇETENİN çıkma koşulunun oluşturulması gerekiyor.
Bu koşulu sonradan kullanıcının değiştirebileceği bir şekilde olması gerekiyor.
yada yeni bir REÇETE oluşturulacak olduğunda Kullanıcı bu reçetenin kriterlerini
örneğin REAKTİF BOYAMA REÇETESİ= RENK TONU "REAKTİF' İSE ÇIKSIN
YADA "BEYAZ BOYAMA REÇETESİ" RENK TONU BEYAZ İSE VE RENK NUMARASI K-2600 İSE ÇIKSIN GİBİ
[Resim: do.php?img=9260]AŞAĞIDA
BOYAMA REÇETELERİNİN TANIMLANDIĞI TABLO VAR. VE BU TABLODA REÇETELERİN ÇIKMASI GEREKEN KOŞULLAR BELİRTİLDİ.
TABİ BU LİSTEYE DAHA EKLEME YAPILACAK, BUNLAR ÖRNEK ÇALIŞMA.
TABLONUN SAĞINDAKİ "BOYAMA REÇETESİ TEST EKRANI" NDA 

RENK NO 
YADA 
BOYAMA TÜRÜ SEÇİLİNCE 
(BOYAMA REÇETESİ SADECE BU İKİ KRİTERE GÖRE ÇALIŞACAK)

BOYAMA REÇETESİ GÖSTER BUTONUNA TIKLAYINCA AŞAĞIDAKİ GİBİ REÇETE GÖSTERMESİ GEREKİYOR.

BU ÇALIŞMAMDA SİZ DEĞERLİ DOSTLARIMDAN ÖNERİ VE YARDIMLARINIZI BEKLİYORUM.
TEŞEKKÜRLER, 
SAYGILAR...
[Resim: do.php?img=9264]

[Resim: do.php?img=9262]


TÜM ÇALIŞMALAR BİTTİĞİNDE ASIL AMAÇLANAN ÇALIŞMA AŞAĞIDAKİ GİBİ BİR BOYAMA REÇETESİ OLACAK. 

[Resim: do.php?img=9263]
.rar bym_recete.rar (Dosya Boyutu: 296,87 KB | İndirme Sayısı: 2)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Son Düzenleme: 23/10/2019, 23:38, Düzenleyen: husem.
Cevapla
#2
Merhaba, 
Tabloda olmayan kayıtlar (Boyama Türü=Reaktif) örneklendirildiği için uygulamadaki verileri inceleyemedim. Ancak, hangi reçetenin çıkacağını reçete oluşturduktan sonra seçmeniz daha mantıklı değil mi?
Resime eklediğiniz metin kutusuna koşul yazma ve bu koşulu sorguda kullanma sıkıntılı, buraya yazılacak veride ufak bir karakter hatası sorguyu bozacaktır.
Cevapla
#3
merhaba ozan bey, kolay gelsin.
hangi reçetenin çıkacağını reçete oluşturduktan sonra seçmeniz daha mantıklı değil mi?

Reçete oluşturduktan sonrada seçsem farketmez. çünkü reçete oluşturma tamamlanmadıktan sonra bu reçete zaten kullanılamaz.

koşul yazma ve bu koşulu sorguda kullanma sıkıntılı, buraya yazılacak veride ufak bir karakter hatası sorguyu bozacaktır.

Boyama Reçetesi oluştururken bu boyama reçetesinin çıkma koşulunu belirlemek gerekiyor. Ben kafamda tasarladığım bir mantığı anlatmaya çalıştım. 
Kullanıcı örneğin bir reçete oluşturur: BAMBO BOYAMA REÇETESİ
Bu reçetenin çıkma koşuluda örneğin: BOYAMA TÜRÜ =BAMBO BOYAMA ve RENK NO: 11500 ( İKİ KOŞUL SEÇİLEBİLİR.)

Oluşturulan reçetenin koşulunu kullanıcı başka birisine bağımlı olmadan oluşturması başkasına bağımlılığı azaltacaktır.

Aslında BUTONA tıklama olayına Vba koduyla bu işlem yapılabilir. ama kullanıcı her yeni reçete oluşturduğunda reçetenin çıkabilmesi için vba kodunu başkasının girmesini isteyecek. bu da başkasına bağımlı kılacak.
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Cevapla
#4
RenkNo:8000 ve Renk Tonu=Beyaz için;

SELECT BOYAMA_RECETE_ADI.ID, BOYAMA_RECETELERI.ISLEM_SIRA, BOYAMA_RECETE_ADI.BOYAMA_RECETE_ADI AS [Boyama Reç Adı], BOYAMA_PROSESLERI.ID, BOYAMA_PROSESLERI.PROSES_ADI AS [Proses Adı], BOYAMA_KM_BM_GRUB_ADI.ID, BOYAMA_KM_BM_GRUB_ADI.KM_BM_GRUP_ADI, KM_BM_TANIMLAMA.ID, KM_BM_TANIMLAMA.ADI AS [Km-Bm Adı], KM_BM_TANIMLAMA.ISLEVI AS İşlevi, BOYAMA_PROSES_DETAY.GRUBU AS Grubu, BOYAMA_PROSES_DETAY.ORAN AS Oran, BOYAMA_PROSES_DETAY.VER_TURU AS [Veriliş Türü]
FROM (BOYAMA_RECETE_ADI INNER JOIN ((BOYAMA_RECETELERI INNER JOIN BOYAMA_PROSES_DETAY ON BOYAMA_RECETELERI.PROSES_ID = BOYAMA_PROSES_DETAY.PROSES_ID) INNER JOIN (KM_BM_TANIMLAMA INNER JOIN BOYAMA_KM_BM_GRUB_ADI ON KM_BM_TANIMLAMA.GRUBU = BOYAMA_KM_BM_GRUB_ADI.ID) ON BOYAMA_PROSES_DETAY.KM_BM_NO = KM_BM_TANIMLAMA.ID) ON BOYAMA_RECETE_ADI.ID = BOYAMA_RECETELERI.RECETE_ID) INNER JOIN BOYAMA_PROSESLERI ON BOYAMA_RECETELERI.PROSES_ID = BOYAMA_PROSESLERI.ID
WHERE (((BOYAMA_RECETE_ADI.ID) In (2,8)))
ORDER BY BOYAMA_RECETE_ADI.ID, BOYAMA_RECETELERI.ISLEM_SIRA, BOYAMA_PROSES_DETAY.GRUBU;


sorgusu doğru sonucu veriyor mu?
Cevapla
#5
WHERE (((BOYAMA_RECETE_ADI.ID) In (2,8)))
REÇETE_ID
YE BAKTIĞI İÇİ İKİ BEYAZ REÇETESİNİ DE VERİYOR.
TEK REÇETE VERMESİ LAZIM.
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Son Düzenleme: 24/10/2019, 13:10, Düzenleyen: husem.
Cevapla
#6
(24/10/2019, 12:01)husem yazdı: WHERE (((BOYAMA_RECETE_ADI.ID) In (2,8)))
REÇETE_ID
YE BAKTIĞI İÇİ İKİ BEYAZ REÇETESİNİ DE VERİYOR.
TEK REÇETE VERMESİ LAZIM.


 ÖRNEK BİR Excel DOSYASI EKLEDİM.

[Resim: do.php?img=9265]
.rar RECETE KOŞULLARI.rar (Dosya Boyutu: 3,71 KB | İndirme Sayısı: 1)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da