Sayın karam
Registere yazdırılan bir laydın tekrar tablo üzerine aktarılmasını istemişsiniz. Aslında sanırım bunu registerden direk veri alamadığınız için yaptınız. Oysa registerde
Access projelerinin yazdığı yeri sağır sultan bile biliyor. Tekrar yazmak istemiyorum, çünkü birçok arkadaş registere yazdırıp lisans kontrolu yaptırıyor. Bununla ilgili
Access bölümünde cevaplanmış sorularda son bir mesajım vardı. Onda birçok yöntemden bahsetmiştim. Tekrar okumanızı öneririm.
Bir de bir şey dikkatimi çekti. Hem tabloda güvenli olmadığını söylemişsiniz, mde olsa bile tablodan okunabildiğini yazmışsınız, hem de register kaydını tabloya aktarıp karşılaştırma yapmak istiyorsunuz. Halbuki genelde biz onu bir değişkene aktarıp kullanıyoruz.
Private Sub Form_Unload(Cancel As Integer)
SaveSetting "Programın_adi", "Ayarlar", "Son Çıkış Tarihi", Date
'Bir formun unload eyleminde registere program adı altında malum yere "ayarlar" altına "son çıkış tarihi kaydı kaydediliyor
SaveSetting "Programın_adi", "Ayarlar", "Son Çıkış Saati", Time
'aynı şekilde zaman da oraya kaydediliyor
End Sub
Private Sub Form_Current()
If Me.diskno = VolumeSerialNumber("C:\") Then
'eğer diskno değişkeni c diskinin serinosuyla aynıysa sorun yok
Else
If Me.diskno = "DEMO" Then
'eğer disk no = "demo" ise o zaman
On Local Error Resume Next
Dim d, X, y
d = GetSetting("Programın_adi", "Ayarlar", "İlk Giriş", "")
'd değişkenine registerdeki "ilk giriş" değerini ata... İşte burası sizin aradığınız yer..................
Bakın bir değişken açılmış ve
d = GetSetting("Programın_adi", "Ayarlar", "İlk Giriş", "")
şeklinde registerdeki değer değişkene aktarılmış. Böylece programın kırılması için gereken değer sadece açıldığında bir değişkene atılıyor. Oysa bunu bir tabloya aktarmak çok doğru değil.
Bu arada bu değerleri üstü kapalı bir şekilde ve şifreleyerek yazarsanız daha iyi olur. Çünkü şahsen ben, programın_adi şeklindeki anahtarı registerde hemen arayıp bulurum
))