kayıt kilidi

Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
Arkadaşlar kolay gelsin şöyle bir sorunum var.
Formda bir kayıt düzenliyorum ama bunun bir onay kutusuyla yada başka birşeyle sadece o kaydın kilitlenmesini istiyorum. onayı kaldırdığımda tekrar kilitin açılmasını istiyorum. böyle birşeyi nasıl yapabiliriz.
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
arkadaşlar bu konuda yardımcı olabilirmisiniz.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Bir onay kutusu yerleştirin;
Ve bulunduğu forma şu kodları yazın
Kod:
Option Explicit
Dim ChckBool As Boolean
 
Private Sub Form_BeforeUpdate(Cancel As Integer)
If ChckBool = False And Me!Onaykutusuadi = True Then
MsgBox "Değişklik yapabilmeniz için onay kutusunu açınız...", vbCritical
Cancel = True

Me.Undo
Else
ChckBool = False
End If
End Sub
 
Private Sub Onaykutusuadi_AfterUpdate()
ChckBool = True
DoCmd.RunCommand acCmdSelectRecord
End Sub
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
Ben farklı anlamıştım soruyu. Çoklu kullanımda nasıl olur ben de merak ediyorum. Database bazında kaydı kilitle ve aç.
 
Katılım
14 Ağustos 2007
Mesajlar
291
Excel Vers. ve Dili
office 2003, sql server
merhaba,
Eğer Doğru anladıysam;
bi tane onay kutusu koyalım adı Onay1 Olsun, daha sonra onay1 tıklandığında olayına şöyle yazalım: (veya çok yere uygulanabilir..)

if onay1= -1 then
AllowEdits=false ' yani kayıt düzenlemesine izin verme
else
if onay1=0 then
AllowEdits=true ' yani kayıt düzenlemesine izin ver bunu yazmazsak kayıt kilitli kalır hep.
end if
end if


Eğer formda kayıt engellemek istiyorsak o durumda şöyle yapılır:

if onay1= -1 then
AllowAdditions=false 'yani kayıt eklemesine izin verme
else
if onay1=0 then
AllowAdditions=true ' yani eklemesine izin ver
end if
end if


saygılar
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
sayın beab05 in kodunu onay kutusuna yerleştiremedim.
sayın cüneyta nın kodunu yerleştirdim lakin anladığım kadarıyla o kod tüm formu kilitleyip kilidi açıyor değilmi.

benim istediğim ise sadece kayıt bazında kilit oluşturmak.
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
arkadaşlar şu kilid olayını çözelim...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın kaikai,

Bu kayıt kilitleme işi tehlikeli. Sayın cuneyta nın yazdığı AllowEdits özelliğinin doğru yada yanlış yazmasıyla çözülür. Ve dediğiniz gibi o anda formda bulunan tüm elemanları kitliyor. Ancak uygulamayı nerede kullandığınız, formun tek formmu sürekli mi veya veri görünümünde mi olduğu hakkında bilgi vermediniz.

En kısası ise örnek eklemediniz.

Örneğe göre yukarıdaki özeeliğin kullanım şekil ve kodu değişebilir. Kilitlemeyle neyi hedefliyorsunuz. Eğer ağda bir uygulama kullanıyorsanız Accessin üstünden otomatik olarak kilitleniyor zaten.

İyi çalışmalar:hey:
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
kendi dosyam baya büyük. küçük bir örnek hazırladım.
 
Katılım
14 Ağustos 2007
Mesajlar
291
Excel Vers. ve Dili
office 2003, sql server
merhaba,
sorduğun soru anladığım gibiyse tıkladığında alanlar kilitlensin istiyorsun sanırım.

Kod:
If Onay22 = -1 Then
alan1.Locked = True
alan2.Locked = True
alan3.Locked = True
Metin12.Locked = True

Else
If Onay22 = 0 Then
alan1.Locked = False
alan2.Locked = False
alan3.Locked = False
Metin12.Locked = False
End If
End If
örnek ilişikte, inşallah doğru anlamışım..
saygılar.
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
sayın cüneyta;
öncelikle ilginize tşk.ler yaptığınız formu inceledim. yaptığınız işlem tüm kayıtların kilitlenmensini sağlıyor. benim istediğim tek bir kayıt bazında kayıtların kilitlenmesi. yani formda 1 kayıtta bastığımda 1. kayıt kilitlenecek. 2 kayıtta basmazsam 2. kayıt kilitlenmeyecek.
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
Sayın kaikai ,

bunu ne amaçlı kullanacaksınız biraz anlatır mısınız?

Yani, ben kullanıcıyım, form önümde, kutucuğu işaretliyorum alanlar kilitleniyor,
işareti kaldırıyorum kilitli alanlar açılıyor.

Ne işe yarayacak doğrusu anlamadım.

Eğer kilitlendiği zaman, çoklu kullanımda diğer kullanıcılar için kayıt kilitlenecek diyorsanız mantıklı da, bu pek mantıklı gelmedi bana.
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
şimdi tekliflerle ilgili bir çalışmam var ve bayada işliyor. Ben sistemi bildiğim için problem yaşamıyorum lakin benim dışımda kullananlar özellikle kayıt yaparken sorun yaşıyorlar. kaydedilmiş veriler üzerinde değişiklikler yapabiliyorlar bu nedenle kayıtları işledikten sonra kilitletip bu sorunu aşmayı düşünüyorum. Bana cüneyta dan gelen örnekte butona basıldığında tüm formun kayıtların kilitliyor hangi kayda gidersem gideyim değişiklik yapamıyorum. ben sadece kilitlenen kayıtlarda değişiklik yapılmasına izin vermesin bunu istiyorum.
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
kayıtlara kilidi kim, nasıl koyuyor?

tabloda bir alan var da buraya mı işaret atıyorsun?

ben hala ısrarla form üzerindeki kutucuğun, bu iş için anlamsız olduğunu düşünüyorum.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Varolan kayıtlar üzerinde olası değişklikler için uyarı mesajı verdirseniz tamam ya da iptal gibi.. İptal denildiğinde değişklikleri geri alsa??
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
Ben de aynen bu şekilde bir uygulama yapmıştım.
Teklif print edilmişse, tabloda bir alana işaret atıyordum.

Diğer taraftan, herhangi bir kullanıcı bu kaydı çağırdığında,
bu alanda işaret olduğu için formu kilitliyordum.

Kilidi kaldırma işi ise yöneticiye aitti.

Senin de buna benzer bir uygulama herhalde.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın kaikai,

O zaman alanları disable yapın o zaman sadece bilgi görünecek, değişiklik yapılamıyacak. Ancak yeni kayıt eklenirken ulaşılabilir yapı alanlarınızı. Tabiki diğer bilgisayrlardaki kopyalara.

İyi çalışmalar
 
Katılım
14 Ağustos 2007
Mesajlar
291
Excel Vers. ve Dili
office 2003, sql server
sayın cüneyta;
öncelikle ilginize tşk.ler yaptığınız formu inceledim. yaptığınız işlem tüm kayıtların kilitlenmensini sağlıyor. benim istediğim tek bir kayıt bazında kayıtların kilitlenmesi. yani formda 1 kayıtta bastığımda 1. kayıt kilitlenecek. 2 kayıtta basmazsam 2. kayıt kilitlenmeyecek.

Hayır Arkadaşım tüm kayıt kilitlenmiyor hangi alanları istiyorsano alanlar kilitleniyor, senin yapacağın tablona bir onay kutusu eklemek, bir form açarsın şu kayıt değiştirilebilsin şu kayıt değiştirilemezsin v.s hangi kayda ait onay kutusunu işaretlersen yazdığım kodlara göre kilitli olur, istersen enabled.false olayı yaparsın istersen tektbox.locked=false.. örneğin 3.kayıtta değişiklik yapılmamasını istiyorsan o kaydın onay kutusunu işaretlersin, bir tek o kayıt kilitli olur.. şaşırdım kaldım..
 
Katılım
17 Temmuz 2007
Mesajlar
162
Excel Vers. ve Dili
xp türkçe
şimdi anladım demek istediğinizi...
ben her kayıt için onay kutusu olsun
 
Üst