For Next Döngüsü ile birden fazla değişkeni tek tuşla tabloya nasıl aktarırım

Katılım
18 Ağustos 2007
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
21/12/2021
5 farklı metin kutusuna yazdığım cevap şıklarını KAYITLAR tablosuna kayıt butonuna tıkladığımda aktarsın istiyorum bir türlü aktaramadım.
Kullandığım koddaki hata nerede?
Kod:
Dim f As Integer
Private Sub kaydet1_Click()
For f = 1 To 5
SORU = f
OGNO = Listeleme
SINIFI = SINIF
CEVAP = Me.SECENEK(f)
    DoCmd.GoToRecord , , acNewRec
Next f
End Sub
Compile Error: Method or data member not found hatası veriyor. Değişken adından önceki Me kaldırılırsa hata vermiyor ama bu sefer KAYITLAR Tablosunda CEVAP sütunu boş kaydediyor.
Yaptığım örnek çalışma aşağıdaki test.zip dosyasındadır.
Şimdiden teşekkürler.
 

Ekli dosyalar

Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
ACCCESTE TEXTBOXLAR İNDEX ALAMIYOR BU YÜZDEN FOR DÖNGÜSÜ İLE YAPMAN ZOR APİLER KULLANIRAK YAPILABİLİR AMA ÇOK UZUN İŞ ONUN YERİNE
AŞAGIDAKİ KOD SATIRLARI AYNI İŞİ YAPAR BUNU DENEMELİSİN İYİ ÇALIŞMALAR
Dim rs As New ADODB.Recordset

rs.Open "KAYITLAR", CurrentProject.Connection, adOpenKeyset, adLockOptimistic


rs.AddNew
rs!OGNO = OGNO
rs!SINIFI = SINIFI
rs!SORU = Metin0
rs!CEVAP = c1

rs.AddNew
rs!OGNO = OGNO
rs!SINIFI = SINIFI
rs!SORU = Metin1
rs!CEVAP = c2
rs.AddNew
rs!OGNO = OGNO
rs!SINIFI = SINIFI
rs!SORU = Metin2
rs!CEVAP = c3
rs.AddNew
rs!OGNO = OGNO
rs!SINIFI = SINIFI
rs!SORU = Metin3
rs!CEVAP = c4
rs.AddNew
rs!OGNO = OGNO
rs!SINIFI = SINIFI
rs!SORU = Metin4
rs!CEVAP = c5
 
Katılım
18 Ağustos 2007
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
21/12/2021
Öncelikle sorumu ilgilenip yanıtladığınız için çok teşekkür ederim. For Next'i kod yazımını epey kısaltacağı için kullanmak istemiştim. Çünkü yapmaya çalıştığım projede örnekteki gibi 5 adet değil, 40-50 adet değişken grubu kullanmam gerekiyordu. Textboxların index alamadığını bilmiyordum böylece öğrenmiş oldum. Acaba, index alabilen nesne var mı? Mesela normal değişken isimleri index alabiliyormu ? Yani;
Kod:
kullanicidegiskeni(f)=text1
kullanicidegiskeni(f+1)=text2
gibi bir kod yazılabilir mi? Tekrar teşekkürlerimi sunar iyi çalışmalar dilerim.
 
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
bunun yerine öğrenci no ile sınıfı bir tabloda soru ve cevapları ayrı tabloda tutsanız master detail ile sorunsuz şekilde aşabilirsiniz programın tamamını bilmediğim için fazla öneri üretemiyorum iyi çalışmalar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın polianner,

Uygulamanızı incelerken aklıma bir şey takıldı. Neden her soru için ayrı kayıt açtınız? Bunun pratik yararı nedir?

İyi çalışmalar
 
Katılım
18 Ağustos 2007
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
21/12/2021
Bir okuldaki öğrencilere, 32 sorudan oluşan bir ankete verilen cevaplar, önce elle bilgisayara girilecek, ve bu girişler yapıldıktan sonra farklı raporlar alınacak. Her öğrencinin her soruya farklı cevap verebilmesi sebebiyle her soruya hangi sınıfın hangi öğrencisi hangi cevabı verdiğinin girilebilmesi için ayrı kayıt açmam gerektiğini düşündüm. Sayın Modalı daha pratik bir çözüm uygulanabilir mi acaba? Her ikinizin de ilgi ve alakanıza teşekkür ediyor iyi çalışmalar diliyorum.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

En kolayı sorular için ayrı bir tablo yapmanız ve bunu öğrencilerle ilişkilendirmeniz olur. 32 soruyu bir defa yazmış olursunuz yani. Verileri bu şekilde girdikten sonra istediğiniz istatistikleri sorgular yardımı ile görüntüler veya raporlayabilirsiniz..
 
Katılım
18 Ağustos 2007
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
21/12/2021
Sorular zaten sorun değil 32 soru sabit ve ayrı bir tabloda Taruz Hocam. Girişler optik formdan değil normal kağıttan yapılacağı için öncelikli amaç pratik ve hızlı bir giriş yapılabilecek bir arayüzün olması tabi bu arada mümkün olan en az kodu yazarak.
İyi çalışmalar.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Girişler öğrenciye göre olacak değil mi? Yani bir öğrencinin 32 soruya cevabını ardarda gireceksiniz. Yoksa soruya göre mi giriş olacak?
 
Katılım
18 Ağustos 2007
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
21/12/2021
Evet Taruz Hocam aynen dediğiniz gibi öğrenciye göre. Yani önce aynı sınıftaki ilk öğrencinin 1 den 32 ye kadar olan sorulara verdikleri cevaplar girilecek sonra diğer öğrencinin. O sınıftakiler bitince de diğer sınıftaki öğrenciler girilecek. İlk mesajımda ekteki örneğimdeki giriş şeklini de bu giriş şekline göre yapmaya çalışmıştım.
İyi çalışmalar.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Anladım..

Tablonuzu bölmemiz gerecek. Biraz beklerseniz küçük bir örnek hazırlarım size..
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Örneği kayıtların en hızlı şekilde yapılabileceği şekilde hazırladım.

Siz sınıfları ve soruları girin ardından KAYIT FORMU nu açıp girişleri yapmaya başlayın. Sınıfı ve Öğrenciyi seçtikten sonra Soruları Yerleştir düğmesine bastığınızda o öğrencinin kaydına tüm sorular yerleşir. Siz sadece öğrencinin cevap şıklarını gireceksiz. Cevapları girerken doğru ve yanlış sayılarını, başarı oranını da aynı formda görebilirsiniz.. Deneme kayıtlarını tablodan toplu olarak silip başlayabilirsiniz..

Verileri girdikten sonra istdiğiniz sorgulamaları yapmak daha kolay olacak.


.
 

Ekli dosyalar

Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
ne işine yarayacağını bilmiyorum ayrıca sayın üstadların örnek ve fikirleri senin ve projen için daha iyi olmasına rağmen tamamen senin yapmak istediğinin kodunu ekliyorum belki başka bir yerde işine yarar

Private Sub kaydet1_Click()
Dim f As Integer
Dim rs As New ADODB.Recordset
rs.Open "KAYITLAR", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For f = 1 To 5
rs.AddNew
rs!OGNO = Me.Listeleme
rs!SINIFI = Me.SINIF
rs!SORU = Me("SORU" & f)
rs!CEVAP = Me("SECENEK" & f)
rs.Update
Next f
Set rs = Nothing
Set conn = Nothing
End Sub


Microsoft Activex Data Objects 2.1 Library
referansını eklemeyi unutma
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın gulsum1,

Sn polianner in uygulamasını dikkatle inceleyemediniz sanırım. Onun istediği biraz garip. Bir form hazırladı üstüne 5 tane (gerçek uygulamada 32 tane olacak) ilişkisiz metin kutusu ekledi öğrenci no ve sınıfı ile birlikte metin kutuları içine yerleştireceği cevaplara göre her soru için ayrı bir kayıt tutmayı düşündü.

Metin kutularını form üzerinde indexleyemediğimiz için (tabi bunun cevabı var görünmez etiket ekleyip metin kutularının değerlerini bunlara atayıp etiketlerin indexlerinden yapabiliriz) tıkanıklık oluştu.

Ama sn Taruz sağ olsun uğraşıp daha kolay açlışan bir uygulama oluşturmuş.

Benim şahsi fikrim forum üyelerinin her sorduğu soruyu cevaplandırmak yerine daha kolay çalışan ve uygulamanın kullanıldığı yönde çözümler üretme hem herkesin daha sonra faydalanılabilecek bir kaynak yaratma açısından hem de soruyu soran açısından daha kolaya ve çabuk sonuca ulaşması açısından daha olumlu olacaktır.

Bu cevabın bir sonraki şaması (ki sn Taruz kullanmış) teste kaç doğru ve kaç yanlış cevabın verildiği yönünde olacaktır.

İyi çalışmalar
 
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
Sürekli form ile işlem kolaylıkla halledlilebilir başka bir şeye gerek yok diye düşünüyorum
 
Katılım
18 Ağustos 2007
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Altın Üyelik Bitiş Tarihi
21/12/2021
Merhabalar...
Öncelikle bu konuya cevap yazan tüm hocalarıma forum arkadaşlarıma, özellikle uğraşıp güzel bir örnek çalışma yapan Taruz hocama, benim ne yapmak istediğimi anlayamamış olduğunu söyleyip te ama öğrenmek istediğim kodu yazan gülsüm1 hocama index kullanabilmek için gizli metin kutusu ipucu veren modalı hocama ve yardımcı olmaya çalışan diğer arkadaşlara teşekkürlerimi bir daha sunmak isterim. Benim yapmak istediğim bu konunun 6. mesajında da söylediğim gibi 32(değişik sayıda da olabilir) sorudan oluşan anket. Anket te biliyorsunuz doğru cevap diye birşey olmaz. O sorunun cevabı kişiden kişiye değişir. Yapmak istediğimi de index kullanırsam daha kısa kod yazarım diye düşünmüştüm, indexle olmayınca uzun uzun her text kutusunu farklı bir değişkene eşitleyip yapmıştım. Ama öğrenmek isteğiyle farklı yollarla nasıl yaparım diye foruma yazdım. Öncelikle ankete verilen katılıyorum, biraz katılıyorum, katılmıyorum hiç katılmıyorum vb gibi cevapların girişlerini kolaylık olsun diye cevap şıkları a,b,c,d gibi girerek(Mesela a ise katılıyorum) diye düşündüm. Girişler yapıldıktan sonra çok farklı detaylı raporlar alabilmek için her soruya hangi sınıfın hangi öğrencisi ne yanıt vermiş aynı sınıfın bu soruya verdiği yanıtlar hangi şıkta yoğunlaşmış gibi daha birçok çeşitli raporlar alabilmemin giriş yönteminin bu olduğunu düşünmüştüm. modalı Hocama her soruya ayrı kayıt açmamın mantığını bu şekilde izah edebilirim. Bunu her soruya ayrı kayıt açmadan yapabilirmiydim evet ise nasıl yapabilirdim modalı hocam.
İyi çalışmalar dileğiyle.
 
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
Sn Polienner
sizin sorununuzun çözüldüğünü biliyorum ama verdiğiniz sorunun çözümü şu şekilde bilgi için yazıyorum
Dim rs As New ADODB.Recordset
rs.Open "Yaş", CurrentProject.Connection, adOpenDynamic, adLockOptimistic

For i = 1 To 4
a = Controls("metin" & i)
rs.AddNew
rs!AdıSoyadı = a
rs.Update
rs.MoveNext
Next
bu şekilde index alarak işlem yapılabiliyor iyi çalışmalar
 
Üst