Skip to main content

AccessTr.neT


Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
27
407

Excel Vba İle Userform Üzerinden Kayıt Silme Hakkında.

Çözüldü #1
Merhaba İyi Pazarlar Herkese
Uygulamamda menu sekmesinde Bayi Formu tıklandığında userform açtırıyorum. Devamında Firma Ünvanı Comboboxında silmek istediğim firmayı seçip userform üzerine firma bilgilerini aldıktan sonra sil butonuna tıklayarak silmek istiyorum. Uygulamada daha önce bu işlem Firma ID bilgisi üzerinden arama yaptırılarak bilgiler ekrana getiriliyor ve kayıt sil butonu ile gerçekleştiriliyordu. Uguladığım bu yöntemi zaman alması ve hantal olması sebebiyle değiştirmek istiyorum. Yardımlarınız için teşekkür ederim.
.rar WINPERAX DENEMELER.rar (Dosya Boyutu: 205,2 KB | İndirme Sayısı: 4)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
Merhaba alttaki kod işinizi görür.Combo seçilince ComboBox_FirmaUnvani.Tag  buna satır no geliyordu varsa.Comcodan seçilen yoksada mesaj yazdırdım yani fazla kod eklemedim.
Kısaca
Kod
.Rows(ComboBox_FirmaUnvani.Tag).EntireRow.Delete
ekledim
Kod
.Rows(ActiveCell.Row).Delete
yerine.

Visual Basic Code
Private Sub btn_KayitSil_Click()
    If MsgBox("Veriler Silinecek, Emin misiniz...?", vbExclamation + vbYesNo, "Firma Tanýmlama Formu") = vbNo Then Exit Sub
    With ThisWorkbook.Worksheets("Ana_Sayfa")
        If ComboBox_FirmaUnvani.Tag = "" Then
            MsgBox "Kayit bulunamadi..", vbCritical, "Hata"
            Exit Sub
        End If
        .Unprotect "171717"
        .Rows(ComboBox_FirmaUnvani.Tag).EntireRow.Delete
        .Protect "171717"
        Call temizle
        TextBox_Tarih = Format(Date, "dd.mm.yyyy")
    End With
    TextBox_Tarih.SetFocus
    With TextBox_Tarih
        .SelStart = 0
        .SelLength = .TextLength
    End With
    btn_KayitEkle.Enabled = True
End Sub
Cevapla
#3
Feraz Hocam o kısacık kod için göbeğim çatladı 2 gündür nette izlemediğim video kalmadı bana uygununu bir türlü bulamadım. Çok teşekkür ederim. Sorunum çözülmüştür.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#4
Rica ederim abey.Önceden halil hocamız tag ile satır no buldurmuştu find kullanarak.Kullanmasaydı burdada aynı find kullanacaktım bukez tag olmadan.Kolay gelsin.
Cevapla
#5
Abey bence tag yöntemi ile yapılan sorun çıkartabilir.
En iyisi alttaki kodu kullanın.

Visual Basic Code
Private Sub btn_KayitSil_Click()
    Dim bul As Range
    If MsgBox("Veriler Silinecek, Emin misiniz...?", vbExclamation + vbYesNo, "Firma Tanymlama Formu") = vbNo Then Exit Sub
    With ThisWorkbook.Worksheets("Ana_Sayfa")
        Set bul = .Range("A:A").Find(TextBox_ID.Value, , xlValues, 1)
        If bul Is Nothing Or TextBox_ID.Value = "" Then
            MsgBox "Kayit bulunamadi..", vbCritical, "Hata"
            Set bul = Nothing
            Exit Sub
        End If
        .Unprotect "171717"
        .Rows(bul.Row).EntireRow.Delete
        Set bul = Nothing
        .Protect "171717"
        Call temizle
        TextBox_Tarih = Format(Date, "dd.mm.yyyy")
    End With
    TextBox_Tarih.SetFocus
    With TextBox_Tarih
        .SelStart = 0
        .SelLength = .TextLength
    End With
    btn_KayitEkle.Enabled = True
End Sub
Cevapla
#6
Silme kodundan sonra .tag="" gibi boşaltma kodunun eklenmesi yeterli olmaz mi?
Sizce tag hangi durumlarda sorun çıkarabilir @feraz hocam?
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da