Yoklama Defterinde Ay Ve Yıl Problemi
#1
Hocalarım merhaba. projemde uzun bir yol aldım ama yine yardımınıza ihtiyacım var.

yoklama sorgu alt formu diye alt form oluşturdum. tasarım tamam ama takıldığım konular;

* kaydedince sadece seçtiğim ay'a ve yıla kaydetmesi ve ayı seçince kaydettiklerimin tekrar gelmesi ( örneğin ; ocak ayını ve yılını seçtim verileri girdim o aya kaydetmesi sonradan o ayı tekrar seçtiğimde kişinin gelip gelmediğini görmem )
* branşa göre öğrenci çağırma
* grup koduna göre öğrenci çağırma.

örneklerden baktım ama başaramadım. sizden yardım rica ediyorum. değerli vaktinizi ayırdığınız için şimdiden çok teşekkür ederim.


Eklenti Dosyaları
.rar   CASv10.rar (Boyut: 289,13 KB / İndirilme: 57)



  Alıntı
Bu mesajı beğenenler:
#2
(14-09-2022, 15:51)omergenc7 demiş ki: Hocalarım merhaba. projemde uzun bir yol aldım ama yine yardımınıza ihtiyacım var.

yoklama sorgu alt formu diye alt form oluşturdum. tasarım tamam ama takıldığım konular;

* kaydedince sadece seçtiğim ay'a ve yıla kaydetmesi ve ayı seçince kaydettiklerimin tekrar gelmesi ( örneğin ; ocak ayını ve yılını seçtim verileri girdim o aya kaydetmesi sonradan o ayı tekrar seçtiğimde kişinin gelip gelmediğini görmem )
* branşa göre öğrenci çağırma
* grup koduna göre öğrenci çağırma.

örneklerden baktım ama başaramadım. sizden yardım rica ediyorum. değerli vaktinizi ayırdığınız için şimdiden çok teşekkür ederim.

Öncelikle kaydetmekten kastınız nedir onu anlayamadım. Makbuz kaydetmek mi? öğrenci kaydetmek mi? Programınızı biraz inceledim bana sorarsanız programanızdaki kurgusal hatalardan kaynaklı olarak yukarıdaki sorunları yaşamaktasınız. Bence yolun başındayken bunları düzeltmeniz daha doğru olur ilerde sorun yaşamamanız adına söylüyorum.

İlk gözüme takılanlar:
  1. Uygulamanızın girişinde şifre kontrolü yaparken buraya 3 veya 4 hatalı giriş kontrolü koymanız daha iyi olur. 
  2. Giriş formunda kullanıcıyı seçtikten sonra şifre güncelleme sonrasındaki yordamı şifre kontrolü için kullanmayınız. bu şekilde şifrenizi tahmin etmek için sınırsız bir deneme imkanı oluşmuş ve hiçbir hata vermeden anlık deneme... bunun yerine kullanıcı adını seç, şifreyi yaz bir buton ile girişe tıklat. şifre doğru ise girsin yanlış ise 3 veya 4 hatalı giriş hakkı tanı. bunun için formda login giriş örnekleri var. sen yapmak istersen aşağıdaki gibi yapabilirsin.
  3. Öğrenci takip formunuzda kayıt kaynağı var ve üzerindeki denetimler doğrudan aktif. yani yanlışlıkla bir tuşa bassanız veriler direk değişir.
  4. Yeni kaydet butonunuz doğrudan öğrenci takip formu va tablosu ile alakalı. yani ödemeler için yaptığınız altform ile alakası yok. kayıt yapmaması normaldir.
  5. Yukarıda herhangi bir öğrenci seçili iken alt formda alakası olmayan öğrencilerin adları da gelmekte. dolayısı ile bu veri tutarsızlıklarına neden olur. ahmet seçili ile mehmete ödeme alınması durumu olabilir. Yazılabililecek daha pek çok hata var.
Özetle bunların yerine size nacizane tavsiyem şu olur. bir form oluşturun. üzerine bir liste kutusu yapın. öğrencilerinizin listesi burada olsun. isterseniz formun yan tarafına sekmeli denetim isterseniz doğrudan denetimleri ekleyin. listeden seçtiğiniz kişiye göre ilgili kaydı bulun.. ödeme al butonu ile ayrı bir formda ödemeleri alabilirsiniz. veya sekme denetimini kullanabilirseniz 1.sekme öğrenci bilgileri, 2. sekme ödemeler vs. gibi ayarlanabilir. 

Visual Basic
  1. dim i as byte, hak as byte
  2.  
  3. hak=4
  4. For i= 0 to 4 '0 dan başla 4 e kadar say.
  5. if şifre <> doğru şifre then 'eğer yazılan şifre doğru olan şifreden farklı ise....
  6. hak = hak-i
  7. if hak= 4 then exit sub else msgbox "yanlış şifre kalan şifre hakkınız: " & hak
  8. else
  9. 'doğru şifre olması durumunda açılacak form kodları
  10. endif
  11. next





  Alıntı
Bu mesajı beğenenler:
#3
(15-09-2022, 09:21)alperalper demiş ki:
(14-09-2022, 15:51)omergenc7 demiş ki: Hocalarım merhaba. projemde uzun bir yol aldım ama yine yardımınıza ihtiyacım var.

yoklama sorgu alt formu diye alt form oluşturdum. tasarım tamam ama takıldığım konular;

* kaydedince sadece seçtiğim ay'a ve yıla kaydetmesi ve ayı seçince kaydettiklerimin tekrar gelmesi ( örneğin ; ocak ayını ve yılını seçtim verileri girdim o aya kaydetmesi sonradan o ayı tekrar seçtiğimde kişinin gelip gelmediğini görmem )
* branşa göre öğrenci çağırma
* grup koduna göre öğrenci çağırma.

örneklerden baktım ama başaramadım. sizden yardım rica ediyorum. değerli vaktinizi ayırdığınız için şimdiden çok teşekkür ederim.

Öncelikle kaydetmekten kastınız nedir onu anlayamadım. Makbuz kaydetmek mi? öğrenci kaydetmek mi? Programınızı biraz inceledim bana sorarsanız programanızdaki kurgusal hatalardan kaynaklı olarak yukarıdaki sorunları yaşamaktasınız. Bence yolun başındayken bunları düzeltmeniz daha doğru olur ilerde sorun yaşamamanız adına söylüyorum.

İlk gözüme takılanlar:
  1. Uygulamanızın girişinde şifre kontrolü yaparken buraya 3 veya 4 hatalı giriş kontrolü koymanız daha iyi olur. 
  2. Giriş formunda kullanıcıyı seçtikten sonra şifre güncelleme sonrasındaki yordamı şifre kontrolü için kullanmayınız. bu şekilde şifrenizi tahmin etmek için sınırsız bir deneme imkanı oluşmuş ve hiçbir hata vermeden anlık deneme... bunun yerine kullanıcı adını seç, şifreyi yaz bir buton ile girişe tıklat. şifre doğru ise girsin yanlış ise 3 veya 4 hatalı giriş hakkı tanı. bunun için formda login giriş örnekleri var. sen yapmak istersen aşağıdaki gibi yapabilirsin.
  3. Öğrenci takip formunuzda kayıt kaynağı var ve üzerindeki denetimler doğrudan aktif. yani yanlışlıkla bir tuşa bassanız veriler direk değişir.
  4. Yeni kaydet butonunuz doğrudan öğrenci takip formu va tablosu ile alakalı. yani ödemeler için yaptığınız altform ile alakası yok. kayıt yapmaması normaldir.
  5. Yukarıda herhangi bir öğrenci seçili iken alt formda alakası olmayan öğrencilerin adları da gelmekte. dolayısı ile bu veri tutarsızlıklarına neden olur. ahmet seçili ile mehmete ödeme alınması durumu olabilir. Yazılabililecek daha pek çok hata var.
Özetle bunların yerine size nacizane tavsiyem şu olur. bir form oluşturun. üzerine bir liste kutusu yapın. öğrencilerinizin listesi burada olsun. isterseniz formun yan tarafına sekmeli denetim isterseniz doğrudan denetimleri ekleyin. listeden seçtiğiniz kişiye göre ilgili kaydı bulun.. ödeme al butonu ile ayrı bir formda ödemeleri alabilirsiniz. veya sekme denetimini kullanabilirseniz 1.sekme öğrenci bilgileri, 2. sekme ödemeler vs. gibi ayarlanabilir. 

Visual Basic
  1. dim i as byte, hak as byte
  2.  
  3. hak=4
  4. For i= 0 to 4 '0 dan başla 4 e kadar say.
  5. if şifre <> doğru şifre then 'eğer yazılan şifre doğru olan şifreden farklı ise....
  6. hak = hak-i
  7. if hak= 4 then exit sub else msgbox "yanlış şifre kalan şifre hakkınız: " & hak
  8. else
  9. 'doğru şifre olması durumunda açılacak form kodları
  10. endif
  11. next


Hocam merhaba söylediklerinizi çalışacağım ama benim problemim ne giriş ne de öğrenci kaydı yaparken hata almam. ben sadece tablolarda gördüğünüz yoklama defterinden bahsetmiştim. yoklama alt forma baktığınız da aslında görürsünüz. öğrenci kaydım zaten oraya problemsiz gelmektedir. benim istediğim. AY ,YIL bazında yoklama defterini  kaydetmek ve branşa göre öğrenci getirmek. başka problemim yok. öğrenci tablosu yada ödeme tablosu ile ilgili bir problemim yok.


Eklenti Dosyaları
.jpg   yoklama sorusu.jpg (Boyut: 106,95 KB / İndirilme: 53)



  Alıntı
Bu mesajı beğenenler:
#4
Alt formunuzun kaynağını aşağıdaki gibi yapın.

Visual Basic
  1. SELECT yoklamasorgu.AY, yoklamasorgu.YIL, yoklamasorgu.Adı, yoklamasorgu.Soyadı, yoklamasorgu.Branş, yoklamasorgu.[Grup Kodu], yoklamasorgu.Y1, yoklamasorgu.Y2, yoklamasorgu.Y3, yoklamasorgu.Y4, yoklamasorgu.Y5, yoklamasorgu.Y6, yoklamasorgu.Y7, yoklamasorgu.Y8, yoklamasorgu.Y9, yoklamasorgu.Y10, yoklamasorgu.Y11, yoklamasorgu.Y12, yoklamasorgu.Y13, yoklamasorgu.Y14, yoklamasorgu.Y15, yoklamasorgu.Y16, yoklamasorgu.Y17, yoklamasorgu.Y18, yoklamasorgu.Y19, yoklamasorgu.Y20, yoklamasorgu.Y21, yoklamasorgu.Y22, yoklamasorgu.Y23, yoklamasorgu.Y24, yoklamasorgu.Y25, yoklamasorgu.Y26, yoklamasorgu.Y27, yoklamasorgu.Y28, yoklamasorgu.Y29, yoklamasorgu.Y30, yoklamasorgu.Y31, yoklamasorgu.DEVAM, yoklamasorgu.IZINLI, yoklamasorgu.DEVAMSIZ
  2. FROM yoklamasorgu
  3. WHERE (((yoklamasorgu.AY) Like [Formlar]![yoklamaalt]![yoklamasorgu alt formu].[Form]![AY]) AND ((yoklamasorgu.YIL) Like [Formlar]![yoklamaalt]![yoklamasorgu alt formu].[Form]![YIL]) AND ((yoklamasorgu.Branş) Like [Formlar]![yoklamaalt]![yoklamasorgu alt formu].[Form]![Açılan_Kutu118]));




YIL VE AY açılır kutuların güncellleme sonrasını aşağıdaki gibi yapın.
Visual Basic
  1. Private Sub AY_AfterUpdate()
  2. Form.Requery
  3. End Sub
  4.  
  5. Private Sub YIL_AfterUpdate()
  6. Form.Requery
  7. End Sub





  Alıntı
Bu mesajı beğenenler:
#5
(15-09-2022, 11:29)alperalper demiş ki: Alt formunuzun kaynağını aşağıdaki gibi yapın.

Visual Basic
  1. SELECT yoklamasorgu.AY, yoklamasorgu.YIL, yoklamasorgu.Adı, yoklamasorgu.Soyadı, yoklamasorgu.Branş, yoklamasorgu.[Grup Kodu], yoklamasorgu.Y1, yoklamasorgu.Y2, yoklamasorgu.Y3, yoklamasorgu.Y4, yoklamasorgu.Y5, yoklamasorgu.Y6, yoklamasorgu.Y7, yoklamasorgu.Y8, yoklamasorgu.Y9, yoklamasorgu.Y10, yoklamasorgu.Y11, yoklamasorgu.Y12, yoklamasorgu.Y13, yoklamasorgu.Y14, yoklamasorgu.Y15, yoklamasorgu.Y16, yoklamasorgu.Y17, yoklamasorgu.Y18, yoklamasorgu.Y19, yoklamasorgu.Y20, yoklamasorgu.Y21, yoklamasorgu.Y22, yoklamasorgu.Y23, yoklamasorgu.Y24, yoklamasorgu.Y25, yoklamasorgu.Y26, yoklamasorgu.Y27, yoklamasorgu.Y28, yoklamasorgu.Y29, yoklamasorgu.Y30, yoklamasorgu.Y31, yoklamasorgu.DEVAM, yoklamasorgu.IZINLI, yoklamasorgu.DEVAMSIZ
  2. FROM yoklamasorgu
  3. WHERE (((yoklamasorgu.AY) Like [Formlar]![yoklamaalt]![yoklamasorgu alt formu].[Form]![AY]) AND ((yoklamasorgu.YIL) Like [Formlar]![yoklamaalt]![yoklamasorgu alt formu].[Form]![YIL]) AND ((yoklamasorgu.Branş) Like [Formlar]![yoklamaalt]![yoklamasorgu alt formu].[Form]![Açılan_Kutu118]));




YIL VE AY açılır kutuların güncellleme sonrasını aşağıdaki gibi yapın.
Visual Basic
  1. Private Sub AY_AfterUpdate()
  2. Form.Requery
  3. End Sub
  4.  
  5. Private Sub YIL_AfterUpdate()
  6. Form.Requery
  7. End Sub

ilginiz için çok teşekkür ederim fakat. bunları yaptığımda bu sefer öğrenci verisi gelmiyor ve ay seçimi hata verdiriyor. form işlevsiz hale geliyor.



  Alıntı
Bu mesajı beğenenler:
#6
bu konu benim için çok önemli ama olmuyor bir türlü . öğrenci formuna bağladım kayıtları alıyorum ama aylık kaydedemiyorum. branş türüne göre getiremiyorum.

başka yollar daha deneyeceğim.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [SORGU] Dsum Yavaslik Problemi Serdarcann 1 211 10-10-2025, 01:08
Son Mesaj: dsezgin
  [TABLO] yoklama listesi Access Ziyaretçisi 15 4.620 19-03-2024, 06:46
Son Mesaj: dsezgin
  32bit - 64bit Problemi adnnfrm 19 2.137 11-03-2021, 21:21
Son Mesaj: adnnfrm
  [SORGU] Sorgulamada Büyük Ve Küçük Harf Problemi Proteus 2 784 21-08-2020, 10:22
Son Mesaj: Proteus
  [SORGU] combobox tümü seçeneği problemi dayday 12 3.072 19-07-2020, 11:09
Son Mesaj: fmltd
  [VBA] Silme Problemi Hk. aktepes 2 652 10-05-2020, 00:14
Son Mesaj: aktepes
  Unon Sorguda Order By Desc Problemi accessman 1 620 23-03-2020, 16:38
Son Mesaj: onur_can
  Tablo Bağlama Problemi alienerji 8 1.295 17-01-2020, 01:13
Son Mesaj: alienerji

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi