Merhabalar, Acceste bir formla ilgili sorgu oluşturdum. sorgu kriterini hem grup adı hem tarih hemde kişi numarası olacak ancak, zorunlu olsun istemiyorum 3 ü de olabilir 1 i de olabilir. 3 ayrı açılan kutu var. MEcbur hepsini girmesem arama yapmıyor. Veya kısmına birtane açılan kutu eklesemde istediğim olmuyor. acaba bunu nasıl yapabilirm. yardımcı olursanız sevinirim.
İsteğim hepsini seçmesemde seçtiğim bir kritere göre arama yapsın. yoksa her açılan kutunu yanına bir buton koyup bir kritere göre veya 2 kritere göre vs. diyerek üç tane sorgu yapmam gerecek butonla bunları çalıştıracağım, bunu istemiyorum.
If IsNull(Me.MUSTERI) Then mus = "[SIPARIS_LISTESI].MUSTERI" Else mus = "'" & Me.MUSTERI & "'" 'açılan kutu alanları bunlar olsun. me.MUSTERI olan kısımları mus adı altında tanımladım
If IsNull(Me.PARTINO) Then pno = "[PARTILENENLER].PARTI_NO" Else pno = Me.PARTINO ' bunlarda aynı mesela bu PARTI_NO, pno diye tanımladım.
If IsNull(Me.MSIPNO) Then MSIP = "[SIPARIS_LISTESI].SIPNO" Else MSIP = "'" & Me.MSIPNO & "'" 'bu msıpno MSIP diye tanımladım.
If IsNull(Me.RENKNO) Then RNO = "[SIPARIS_LISTESI].RENK_NO" Else RNO = "'" & Me.RENKNO & "'" ' renkno
'tarih sanırım iki tane olacak, birisi ilk tarih birisi son tarih olduğunu varsay metinkutuları da ILKTARIH, SONTARİH gibi
If IsNull(Me.ILKTARIH) Then Me.ILKTARIH = Date
If IsNull(Me.SONTARIH) Then Me.SONTARIH = Date
If CDate(Me.ILKTARIH) > CDate(Me.SONTARIH) Then
Response = MsgBox("Son Tarih, İlk Tarihten Büyük Olmalıdır..", 48, "Hata!")
DoCmd.GoToControl "ILKTARIH"
Exit Sub
End If
ILKTAR = ">=#" & Month(Me.ILKTARIH) & " / " & Day(Me.ILKTARIH) & " / " & Year(Me.ILKTARIH) & "#"
SONTAR = "<=#" & Month(Me.SONTARIH) & " / " & Day(Me.SONTARIH) & " / " & Year(Me.SONTARIH) & "#"
Me.Liste0.RowSource = "SELECT SIPARIS_LISTESI.MUSTERI, PARTILENENLER.PARTI_NO, SIPARIS_LISTESI.SIPNO, SIPARIS_LISTESI.RENK_NO, SIPARIS_LISTESI.RENK, SIPARIS_LISTESI.CINSI, PARTILENENLER.PAR_KG, PARTILENENLER_DURUM.TERMIN, PARTILENENLER_DURUM.DURUM_ZAMANI, [DURUM_ZAMANI]-[TERMIN] AS GEÇEN_SÜRE FROM (SIPARIS_LISTESI INNER JOIN PARTILENENLER ON SIPARIS_LISTESI.SIPARISNO = PARTILENENLER.SIPARIS_NO) INNER JOIN PARTILENENLER_DURUM ON PARTILENENLER.PARTI_NO = PARTILENENLER_DURUM.PARTI_NO WHERE (PARTILENENLER_DURUM.TARIH" & ILKTAR & ") And (PARTILENENLER_DURUM.TARIH" & SONTAR & ") AND (SIPARIS_LISTESI.MUSTERI=" & mus & ") AND (PARTILENENLER.PARTI_NO=" & pno & ") AND (SIPARIS_LISTESI.RENK_NO= " & RNO & " ) AND (SIPARIS_LISTESI.SIPNO= " & MSIP & " ) AND (PARTILENENLER_DURUM.DURUMU='Sevk Edildi') ORDER BY PARTILENENLER.PARTI_NO"
Me.Liste0.Requery
End Sub
bahsettiğm gibi kullanabilirsin.
yukarıdaki
mus, pno, msıp,RNO ları açılan kutulara tanımla,
denemeni tavsiye ederim,
örnek dosyadan da yararlanabilir.
GÜNLÜK SATIŞ İZLEME FORMU
ben böyle kullanıyorum.
Merhaba,
Ekteki dosyayı incelemenizi tavsiye ederim.
ÇOK TEŞEKKRÜ EDERİM HOCALARIM ELİNİZE SAĞLIK İŞİME YARADI ÖRNEKLER