Excel Formül Sorusu Sor

Bir Excel formülüne dair sorunuz varsa, bu alanı kullanarak bize iletin.

Excel Makro Sorusu Sor

Bir Excel VBA koduna dair sorunuz varsa, bu alanı kullanarak bize iletin.

Genel Excel Sorusu Sor

Excel'in ön sayfasındaki FORMÜL haricinde olan sorularınızı buradan sorabilirsiniz.

Çözüldü Dört Aşamalı Kontrol Işlemi Yapma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ssavas

Site Üyesi

Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar.
Hastanelerimizde çalışan hekimlerin kongre izin taleplerini takip edebilmek için bir form tasarladım. Formda yeni kayıt ve güncelleme işlemlerini 4 aşamalı bir kontrolden geçirmek istiyorum. Düz mantıkla işlemin şu şekilde kontrol edilmesi gerekiyor. Bir kişi aynı yıl içerisinde en fazla 2 kez ve toplamda 14 gün Kongre İzni kullanabilir. Bu şartların dışındaki bir kayıtta kullanıcıyı uyararak kayıt yapılması engellensin.
Yardımcı olacak arkadaşlara teşekkür ederim.
Çalışmamın örneği ektedir. Programa girişte kullanıcı adı ve şifre 11 olacak ve vt yol gösterden klasördeki mdb dosyası seçilecek.
Ekran Alıntısı.webp
 

Ekli dosyalar

  • izin_kontrol.rar
    311.6 KB · Görüntüleme: 12
Merhaba,
-- Access Dosyasında talep_tarihi alanının veri türünü Tarih/Saat olarak değiştiriniz.
1679991544844.webp

-- Excel Dosyasında frmKongre isimli UserForm'a aşağıdaki kodları ekleyiniz.
VBA:
Görüntülemek için giriş yapmalısınız.
(27 satır)
1679992501289.webp
1679992531061.webp
-- T.C. Kimlik Numarasını yazıp, bir sonraki alana geçtiğiniz zaman kimlik numarasına göre yıl içinde 2 defa izin kullandıysa işlem hakkında bilgiler gelir ve işlem sonlanır.
** En fazla 2 kez izin kullanabilir dediğiniz için izin süresi 14 günden az olsada işleme devam edilmez.

Bu konu hakkında işlem yaparken fark ettiğim konular hakkında notlar;
Not1: Veritabanında id alanı Kısa Metin olarak tanımlanmış ve sonrasına Kimlik alanı Otomatik Sayı olarak eklenmiş. Ancak kodlar içerisinde id kullanmaya devam ettiğiniz için yeni kayıt oluşturulduğunda hatalı listeleme oluyor. Bu nedenle listeye_al kodlarında id başlıklarını Kimlik olarak değiştirmelisiniz.

Not2: Sorgu bölümünden herhangi bir kayıt aratıp, ilgili kutu içeriğini sildiğiniz zaman Kongre izni dışındaki izin bilgilerini de sıralıyor. Eğer sadece kongre izin bilgileri olması gerekiyorsa sorgu cümlesini aşağıdaki şekilde değiştiriniz.
VBA:
Görüntülemek için giriş yapmalısınız.
(1 satır)

İyi çalışmalar.
 
Üstadım ilginize çok teşekkür ederim.
Önerileriniz doğrultusunda kod yapısındaki güncellemeyi yaptım.
2 noktada oto kontolün dışına çıkıyor.
İlki double click ile veri nesnelere yüklenip yeni kayıt veya kayıt güncelleme yapınca 14 günlük süre aşılıyor.
ikincisi kişinin ilk kayıt sonrası ikinci kayıtta süre aşımı olup olmadığını kontrol edemiyor.
Tekrar bir gözden geçirirmisiniz?
süre_kontrolü.webp
 

Ekli dosyalar

  • izin_kontrol.rar
    75.7 KB · Görüntüleme: 3
@ssavas bey, dosyanızı incelemek için zamanım olmadı ama size bir link vermek isterim.
Üstteki linkte, Excel Access ilişkisinin ADO ile kurulmasından tutun, silme, ekleme, düzeltme vs gibi tüm işlemlerin yapıldığı bir örnek var.
Bunu sırf bu işlemle uğraşanlara referans olması için hazırlamıştım.
Belki fayda sağlar diye linkini paylaşmak istedim.
 
Merhaba, işlemi sadece TextBox Exit bölümünde yaptığım için Kaydet düğmesinde kodlar çalışmaz.
Dosyanızda aşağıdaki değişiklikleri yapınız.

-- Dim DatabasePath As String satırından sonra Dim islem_sonu As Byte satırını ekleyiniz.
-- Aşağıdaki kodları UserForm'a ekleyiniz.
VBA:
Görüntülemek için giriş yapmalısınız.
(46 satır)

-- TextBox1_Exit bölümünü değiştiriniz.
VBA:
Görüntülemek için giriş yapmalısınız.
(3 satır)

-- Kaydet kodlarını değiştiriniz.
VBA:
Görüntülemek için giriş yapmalısınız.
(201 satır)
 
Üstat teşekkür ederim.
Textbox1'den kimlik numarası sonrası
Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)
satırında hata veriyor.
textbox.webp
 

Ekli dosyalar

  • izin_kontrol.rar
    93.9 KB · Görüntüleme: 4
txtKimlik değeri boş dönüyor. Tanımınızı kontrol etmenizde fayda var. TC kimliklerin yazılı olduğu nesne, TextBox1 şeklinde.
Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)
Üstteki gibi sonuç aldım.
 
rs3(0) sonucuna ulaşamıyorsunuz.
Bundan dolayı hata veriyor.
F8 ile adımlayarak sonuca ulaşmaya çalışın.

Şunu önerebilirim.
open için sorguyu direk aynı cümleye yazmaktansa, ayrı bir tanımlama içine almanız faydalı olur.
Sonrasında bağlantı yaptırıp, if ile rs.recordcount değerinin 0'dan büyük olup olmadığını kontrol edebilirsiniz.
Eğer değer 0 dan büyükse, o zaman sonuç yazdırılır.
Değilse, siz bir şey yazdırabilirsiniz..

Bu da hataya düşmenizi engelleyecektir.
Size verdiğim linki mutlaka inceleyin derim.

Böyle detaylı kodlamalar için benim ne yazık ki dosyayı detaylıca tek tek analiz edecek zamanım yok :(
Yine de fırsat bulursam cevap vermeye çalışırım.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
DMCA.com Protection Status
Konuyu başlatan
Site Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
13
Geri
Üst