Skip to main content

AccessTr.neT


Tabloda sadece belli bir hücreye kısıt getirme??

Tabloda sadece belli bir hücreye kısıt getirme??

Çözüldü #1
Merhaba arkadaşlar,
Tablodaki belli bir hücreye kısıt getirmek istiyorum.
Örneğin; tablomu oluşturdum, kayıtları girdim.
"Miktar" isimli alana ilk kayıt "500 adet" girildi diyelim. Ben bu 500 adetin kimse tarafından değiştirilmemesini istiyorum. Sadece Miktar alanına ait (o sütuna ait) hücrelere girilen değerlerin değiştirilmemesini istiyorum. Kişi gelip orada değişiklik yapmak istediğinde bir uyarı versin "Bu değeri değiştiremezsiniz" şeklinde.
NOT: TÜM SÜTUNA DEĞİL SADECE İSTEDİĞİM HÜCRELERDE BU KISITI YAPMAK İSTİYORUM..

Yardımlarınızı bekliyorum...
Cevapla
#2
Sayın dilcet38,

Bahsettiğiniz talebinizin çözümü için direkt tablodan yapılamaz fakat form oluşturup aşağıda anlatımları yapılan iki seçenek uygulanarak yapılabilir.fakat bu iki seçeneği uygularken sonrası için yapılması gereken başka kodlama işlemleri de söz konusu.zira,her iki seçenekteki ayarlamaları yaparken dışarıdan müdahale edilmesini engellemiş oluyorsunuz fakat kendiniz,ilgili kayıtta bir düzenleme ya da güncelleme yapmak istediğiniz takdirde siz de bu engellemeye maruz kalmış olacaksınız.doğal olarak da,siz de bir işlem yapamayacaksınız.fakat bunu gidermek için birkaç kod yazmanız yeterli olacaktır.bu kodlar,seçeneklerin anlatımları içerisinde bahsedilecektir.Ek’te,bu iki seçeneğe yönelik örnek uygulama mevcuttur.inceleyebilirsiniz.


SEÇENEK-1 / METİN KUTUSUNUN KİLİTLİ İZNİNİ GEÇERSİZ KILMA (ÖRNEK: Form1)

Me.metin_kutusu_adi.Locked = True (Locked =Kilitleme işlemi için kullanılmaktadır)

Öncelikle,formunuzun tasarım sayfasındayken,kilitlenmesini istediğiniz metin kutusuna sağ tuş ile tıklayıp
Özellikler – Veri – Kilitli satırını EVET olarak değiştiriniz.böylece, o metin kutusuna gelindiğinde herhangi bir içerik düzenlemesi söz konusu olmayacaktır.fakat tabi ki,bu ayarlama ile kişilerin dışarıdan ilgili metin kutusuna müdahale etmesini engellerken,siz de aynı engellemeye maruz kalacaksınızdır.bunu gidermek için;

Örnekteki Form1deki gibi,kilitlemek istenilen metin kutusunun çift tıklandığında olay yordamına (örnekte,isim metin kutusu tercih edilmiştir)bir Inputbox ile şifre sorulup bu şifrenin doğru olması sonucunda da o metin kutusunun kilidinin açılması sağlanmış olmaktadır.akabinde de,gerek görülecek yeni kayıt değişimleri sonrasında Güncelleme butonuna da,gerekli UPDATE Sql sorgu ifadesi yazılarak güncellemenin yapılması sağlanabilir ve en son olarak da bu güncelleme sorgusunun sonuna yine ilgili metin kutusunun kilitlenmesi tekrar sağlanabilir.

Visual Basic Code
Private Sub isim_DblClick(Cancel As Integer)
Dim bilgial, sifreyaz
sifreyaz = "123"
bilgial = InputBox("Şifreyi giriniz", "Şifre?")
If bilgial = sifreyaz Then
'metin kutusunun kilidini açmak için
    Me.isim.Locked = False
    Me.Komut12.Enabled = True
Else
    MsgBox ("Şifre hatalı"), vbCritical, "UYARI"
End If
End Sub

Private Sub Komut12_Click()
MsgBox ("kayıt güncellendi")
'metin kutusunun kilidini tekrar kapatmak için
Me.isim.Locked = True
Me.isim.SetFocus
Me.Komut12.Enabled = False
End Sub


SEÇENEK-2 / FORMUN GENEL DÜZENLENME İZNİNİ GEÇERSİZ KILMA (ÖRNEK: Form2)

Me.AllowEdits = True (AllowEdits=Düzenleme izni için kullanılmaktadır)

Formunuzun tasarım sayfasındayken,boş bir alanına sağ tuş ile tıklayıp
Özellikler – Veri – Düzenleme İzni satırını EVET olarak değiştiriniz.böylece, bir kayda gelindiğinde o kayıt için herhangi bir veri düzenlemesi söz konusu olmayacaktır.fakat tabi ki,bu ayarlama ile kişilerin dışarıdan kayıtlara müdahale etmesini engellerken,siz de aynı engellemeye maruz kalacaksınızdır.bunu gidermek için;

Örnekteki Form2deki gibi,herhangi bir metin kutusunun çift tıklandığında olay yordamına (örnekte,isim metin kutusu tercih edilmiştir)bir Inputbox ile şifre sorulup bu şifrenin doğru olması sonucunda da o metin kutusunun kilidinin açılması sağlanmış olmaktadır.akabinde de,gerek görülecek yeni kayıt değişimleri sonrasında Güncelleme butonuna da,gerekli UPDATE Sql sorgu ifadesi yazılarak güncellemenin yapılması sağlanabilir ve en son olarak da bu güncelleme sorgusunun sonuna yine ilgili metin kutusunun kilitlenmesi tekrar sağlanabilir.

Visual Basic Code
Private Sub isim_DblClick(Cancel As Integer)
Dim bilgial, sifreyaz
sifreyaz = "123"
bilgial = InputBox("Şifreyi giriniz", "Şifre?")
If bilgial = sifreyaz Then
'formun Düzenleme izninin geçerli olması için
    Me.AllowEdits = True
    Me.Komut12.Enabled = True
Else
    MsgBox ("Şifre hatalı"), vbCritical, "UYARI"
End If
End Sub

Private Sub Komut12_Click()
MsgBox ("kayıt güncellendi")
'formun Düzenleme izninin geçersizleştirmek için
Me.AllowEdits = False
Me.isim.SetFocus
Me.Komut12.Enabled = False
End Sub

anlatımda bahsi geçen açıklamalar,örnek incelenerek daha net değerlendirmeyi sağlayacaktır.bilgilerinize.

iyi çalışmalar,
saygılar.
.rar Kilitleme-ATOZ.rar (Dosya Boyutu: 19,56 KB | İndirme Sayısı: 14)
Herkes,kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#3
Merhabalar, öncelikle yardımlarınız ve verdiğiniz bilgiler için teşekkürler. Yalnız şöyle bişey takıldı kafama biz bunu tablo üzerinden yapamıyorsak, herhangi bir kullanıcı gelip o tablodan değerleri değiştirebilir ozaman. Güvenlik açısından pek sağlıklı olacağını düşünmüyorum. Sonuçta form üzerinde kilitlesek bile kişi gidip tablodan değiştirebilir...
Cevapla
#4
eğerki kişi zaten tablodan değiştirecek olsa her türlü değişiklik yapar ki siz projenizi derleyip kod bölümlerini kilitlemediğiniz sürece. aslında o kadarda takılınacak bir durum değildir bu. o kötülüğü yapabilecek birinin bilgisayarınızın başında ne işi var? Eta, Logo, Link MsSQL de veri tabanlarını tutuyorlar ve onlar bile şifre koymuyor veri tabanına..
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#5
Sayın dilcet38,

Eğer bahsettiğiniz gibi kullanıcılara yönelik olarak öyle art niyetlerin olabileceği ortamlarda olunuyorsa o zaman uygulamanın bir çok açıdan her türlü güvenlik durumlarını da hazırlayıp bunları oluşturduktan sonra kullanıma sunmak daha geçerli olacaktır.bu güvenlik önlemlerinin de çeşitliliği söz konusu.bunları uygulamanıza adapte etme konusunda sorun yaşamamak için de bunlarla ilgili örnekleri incelemek ve nasıl oluşturulduğuna dair bilgileri mevcutsa öğrenip benimsemek ve sonrasında da uygun olduğuna karar verildiği takdirde kendi uygulamanıza adapte etmekte fayda var.bunların belli başlı neler olduğuna dair aşağıda birkaçının bahsi yapılmaktadır.ilgili konularda gerekli araştırmaları yaparak bilgileri edinip örnekleri inceleyebilirsiniz,sitede her biri için gereken konular var.

1) YETKİLENDİRME / KULLANICI TANIMLAMA
Yetkilendirme işlemlerini uygulamak sureti ile,uygulamanızı paylaştırıp çalıştırmalarını sağlayacağınız kullanıcılarınıza,
uygulamanızda;hangi tablo,sorgu,form,rapor v.s.gibi kısımları kullanabilir ya da kullanamaz (yetkisi yok) şeklinde bir eklemede bulunabilirsiniz.böylece,kullanıcılar sadece kendilerine yetki tanınan kısımlarla ilgili giriş yapabilirler,diğer kısımlara girişleri söz konusu olmaz.böylece,her kullanıcı kendi işlerini yapmak durumunda kalır.

2) MDE YAPMAK
Araçlar – Veritabanı Hizmet Programları – MDE Yap
uygulamanızı MDE olarak kaydedip,kullanıcılara bu şekilde sunmanız durumunda,kullanıcıların tasarım ve düzenleme işlemlerine girişleri olmayacak ve böylece,yukarıda belirttiğiniz çekincelerinize de gereksiniminiz kalmamış olacak.

3) TABLOLARINIZI AYRI VERİTABANINDA BULUNDURMAK
Tablolarınızı ayrı bir veritabanında bulundurup (hatta,bu veritabanını da kendi bilgisayarınızda bir klasör içerisinde de barındırabilirsiniz,biraz daha erişilemezlik olması için),diğer form,rapor,sorgu kısımlarını da kullanıcılara sunacağınız bir veritabanında bulundurduğunuzda,kullanıcılar;sadece diğer işlemlerin olduğu uygulama üzerinden çalışacaklar ve tablolarınıza zarar veremeyeceklerdir.(Bağlı tablo konusunu araştırabilirsiniz.)

4) ACCESS PENCERESİ GİZLEME / SHIFT TUŞU ENGELLEME
Access arka plan uygulamasını gizlemek ve bununla beraber SHIFT tuşu ile uygulama açma ve inceleme durumlarını engellemek sureti ile,kullanıcıların;uygulamanıza müdahale etmelerini de engellemiş olacaksınız.

Sayın dilcet38,
Şimdilik ilk aklıma gelen ve öncelikli olabilecek hususlar olarak bunları öngörmekteyim.elbette ki,bu durum için daha ekleme yapılabilecek bilgi paylaşımları da söz konusu olacaktır.fakat,her ne kadar böyle çalışmalarda bulunursak bulunalım,eğer çalıştığımız kişiler içinde yukarıda bahsettiğiniz gibi zarar vermeye konuşlanmış,böyle zarar vericiler in söz konusu olduğu ortamlarda olunduğunda,kimi zaman eğer ki bu kullanıcılar konulara hakimiyetleri yoksa bu engellemelerle çözüm üretilmiş olunur ve korumalar sağlanmış olur fakat eğer orta veya ileri düzey bilgileri mevcutsa bu kişilerin o zaman ne kadar engellemede bulunulursa bulunulsun illa ki bu zarar verme durumlarının gerçekleşme imkanları da kesin olacaktır.o zaman da,öncelikli olarak bu kişilerin tespiti yapılıp ilişiklerinin kesilmesi sağlanmalı ve ayıklanmalı.bu da,ayrı bir kapsama girer.uygulama üzerine yapılabilecekler şu an itibarı ile bunlardır.ve bunlar da genelde kabul görür işlemlerdir.bütün bu bahsedilenleri uygulamanızda komple de adapte ederek,yoğun güvenlik durumlarını sağlayabilirisniz.tabi,bu kadar aşırısına gereksiniminiz var mı,siz karar vereceksiniz.kimi zaman,aşırı güvenlik de sorunlar yaratabilir.bunu da unutmamak gerekir.

öncelikli olarak,isterseniz bu yukarıda bahsi yapılan işlemlere dair bu siteden araştırmalarda bulunup konuların içeriklerinde paylaşılan bilgileri ve örnekleri inceleyiniz ve uygun gördüklerinizi kendi uygulamanıza teker teker denemelerde bulunarak adapte ediniz.test çalışmalarında bulunarak kullanımlarını sağlayınız.sonrasına da sonrasında açacağınız yeni sorunlarınız söz konusu olduğunda her bir konu paylaşımlarınızda değerlendirmeler yapılır ve bilgi paylaşımları sonucu uygulamanız için en doğru çözümleri bulmuş ve uygulamış olursunuz.

İyi çalışmalar,
Saygılar.
Herkes,kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da