AccessTr.neT

Tam Versiyon: Açılan Kutularda Firma İsimleri Eksilerek Gelsin
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
frm_firmalar adlı formda olan 3 adet açılan kutu, Tbl_firmalar adlı tablonun firma isimlerini satır kaynağı olarak alıyor.

Yapılmak istenen şey birinci açılan kutuda seçilen firma adı 2.  3. açılan kutuya gelmesin. Yine 1. ve 2. de seçilen de 3. y gelmesin

Yani kullanıcı açılan kutuda aynı firmayı iki kere seçemesin.
List kutusu mantığıyla yapmak daha doğru olacak gibi; Ama bunun çözümünü de merak ettim
kusura bakmayın eksik kopyalanmış
Private Sub ac_firma1_GotFocus()
SqlKrt1 = IIf(Len(Me.ac_firma1) > 0, ", " & Me.ac_firma1, "") & _
IIf(Len(Me.ac_firma2) > 0, ", " & Me.ac_firma2, "") & _
IIf(Len(Me.ac_firma3) > 0, ", " & Me.ac_firma3, "")

SqlKrt1 = Mid(SqlKrt1, 2)
SqlKrt1 = IIf(Len(SqlKrt1) > 0, " WHERE ((tbl_firmalar.[firma-id]) Not In (" & SqlKrt1 & "))", "")
SqlSec = " SELECT tbl_firmalar.[firma-id], tbl_firmalar.firma_adi, tbl_firmalar.firma_adresi FROM tbl_firmalar" & SqlKrt1

Me.ac_firma1.RowSource = SqlSec

End Sub
Private Sub ac_firma2_GotFocus()
SqlKrt1 = IIf(Len(Me.ac_firma1) > 0, ", " & Me.ac_firma1, "") & _
IIf(Len(Me.ac_firma2) > 0, ", " & Me.ac_firma2, "") & _
IIf(Len(Me.ac_firma3) > 0, ", " & Me.ac_firma3, "")

SqlKrt1 = Mid(SqlKrt1, 2)
SqlKrt1 = IIf(Len(SqlKrt1) > 0, " WHERE ((tbl_firmalar.[firma-id]) Not In (" & SqlKrt1 & "))", "")
SqlSec = " SELECT tbl_firmalar.[firma-id], tbl_firmalar.firma_adi, tbl_firmalar.firma_adresi FROM tbl_firmalar" & SqlKrt1

Me.ac_firma2.RowSource = SqlSec

End Sub
Private Sub ac_firma3_GotFocus()
SqlKrt1 = IIf(Len(Me.ac_firma1) > 0, ", " & Me.ac_firma1, "") & _
IIf(Len(Me.ac_firma2) > 0, ", " & Me.ac_firma2, "") & _
IIf(Len(Me.ac_firma3) > 0, ", " & Me.ac_firma3, "")

SqlKrt1 = Mid(SqlKrt1, 2)
SqlKrt1 = IIf(Len(SqlKrt1) > 0, " WHERE ((tbl_firmalar.[firma-id]) Not In (" & SqlKrt1 & "))", "")
SqlSec = " SELECT tbl_firmalar.[firma-id], tbl_firmalar.firma_adi, tbl_firmalar.firma_adresi FROM tbl_firmalar" & SqlKrt1

Me.ac_firma3.RowSource = SqlSec

End Sub
Tamam. Oldu. Teşekkür ederim.