Ancak fırsat bulup bakabildim ve tüm mesajları baştan tekrar okudum.
Alıntı:Arkadaşlar bir sürekli form üzerine çağırdığım kayıtların "bazılarını" checkbox ile işaretlemek ve bu bloğa bir eylem yapmak istiyorum. (Güncellemek, silmek, vb ) Bunu sorgu filtreleri ile yapmak elbette mümkün ama benim istediğim "tek tek seçim".
Buraya kadar tamam. Kayıtların bir listesini görüp onların arasından bazılarını seçmek ve bu seçilen kayıtlar üzerinden işlem yapmak istiyorsunuz.
Alıntı:Bu checkbox u tabloda bir alan olarak tutarsam çok kullanıcı ortamda ayni anda ayni işi yapan kişi diğer kullanıcının işaretlediği kayıtları da işaretlenmiş olarak görüyor.
Bu da tamam, tabloda işaretlerseniz, tüm kullanıcılar görür.
Bu nedenle, ListBox'ta çoklu seçim ile veya ListView'da CheckBox kullanarak yapılabilir. Böylece kullanıcılar birbirlerinin seçimlerini görmezler.
---
ListBox'ta toplu seçim yapmak ve seçilenlerin üzerinde işlem yapmak için, Sn. CELOYCE'nin gönderdiği (benim daha önce yapmış olduğum bir örnek) dosya işinizi görür. (Ayrıca bende ekledim son halini)
Bu işlem için asıl gerekli kodlar şu şekilde:
Kod:
For Each PID In Me.Parca_Listesi.ItemsSelected
SQL = "UPDATE ANAPARCA SET SECILI = -1 WHERE ANAPARCA_ID = " & Me.Parca_Listesi.ItemData(PID)
DoCmd.RunSQL SQL
Me.Parca_Listesi.Selected(PID) = False
Next PID
ListBox'ın .ItemsSelected özelliği kullanılıyor
---
ListView'de checkbox ile seçim yapmak ve seçilenlerin üzerinde işlem yapmak için, Sn. Krizantem'in gönderdiği sn. Bilgisayarcı'ya ait örnek dosya işinizi görür. Kodları bende inceledim şimdi. Animasyonlu olduğu için kodlar biraz karışık gibi görünüyor. Ancak sizin kullanmanız gereken, seçilen kayıtlarla ilgili işlem yapan kısım şu (ListedekileriAl Fonksiyonu):
Kod:
Private Sub ListedekileriAl()
Dim Item As ListItem
Dim i As Long
Dim mesaj As String
For i = 1 To Me.ListView1.ListItems.Count
Set Item = Me.ListView1.ListItems.Item(i)
If Item.Checked Then
If Len(mesaj) = 0 Then mesaj = Item.Tag Else mesaj = mesaj & ";" & Item.Tag
End If
Next
If Len(mesaj) > 0 Then MsgBox mesaj
End Sub
ListView'ın Checked özelliği kontrol ediliyor.
--
Birde sonradan şunu yazmışsınız:
Alıntı:hocam liste kutusundan çoklu seçim ile tabloya aktarmak için ardımcı olursanız elbette olur, benim derdim kayıtları tek tek listeden seçip yeni tablo yaratmak.
Kayıtları seçip bir tablo yaratırsanız, çok kullanıcılı ortamda diğer kullanıcılar da seçilenleri görecektir. Bunun için kullanıcı kodlarını da tabloya yazıp, kullanıcı bazında filtre yapmanız lazım, onu hatırlatayım.
--
ListView veya ListBox'tan istediğinizi kullanabilirsiniz.
Örnek dosyanız olmadığı için kodları kendinize sizin uyarlamanız gerekecek.
Takıldığınız yerde tekrar yardımcı olurum.
Saygılarımla,