Çözüldü Satırı Sütuna Dönüştürerek Aktarma

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

hexadesimal

Normal Üye

Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Herkese iyi tatiller;
Yıl sonu geliyor ve çocuklar seneye 4.sınıf ve not ile değerlendirme yapacağız. Bunu için iki not giriş ekranı oluşturdum. 1. Tekli öğrenci giriş ekranı , o kısımını hallettim. Ancak Toplu not giriş ekranında da aynı veritabanını kullanacağımdan tıkandım. Yapmak istediğimi belirteyim isterseniz önce,Userform üzerindeki;
1.CheckBox seçimine göre ; combo sayfasındaki veriler ile dersler etiketi altındaki comboboxları sırası ile doldurmak
2.Not girişlerini veritabanına aktarmak!... Hepsi bu :))
 

Ekli dosyalar

  • Test Sayfası.xlsm
    54.9 KB · Görüntüleme: 9
Çözüm
:?
Yorulmak sorun değil de tüm konsepti baştan bilseydim daha farklı bir algoritma ile halledebilirdik... Eski yazılan kodları bozmadan bir şeyler yaptık...
İnceleyin bakalım tatlınız iyi hazırlanmış mı... ?
Sayın cakarem örnek dosyada kod sorunsuz çalışıyor. Ancak benden kaynaklanan sebeplerden bende çalışmadı. Şöyle ki;
Daha önceki kodlarınızda bazı değişiklik ve ilaveler yapmıştım, örneğin yıl sonu notu ile puanı aynı sütuna yazılıyordu. Bu nedenle veritabanına sütun ilave ederek düzenlemiştim.Son halini sizin kodlarınızı da ilave ederek ekliyorum.
 

Ekli dosyalar

  • Test Sayfası 5.xlsm
    64.3 KB · Görüntüleme: 1
Ekteki dosyayı inceleyiniz...
Sayın cakarem günaydın , Tek bir ders için not giridiğimde; Sınav Puanına ilişkin uyarı veriyor ancak Yıl sonu ortalamasını mükerrer olsa da kayıt yapıyor. Ayrıca (toplu olarak birden fazla not girdiğimde) not değiştiğinde hiçbir uyarı mesajı gelmeden tüm notları kaydediyor. Sanırım kontrol, puan ve not eşitliği durumunda uyarı veriyor, oysa farklı puan da olsa veri kayıt edilmemeli.
Şöyle yapsak daha sağlıklı mı olur acaba;
Combobobox1,2 den öğrenci ve no, ders seçimi içinde checkbox seçimi ve ders seçminden sonra; o öğrenciye ait notları forma çağırıp daha sonra kayıt ve kontrolleri yapmak daha sağlıklı sonuç vermez mi? Tabi bu sanırım tüm kod yapısını değiştirmek demek..
 

Ekli dosyalar

  • test5.webp
    test5.webp
    176.3 KB · Görüntüleme: 8
Moderatörün son düzenlenenleri:
Tekrardan inceler misiniz? Bende bir hata görünmüyor... Emin olmak için sonraki kodlarını if bloğu içerisine aldım...
 

Ekli dosyalar

  • Test Sayfası 5.xlsm
    71.5 KB · Görüntüleme: 5
Tekrardan inceler misiniz? Bende bir hata görünmüyor... Emin olmak için sonraki kodlarını if bloğu içerisine aldım...
Gönderdiğiniz dosya üzerinden denemeyi gif animasyon olarak ekliyorum. Deneme için 1.Sınava 100 girdim , uyarıları verdi anca
İlgili kod yapısı:
[Gizli içerik]

Ekteki dosyayı inceleyiniz....
Gönderdiğiniz dosya üzerinden denemeyi ekliyorum (aynı mükerrer kaydı yapıyor), ekleyemiyorum :) boyut sınırı varmış. Eve geçince ekleyeceğim.
 
Sayın cakarem hatayı gif olarak ekliyorum. Giftede görüldüğü gibi ; veritabanında Matematik 1.Sınav var ben giriyorum, uyarı mesajları geliyor ancak sonuçta 18. ve 19. satırlara hem 1.Sınavı hemde yılsonu puan ortalamasını yazıyor.
Ekli dosyayı görüntüle 580
 

Ekli dosyalar

  • test55.webp
    test55.webp
    176 KB · Görüntüleme: 25
Ekli dosyayı görüntüle 581
Not girişinde herhangi bir hata bulunmuyor. Resmi dikkatli incelerseniz sadece
- Matematik Sınav 1 100 (benzersiz kayıt)
- Matematik Sınav 8 100 (benzersiz kayıt)
Şeklinde ekleme yapıyor. Daha önceden Matematik 9 5 kayıt ta bulunduğundan ( resimde tam görünmüyor) mükerrer kayıt hatası veriyor.
İlk çıkan mesajları kaldırmayı unutmuşum. Ekli resimde gösterilen msgbox silin...
Ekli dosyayı görüntüle 582
 

Ekli dosyalar

  • 1558529123213.webp
    1558529123213.webp
    42.1 KB · Görüntüleme: 25
  • 1558529349071.webp
    1558529349071.webp
    47 KB · Görüntüleme: 25
Ekli dosyayı görüntüle 581
Not girişinde herhangi bir hata bulunmuyor. Resmi dikkatli incelerseniz sadece
- Matematik Sınav 1 100 (benzersiz kayıt)
- Matematik Sınav 8 100 (benzersiz kayıt)
Şeklinde ekleme yapıyor. Daha önceden Matematik 9 5 kayıt ta bulunduğundan ( resimde tam görünmüyor) mükerrer kayıt hatası veriyor.
İlk çıkan mesajları kaldırmayı unutmuşum. Ekli resimde gösterilen msgbox silin...
Ekli dosyayı görüntüle 582
Sayın cakarem sizi yoruyorum ancak sorun ben de sanırım. Tam izah edemedim. Kusura bakmayın. Şöyle, bir öğrencinin; bir dersin 1.sınavından bir notu olabilir, 2.notu olamaz. Yani Matematik dersinin 1.sınavından kaç aldığının bir önemi yok yani kontrol etmemiz gereken puan değil, 1.sınavda notu var mı? yok mu? Yoksa 1.Sınavı ve notunu yazsın ama notu varsa uyarsın, notu var üzerine yazılacak diye ve üzerine yazsın , yani yeni bir satır ve not olarak eklemesin. Mevcut durumda Matematik 1.Sınavın iki notu, 2 yıl sonu puanı ve 2 yıl sonu notu ortalaması var.
test55.gif
 
İki sorun var Emre bey.
1.Diyelim ki tek bir not girdim. Örneğin 1.Sınav notu; Güncelleme çok güzel diğer alanlara hiç müdahale yok ancak Yıl sonu ortalamasını doğal olarak kodun mantığı gereği o tek not olarak güncelliyor. Diyelim ki güncelleme dedim , o zamanda değişmesi gereken ortalama değişmiyor.
2.İlk kayıttan sonra öğrenci seçim comboboxunda hata verip sonuc(deger) adlı makordaki satir=deger mod 15 satırına götürüyor.
Gifler ekte.
 

Ekli dosyalar

  • test66.webp
    test66.webp
    110.3 KB · Görüntüleme: 5
  • test77.webp
    test77.webp
    124.5 KB · Görüntüleme: 5
İki sorun var Emre bey.
1.Diyelim ki tek bir not girdim. Örneğin 1.Sınav notu; Güncelleme çok güzel diğer alanlara hiç müdahale yok ancak Yıl sonu ortalamasını doğal olarak kodun mantığı gereği o tek not olarak güncelliyor. Diyelim ki güncelleme dedim , o zamanda değişmesi gereken ortalama değişmiyor.
2.İlk kayıttan sonra öğrenci seçim comboboxunda hata verip sonuc(deger) adlı makordaki satir=deger mod 15 satırına götürüyor.
Gifler ekte.
1. sorunun sorulacağını bende tahmin etmiştim. Lakin tam nasıl bir şey istediğini bilmediğimden o şekilde bıraktım. Adım adım güncelleniyor :) Bu sorun için o zaman herhangi bir değişme olduğundan toplu halde bir güncelleme yapılacak bir defa sorup diğerlerini otomatik güncelleyecek...
2. sorun içinse garip bir durum olmuş. Combobox1 için ben kod yazmamıştım. Değişince sonuc kodunu çağırması garip olmuş... Textboxları tetikleyen bir komut var galiba...
Sonuc fonksiyonun içerisine satir yazan yerin hemen üzerine aşağıdaki kodu ekleyip bir deneyiniz...
Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)
 
1. sorunun sorulacağını bende tahmin etmiştim. Lakin tam nasıl bir şey istediğini bilmediğimden o şekilde bıraktım. Adım adım güncelleniyor :) Bu sorun için o zaman herhangi bir değişme olduğundan toplu halde bir güncelleme yapılacak bir defa sorup diğerlerini otomatik güncelleyecek...
2. sorun içinse garip bir durum olmuş. Combobox1 için ben kod yazmamıştım. Değişince sonuc kodunu çağırması garip olmuş... Textboxları tetikleyen bir komut var galiba...
Sonuc fonksiyonun içerisine satir yazan yerin hemen üzerine aşağıdaki kodu ekleyip bir deneyiniz...
Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)
Evet kesinlikle haklısınız. Çünkü tek bir not girişi not ortalamasını değiştirmektedir.Her güncelleme durumunda ortalama değişecektir.2. önerinizi de deneyeceğim.
 
Proje ortalamaları içinde aynı durum geçerli mi? Otomatik güncellensin derseniz resimdeki ;
1558542895238.webp

kat=22 or kat=23 e ekleme yapmanız yeterli olacaktır. Ortalama sütunları hangi kat değerine karşılık geldiğiniz ekleyiniz...
 
Moderatörün son düzenlenenleri:
Sayın cakarem ilk öğrenci eklemede hata oluşuyor. Formun alt kısmında veritabanına öğrenci ekleme bölümünde öğrenciyi ekliyorum Combobox1 ve 2 de seçiyorum, ders seçimi ve not girişinden sonra kayıt sırasında öğrenci nosunu kaydetmiyor. Sizin yazdığınız kodlama ile ilgili olmayabilir ama bakarsanız sevinirim.Son hali ve hata veren hali ektedir.
 

Ekli dosyalar

  • Test5.xlsm
    78 KB · Görüntüleme: 2
Algoritması bayağı karıştı. Bazı kodları değiştirmek durumunda kaldım... Ekteki dosyayı inceleyiniz...
 

Ekli dosyalar

  • Test.xlsm
    99.6 KB · Görüntüleme: 2
Algoritması bayağı karıştı. Bazı kodları değiştirmek durumunda kaldım... Ekteki dosyayı inceleyiniz...
Sayın cakarem sabrınız için teşekkürler.Ancak sorun devam ediyor. Şöyle anlatayım Ali adlı öğrencinin 3 sınav ,1 proje, 1 Performans-1 ve 2 adet Performans-2 notunu girdim. Tamamı 100 ve dolayısıyla ortalamada 100. Formu kapatıp açtım ve Ali'nin 1.sınav notunu 75 yaparak güncelledim. Kaydettiğimde Notu ilgili bölüme güncelliyor, ancak tek not olduğu için ortalamayı da güncelliyor ve 75 yapıyor oysa ortalama takdir edersiniz ki 75 değil. Temel sorun bu şu anda. Nasıl çözülebilir peki , bana göre ya güncelleme için faklı bir form tasarlamalıyım ya da mevcut form üzerinde çalıştırdığımız hesaplama makrolarını buna uygun düzenlemek gerekli. Şöyle olabilir mesela; kaydet butonu yanına, bir kayıt türü seçimi nesnesi ile ilk kayıt ise mevcut makrolar ile güncelleme ise buna göre tasarlanacak yeni bir makro ile olabilir gibime geliyor değilse sağlık olsun deyip baştan veritabanı yapısı ve formu tasarlamak gerekecek sanırım. Ancak bunca emek !..
 
Yeni bir forma gerek yok. Anladığım kadarıyla formu açıp kapattığınız da veritabanda ki tüm notlar gelmediğinden yeni girdiğiniz notlar da hata meydana geliyor... Bir bakalım durum ne olacak :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konum
İzmir
Konu Bilgi
Durum
Çözüldü 
Forum
Genel Excel Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
44
Geri
Üst