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
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
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
kopyalama fonksiyonunu aşağıdaki gibi düzenlerseniz seçili ögelerin ID değerini almış olursunuz
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
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
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
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,