Userform-listbox Çift Tıklama İle Verileri Forma Getirme.

1 2 3
17/05/2025, 15:58

Oğuz Türkyılmaz

(17/05/2025, 15:55)berduş yazdı: dosyanızın son halini ekler misiniz?

@berduş hocam Sql server database de ekledim belki işinize yarar
17/05/2025, 16:08

Oğuz Türkyılmaz

(17/05/2025, 15:58)Oğuz Türkyılmaz yazdı:
(17/05/2025, 15:55)berduş yazdı: dosyanızın son halini ekler misiniz?

@berduş hocam Sql server database de ekledim belki işinize yarar

Berduş Hocam çalışıyor kod Excel sayfası içindeki butondan formu açmaya çalıştığımda hata verdi. O bölümü iptal ettim kodunuz çalıştı. O bölümde niye hata oluşuyor onu inceleyeceğim. Resimdeki butondan açmaya çalıştığımda veriyor hatayı. Ama kod çalışıyor.
Kod:
' Yeni form örneği oluştur
    Dim frm As New frmPersonelKayit
    frm.Show vbModal
    Set frm = Nothing
Şeklinde formu açtırmayı denedim yine aynı hatayı verdi.
17/05/2025, 16:10

berduş

hata olması normal o benim hatam
kayıtID alanını liste formundaki liste kutusundan alıyor, kayıt formunu doğrudan açtığınızda diğer form kapalı olduğundan hata veriyor
o kısmı düzeltirim
17/05/2025, 16:15

Oğuz Türkyılmaz

(17/05/2025, 16:10)berduş yazdı: hata olması normal o benim hatam
kayıtID alanını liste formundaki liste kutusundan alıyor, kayıt formunu doğrudan açtığınızda diğer form kapalı olduğundan hata veriyor
o kısmı düzeltirim

Süper çok teşekkür ederim.
17/05/2025, 16:20

berduş

aşağıdaki adımları takip edip dener misiniz?
1 - frmPersonelKayit formundaki Public KayitID As Long değerini silip mdl_SQL modulüne ekleyin
2 - frmPersonelListesi formundaki [/b]lstPersonel_DblClick olayını aşağıdaki gibi düzenleyin
Private Sub lstPersonel_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If lstPersonel.ListIndex = -1 Then Exit Sub

    If lstPersonel.ListIndex = -1 Then Exit Sub

    Dim secilenID As Long
    secilenID = CLng(lstPersonel.List(lstPersonel.ListIndex, 0))
   
    KayitID = secilenID
    frmPersonelKayit.Show vbModal
End Sub
3 -  frmPersonelKayit formundaki UserForm_Initialize olayındaki
KayitID = CLng(frmPersonelListesi.lstPersonel.List(frmPersonelListesi.lstPersonel.ListIndex, 0))
satırı silip aşağıdaki bloğu aktif yapın
    If KayitID > 0 Then
        Call KayıtYukle(KayitID)
    End If
4 - frmPersonelKayit formundaki kapat düğmesinin kodunu da aşağıdaki gibi
Private Sub btn_Kapat_Click()
KayitID = 0
Unload Me
End Sub
düzenleyip dener misiniz
17/05/2025, 16:42

Oğuz Türkyılmaz

(17/05/2025, 16:20)berduş yazdı: aşağıdaki adımları takip edip dener misiniz?
1 - frmPersonelKayit formundaki Public KayitID As Long değerini silip mdl_SQL modulüne ekleyin
2 - frmPersonelListesi formundaki [/b]lstPersonel_DblClick olayını aşağıdaki gibi düzenleyin
Private Sub lstPersonel_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If lstPersonel.ListIndex = -1 Then Exit Sub

If lstPersonel.ListIndex = -1 Then Exit Sub

Dim secilenID As Long
secilenID = CLng(lstPersonel.List(lstPersonel.ListIndex, 0))

KayitID = secilenID
frmPersonelKayit.Show vbModal
End Sub
3 - frmPersonelKayit formundaki UserForm_Initialize olayındaki aşağıdaki bloğu aktif yapın
    If KayitID > 0 Then
Call KayıtYukle(KayitID)
End If
4 - frmPersonelKayit formundaki kapat düğmesinin kodunu da aşağıdaki gibi
Private Sub btn_Kapat_Click()
KayitID = 0
Unload Me
End Sub
düzenleyip dener misiniz


Hepsini uyguladım ama Maalesef frmPersonelKayıt açılırken aynı hatayı vermeye hata veriyor. Düzenlenmiş dosyayı yükledim @berduş hocam.
1 2 3