Skip to main content

AccessTr.neT


şifreli giriş problemi

şifreli giriş problemi

Çözüldü #1
[/align]formda yetkilendirme ile ilgili konulardan yararlanarak kendi çalışımda giriş kısmı yaptım.Fakat kodlarda ID kısmı hata veriyor.?
.rar yetkilendirme.rar (Dosya Boyutu: 342,13 KB | İndirme Sayısı: 33)
Burda olmaktan MUTLUYUMM .... Img-grin
Cevapla
Çözüldü #2
Komut düğmesinin tıklandığında olayındaki kodları aşağıdaki kodlarla değiştirin:

Kod:
Private Sub Komut4_Click()

'kullanıcı adını giriniz
   If IsNull(Me.kullaniciadi) Or Me.kullaniciadi = "" Then
           MsgBox "lütfen kullanıcı adını giriniz..", vbOKOnly + vbInformation, "UYARI PENCERESİ"
           Me.kullaniciadi.SetFocus
        Exit Sub
    End If
'kullanıcı şifresini giriniz

'girilen kullanıcı adı ve şifresini "tblkullanıcılar" tablosundan kontrol et
    
    If Me.sifre.Value = DLookup("sifre", "tblkullanıcılar", "[ID]=" & Me.kullaniciadi.Value) Then

'kullanıcı giriş formunu kapat ve frmadmin kullanıcı tanımlama formunu aç
    
       Me.Form.Visible = False
       DoCmd.OpenForm "frmacilis"
    End If
    
'eğerki kullanıcı 3 kez hatalı girerse programı kapat
    
    intLogonAttempts = intLogonAttempts + 1
    If intLogonAttempts > 3 Then
       MsgBox "HATALI GİRİŞ LİMİTİNİ AŞTINIZ.PROGRAM KENDİNİ KAPATACAKTIR..", vbCritical, "uyarı mesajı"
       Application.Quit
    End If
End Sub

Bir de, örnekleri incelerken neyin nerden alındığına dikkat edin bundan sonra. Yetki diye bir tablonuz yok ama Yetki tablosundaki sifre alanından veri almaya çalışıyorsunuz. Doğal olarak da hata alıyorsunuz...

Bununla ilgili benim bi örneğim var forumda:

https://accesstr.net/yetkilendirmeler-il...ml#pid9919


Yukarıdaki örneği incelemenizi şiddetle tavsiye ederim. Orda ne demek istediğimi daha iyi anlayabilirsiniz...

Bir de, müsaadenizle birkaç konuda eleştiride bulunmak istiyorum:

Veritabanını hazırlarken tbl ve frm diyerek tablo ve formları ayırt etmişsiniz. Çok güzel.. Ancak Tablo ve alanlarda "Türkçe Karakter" kullanmışsınız. Türkçe karakterlere dikkat edin. İlerde başınızı ağrıtır. Boşluk bırakmayın. İllaki boşluk bırakmanız gerekirse de alt çizgi kullanın. Tablo tasarımı çalışın bence...

Sayın atlantis8334, gördüğüm kadarıyla forumda aktif bi üyesiniz. Onun için size bunları yazıyorum. Yoksa, "Soruyu cevapladım, biraz da eleştireyim" falan tarzı bi ukalalık değil niyetim... Img-grin

Umarım işinize yarar söylediklerim...

Saygılar...
NZ Fonksiyonunun (İşlevinin) Ayrıntılı Anlatımı İçin Tıklayın...
DSum ve Sum Fonksiyonunun (İşlevinin) Ayrıntılı Anlatımı İçin Tıklayın...
DLookup Fonksiyonunun (İşlevinin) Ayrıntılı Anlatımı İçin Tıklayın...
Cevapla
Çözüldü #3
uyarılarınız benim için çok önemli.Sizlerden ne öğrenebilirsem benim için kârdır.Sizlerin öğretileriyle birşeyler yapmaya çalışıyorum.
Yapmış olduğunuz örneği inceleyip kontrol edicem.
Sizde hakılısınız , yapılan birkaç örnekten faydalanarak hazırlanmaya çalışıyorum. E buda birkaç problemi doğuruyor...
Burda olmaktan MUTLUYUMM .... Img-grin
Cevapla
Çözüldü #4
merhaba
aslında tdsharun hocam güzel bir şekilde cevaplamış ve açıklamasınıda yapmış, ancak bende birşeyler yapmıştım belki sen kullanmasan bile başka bir arkadaşın işine yarar,fazla mal çıkarmaz diyerek ekledim boşa gitmesin..Biggrin
.rar ornek2-Celoy cevap.rar (Dosya Boyutu: 491,88 KB | İndirme Sayısı: 56)
Cevapla
Çözüldü #5
Elinize sağlık hocam. Dediğiniz gibi, fazla mal göz çıkarmaz...
NZ Fonksiyonunun (İşlevinin) Ayrıntılı Anlatımı İçin Tıklayın...
DSum ve Sum Fonksiyonunun (İşlevinin) Ayrıntılı Anlatımı İçin Tıklayın...
DLookup Fonksiyonunun (İşlevinin) Ayrıntılı Anlatımı İçin Tıklayın...
Cevapla
Çözüldü #6
Açıklamaların için teşekkürler sn. tdsharun, bence kesinlikle ukalalık değil anlattıkların çok önemli bir uyarı.

Access ile uğraşan birçok kişi kodları "Deneme-Yanılma Yolu"nu kullanarak uyguluyor. Bu kodların birçoğu da başka uygulamalardan alıntı.

Mesela Açağıdaki kodu kendi uygulamasında kullanmak istendiğinde
Kod:
gecensure = Format(Date - DLookup("Last(bakimtarihi)", "BAKIMTABLOSU"), "00")
kodu kendi uygulamasına göre değiştiriyor ve çalıştırdığında hata alıyor çünkü üstteki kodda bulunan "BAKIMTABLOSU" isimli tablo kendi uygulamasında "Müşteri Bilgileri", "bakimtarihi" isimli alan adı ise "İşe Giriş Tarihi",
Üstteki kodu
Kod:
gecensure = Format(Date - DLookup("Last(İşe Giriş Tarihi)", "Müşteri Bilgileri"), "00")
şeklinde kullanılarak deniyor ve sürekli yanılıyor. Kod bilgisi fazla olmadığı içinde çözüm bulamıyor.
Uygulamasına başladığında uyarılarımızı dikkate alıp tablo adını "musteribilgileri", "MUSTERIBILGILERI" veya "musteri_bilgileri" alan adını da "isegiristarihi" veya "ise_giris_tarihi" olarak yazsaydı sorun yaşamayacaktı.

Konu ile ilgili en güzel örnek POLSOFT. Polsoftta "ÇALIŞTIĞIYER", "YEDEKGEÇMİŞ" gibi tablolar, "BAKMAKLAYÜKÜMLÜADI", "SİCİLİ" gibi alan adları var. Çünkü ilk başladığımda sorunun bukadar büyüyebileceğini bilmiyordum ve o yıllarda söyleyen de olmadı.
Polsofttaki kodlar çalışıyor ama kodlar az çok kod bilgisi ile düzenlendi ve ŞİMDİLİK idare ediyor.

Herkes kendine göre uygulamalar yapıyor, siteyi bir şekilde rastlayıp eklenen örnekleri inceleyenler form, rapor, sorgu vs. nesnelerdeki işlevleri kendi uygulamasına ekliyor ama uygulamalarının tablo tasarımları kötü.

Accessde en önemli nesne tablodur ve uygulamanın temelidir. Temel olduğu için iyi tasarlanmalıdır. Siteye sorulan sorulara eklenen uygulamaları incelediğimde tablo tasarımlarının çok kötü olduğnu görüyoruz. Bu uygulamalar basit görünebilir ama ileride nasıl geliştigini anlayamayacaksınız. Ama dikkat edin, bina çökmek üzere.
Shy
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task