Skip to main content

AccessTr.neT


Listeden Çoklu Seçilen Elemanları Diğer Listeye Sağ Tık İle Kesip Yapıştırmak

Listeden Çoklu Seçilen Elemanları Diğer Listeye Sağ Tık İle Kesip Yapıştırmak

Çözüldü #1
Olay şu arkadaşlar üç adet listemiz var 
liste1 den çoklu seçim yapacağız
sonra liste1 de sağ tık ile cut diyeceğiz
liste2 ye gideceğiz ve sağ tık yapıp copy dediğimizde
liste1 de seçili elemanlar liste2 ye taşınmış olacaklar
mantık basit gibi gözüküyor ama nasıl yapacağımı bilemedim
.rar GordonCBar.rar (Dosya Boyutu: 49,19 KB | İndirme Sayısı: 0)
@benbendedeilem
Cevapla
#2
Bir önceki konunuzda GSecili ile zaten değerlerin nasil hafızaya alındığı gosterilmis yapmanız gereken bu değerin bir benzerini olusturp yine önceki konunuzdaki gibi split ile ayırıp listeye eklemek
Cevapla
#3
sn@berduş
örneği biraz değiştirdim çünkü asıl olması gereken zaten bu idi yeni şekli
bir tabloda isimler var her isimin hangi listede olduğunu gösteren listId değeri var
listId değerine göre liste1,2,3 de listeleniyor
bizde sağ tık ile kesip yapıştırarak listeden diğer listeye taşıyacağız
yani bu durumda seçilen elemanların listId değerini update edeceğiz
yeni listesinin adına göre listId değerini nasıl güncelleyebiliriz
.rar GordonCBar.rar (Dosya Boyutu: 52,22 KB | İndirme Sayısı: 2)
@benbendedeilem
Cevapla
#4
Visual Basic Code
Public Function güncelle(eski As String, ByVal yeni As Integer)
    Dim i As Variant
    Dim rstkayit As New ADODB.Recordset
    Dim strSQL As String
    
    strSQL = "UPDATE Tablo1 SET listId =" & Right(yeni, 1) & " WHERE id =" & eski & ";"
    CurrentProject.Connection.Execute strSQL
 
End Function
güncellemek için eski listenin liste isminin son karakterini ve yeni liste isminin son karakterini fonksiyona göndereceğiz
bunları nasıl birleştireceğiz
Cevapla
#5
kopyalama fonksiyonunu aşağıdaki gibi düzenlerseniz seçili ögelerin ID değerini almış olursunuz
Visual Basic Code
Function fCopy()
Dim varItm As Variant
Dim frm As Form
Dim Ctl As Control

Set frm = Screen.ActiveForm
Set Ctl = Screen.ActiveForm.ActiveControl
On Error Resume Next
    Application.CommandBars.ExecuteMso ("Copy")
            KpySecili = ""
        For Each varItm In Ctl.ItemsSelected
            KpySecili = KpySecili & "," & Ctl.Column(0, varItm)
        Next varItm
        KpySecili = Mid(KpySecili, 2)

End Function
güncelle fonksiyonunun nerede nasıl kullanacağınızı bilemediğim için onu eklemedim
ama KpySecili ile zaten değiştirlecek kayıtların IDleri alındığınıdan
currentdb.execute "" ile çağrılabilir
yapıştır fonksiyonuna eklenen form1deki güncelleme fonksiyonu
Visual Basic Code
Function fPaste()
On Error Resume Next
    Application.CommandBars.ExecuteMso ("Paste")
    Form_Form1.guncelle
End Function
güncelleme fonksiyonu taşsıma işleminden sonra sadece aktif nesneyi yeniler
Visual Basic Code
Public Function guncelle()
    Dim i, YnDgr As Variant
    Dim strSQL As String
    Debug.Print "KpySecili ", KpySecili
    YnDgr = Right(ActiveControl.Name, 1)
    strSQL = "UPDATE Tablo1 SET listId =" & YnDgr & " WHERE id in (" & KpySecili & ");"
    CurrentDb.Execute strSQL
    ActiveControl.Requery
End Function
.rar ListeSecTasi.rar (Dosya Boyutu: 25,3 KB | İndirme Sayısı: 6)
Cevapla
#6
Benim kisisel dusuncem, olmuyorsa zorlamayacaksin, birakacaksin. benden bir gun sonra 31.10.2008'de uye olmussunuz. 700'den fazla konu acip cevap almissaniz ve verilen uc satirlik kodu uygulayamayacaksan birakacaksin, kimseyi mesgul etmeyeceksin, sonra program yaziyorum demeyeceksin, bu benim forumdakiler icin kisisel dusuncemdir, ayrica hic altin uye oldunuz mu onuda merak ediyorum,
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da