'openArg=argüman olarak gönderilen değer istediğinizi yazabilirsiniz amaç arama formunu hangi formun açtığını anlamak ama burada cari gruplar 1 ve 10 olduğu için 1 ve 10 kullanmanız daha uygun yoksa işi diğer taraflarda düzeltmek gerekiyor
Private Sub cboCariIDA_DblClick(Cancel As Integer)
DoCmd.OpenForm "frmCariAra", , , , , , 1 'openArg=argüman olarak gönderilen değer
End Sub
Private Sub cboDokumaciID_DblClick(Cancel As Integer)
DoCmd.OpenForm "frmCariAra", , , , , , 10
End Sub
liste kutusunun sorgu kaynağını aşağıdaki gibi düzeltmeniz gerek böylece gelen argümana göre aramayı 1 yada 10'a göre yapacak eğer arguman gelmemişse metin kutusu boşsa tüm kayıtları gösterecekLike IIf(IsNull([Formlar]![frmCariAra]![TxtId]),"*",[Formlar]![frmCariAra]![TxtId]) 'boş ise like "*"
SELECT tblCari.Cariidm, tblCari.CariUnvani, tblCari.CariGrubu
FROM tblCari
WHERE (((tblCari.CariUnvani) Like "*" & [Forms]![frmCariAra]![txtCariUnvaniAraGecici] & "*") AND ((tblCari.CariGrubu) Like IIf(IsNull([Formlar]![frmCariAra]![TxtId]),"*",[Formlar]![frmCariAra]![TxtId])))
ORDER BY tblCari.CariUnvani;
arama formuna ekleyeceğiniz bir metin kutusunu kriter olarak liste kutusunda kullanabilirsiniz2 - sorun için de yine "openargs" metodunu kullanabilirsiniz
Private Sub lstCariAra_DblClick(Cancel As Integer)
If Me.TxtId = 1 Then 'Sipariş formundan gelen arguman=1
Forms!frmSiparis.SetFocus
Forms!frmSiparis!cboCariIDA = lstCariAra.Column(0)
DoCmd.Close acForm, "frmCariAra"
ElseIf Me.TxtId = 10 Then 'hambez formundan gelen arguman=10
Forms!frmHamBezSiparis.SetFocus
Forms!frmHamBezSiparis!cboDokumaciID = lstCariAra.Column(0)
DoCmd.Close acForm, "frmCariAra"
End If
End Sub