AccessTr.neT

Tam Versiyon: Liste Çoklu Seçim
Ş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
Ekteki misalde form1 içindeki liste0 çoklu seçim olarak (özellikler, diğer, çoklu seçim=yok olarak ayarlandı). Yani listeden sadece bir satırı seçebiliyorsunuz. Özelliklerden çoklu seçimi = basit yaparsak listeden birden fazla seçim yapabiliyoruz. Baştan çoklu seçimi yok deyip program içerisinde bu özelliği nasıl değiştiririz. Liste110.multiselect=1 olarak komut düğmesi altına yazdım lakin kabul etmiyor hata veriyor. Bu işlemi kod kısmında bir komut düğmesi altında nasıl yaparız?
galiba bu özellik sadece tasarım modunda değiştirilebiliyormuş. ama biraz dolambaçlı bir yolla istediğiniz belki yapılabilir
forma bir boolean/evet-hayır değişkeni tanımlanır bu değer başlangıçta evet olur siz düğmeye basınca hayıra döner liste tıklama olayı da bu değikene göre işlem yapar
liste kutusu çoklu seçime izin verilmeli
formdaki kodlar
Option Compare Database ' bu kod zaten var
Dim Coklu As Boolean  '<--bu değişken eklenecek
form yüklenirken değer atama
Private Sub Form_Load()
Coklu = True
End Sub
butonla çoklu/tekli yapma
Private Sub Komut2_Click()
Coklu = -1 - (Coklu)
If Coklu = False Then
Dim Itm As Variant
For Each Itm In Liste0.ItemsSelected
Liste0.Selected(Itm) = False
Next Itm
End If
End Sub
liste tıklama/seçme olayı
Private Sub Liste0_Click()

If Coklu = False Then
With Me.Liste0
i = .ListIndex
Dim Itm As Variant
For Each Itm In .ItemsSelected
.Selected(Itm) = False
Next Itm
.Selected(i) = True
End With
End If
End Sub

istenirse buton tıklama olayına tek seçim yap/çoklu seçim yap gibi buton başlığı da eklenebilir
Aslında değişkene bile gerek yok doğrudan buton yazısına göre de işlem yapılabilir.
Sayın Berduş ya çalıştıramadım yada bir yerde hata var. Ben de Listenin tasarım görünümünde çoklu seçimde "uzatılmış" seçerek işe devam ediyorum.
aşağıdaki dosyayı dener misiniz?
sizin dosyanızda yaptiğım değişiklikler
1 - liste kutusu çoklu seçimli oldu
2 - sadece önceki mesajda yer alan kodlar eklendi
yada sadece aşağıdaki kodlar da kullanılabilir
not: buton ve liste kutusu aşağıdaki gibi düzenlenmiş olmalı
1 - Liste0 --> çoklu seçim: basit
2 - Komut2-->tag/im=0
buton tıklama olayı
Private Sub Komut2_Click()
Komut2.Tag = -1 - (Komut2.Tag)
If Komut2.Tag = False Then
Dim Itm As Variant
For Each Itm In Liste0.ItemsSelected
Liste0.Selected(Itm) = False
Next Itm
End If
End Sub
liste0 tıklama olayı
Private Sub Liste0_Click()

If Komut2.Tag = False Then
With Me.Liste0
i = .ListIndex
Dim Itm As Variant
For Each Itm In .ItemsSelected
.Selected(Itm) = False
Next Itm
.Selected(i) = True
End With
End If
End Sub
Sayfalar: 1 2