Skip to main content

AccessTr.neT


Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında

Oğuz Türkyılmaz
Oğuz Türkyılmaz
6
980

Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında

Çözüldü #1
Merhaba Herkese sağlıklı günler dilerim.
Excel dosyamda Userform üzerinden Ana Sayfa sekmesindeki tabloya veri kaydediyorum. Yapmak isteyip de çözemediğim şey Ana Sayfa sekmesine sayfa koruma koymak istiyorum fakat koyduğumda Userform üzerinden kayıt yaptırmıyor haliyle. Korumalı bir sayfaya userform üzerinden kayıt eklemenin ve bu korumalı sayfada istendiğinde verileri filtreletmenin bir yolu var mı? Teşekkürler.
.rar Awa.xls.rar (Dosya Boyutu: 128,12 KB | İndirme Sayısı: 2)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
Form açılırken sayfa korumasını kod ile kaldırın işlem bitince yeniden korumaya alın. Arşivimde benzer konuya ilişkin eski bir kod buldum, benzer bir yapı uygulayabilirsiniz.

Const PW As String = "password" '<-password yazan yere şifrenizi uygulayın
On Error GoTo exit_proc
With ActiveSheet
.Unprotect PW
    .ShowDataForm
exit_proc:
    .Protect PW
    End With
End Sub

veya userinterface özeliğinden aşağıdakine benzer bir kod ile fayda sağlayabilirsiniz.

Private Sub Workbook_Open()
Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
      wks.Protect , UserInterfaceOnly:=True
    Next wks
End Sub
Cevapla
#3
ThisWorkbook.Worksheets("Ana Sayfa").Unprotect "sifre"
Kayıt ekleme kodunu ılk satırına yukardaki end sub tan önceki satırada alttaki kodu ekleyin.Tabii sifre yerine istediğiniz yazılacak.
ThisWorkbook.Worksheets("Ana Sayfa").Protect "sifre"
Cevapla
#4
(22/02/2021, 23:09)feraz yazdı:
ThisWorkbook.Worksheets("Ana Sayfa").Unprotect "sifre"
Kayıt ekleme kodunu ılk satırına yukardaki end sub tan önceki satırada alttaki kodu ekleyin.Tabii sifre yerine istediğiniz yazılacak.
ThisWorkbook.Worksheets("Ana Sayfa").Protect "sifre"

Feraz Bey çok teşekkür ederim. Gayet basitçe hallolmuş.Sağolun.

(22/02/2021, 21:32)atoykan yazdı: Form açılırken sayfa korumasını kod ile kaldırın işlem bitince yeniden korumaya alın. Arşivimde benzer konuya ilişkin eski bir kod buldum, benzer bir yapı uygulayabilirsiniz.

Const PW As String = "password" '<-password yazan yere şifrenizi uygulayın
On Error GoTo exit_proc
With ActiveSheet
.Unprotect PW
    .ShowDataForm
exit_proc:
    .Protect PW
    End With
End Sub

veya userinterface özeliğinden aşağıdakine benzer bir kod ile fayda sağlayabilirsiniz.

Private Sub Workbook_Open()
Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
      wks.Protect , UserInterfaceOnly:=True
    Next wks
End Sub

Dediğiniz gibi Feraz hocamın kodu işi çözdü. Sağolun.
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 23/02/2021, 11:02, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#5
Rica ederiz abey.Kayıt ekleme,sil vs.. için tek tek eklemektense bir modüldeki sub içine unprotect olanı başka bir sub içinede protect olanı eklerseniz kodu çağırırken basit olur.Tabii workbook.open içinede yazarsanız açılışta kilitlenir abey.Biraz karışık anlattım ama durum bu Img-grin
Cevapla
#6
Yani boş bir modüle alttaki gibi eklerseniz
Çağırken kilitac  ve kilitle olarak çağırabilirsiniz kodların ilgili yerlerine
Belki mobilden hatalı yazmış olabilirim

Public Sub kilitle()
ThisWorkbook.Worksheets("Ana Sayfa").protect "sifre"
End sub

Public Sub kilitac()
ThisWorkbook.Worksheets("Ana Sayfa").Unprotect "sifre"
End sub
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da