Skip to main content

AccessTr.neT


Dao İle Alınan Kayıt Setini Formdaki Metin Kutularına Aktarma Sorunu

Dao İle Alınan Kayıt Setini Formdaki Metin Kutularına Aktarma Sorunu

Çözüldü #1
arkadaşlar, dao ile kayıt seti alma örneğini kendi işime uyarlamak istedim, bu yönde mantık yürüterek alınan kaydı metin kutularına almak istedim ve hata verdi, acaba nasıl yapmalıyım, yardımcı olur musunuz?

Private Sub faturaNo_DblClick(Cancel As Integer)
Dim db As DAO.Database
Dim qd As DAO.QueryDef
Dim rs As DAO.Recordset

Set db = CurrentDb
Set qd = db.QueryDefs("SELECT surec.isinAdi, surec.faturaTarihi, surec.faturaNo, surec.tutar, surec.kdvOrani, surec.toplamFiyat, surec.Kimlik, surec.islemTarihi, surec.tevkifatOrani, isinTuru.isinTuru, alimTuru.alimTuru, depo.depo, siniflar.Kimlik, isinTuru.Kimlik, odenekSureci.odenekMiktari, firmalar.vergiNo, firmalar.firmaAdi, siniflar.sinifAdi, surec.kdvTutari, surec.tevkifatTutari, surec.tevkifatliToplamTutar FROM siniflar INNER JOIN (odenekTarihi INNER JOIN (odenekSureci INNER JOIN ((depo INNER JOIN isinTuru ON depo.Kimlik = isinTuru.depoId) INNER JOIN (firmalar INNER JOIN (alimTuru INNER JOIN surec ON alimTuru.Kimlik = surec.alimTuruId) ON firmalar.Kimlik = surec.firmaId) ON isinTuru.Kimlik = surec.isinTuruId) ON odenekSureci.Kimlik = surec.odenekId) ON odenekTarihi.Kimlik = odenekSureci.odenekTarihiId) ON siniflar.Kimlik = odenekSureci.siniflarId WHERE (((surec.faturaNo)=[Formlar]![siniflar]![faturaNo]));")


qd.Parameters(0).Value = [Forms]![siniflar]![faturaNo]
Set rs = qd.OpenRecordset()

'Do Until rs.EOF
rs.Fields ( Me.isinAdi ) burada hata verdi
rs.MoveNext
rs.Fields (Me.faturaTarihi)
rs.MoveNext
rs.Fields (Me.faturaNo)
rs.MoveNext
rs.Fields (Me.tutar)
rs.MoveNext
rs.Fields (Me.acilanKdvOrani)
rs.MoveNext
rs.Fields (Me.toplamFiyat)
rs.MoveNext
rs.Fields (Me.metinKimlik)
rs.MoveNext
rs.Fields (Me.islemTarihi)
rs.MoveNext
rs.Fields (Me.acilanTevkifat)
rs.MoveNext
rs.Fields (Me.acilanIsinTuru)
rs.MoveNext
rs.Fields (Me.isinAdi)
rs.MoveNext
'Loop

rs.Close
qd.Close
db.Close
Set rs = Nothing
Set db = Nothing
Cevapla
#2
recordsetin mantığı biraz farklı, veriler satır bazında alınır
her movenext'te bir sonraki kayda gider
rs.Fields ( Me.isinAdi ) : bu kodun anlamı==> Me.isinAdi metin kutusundaki ada sahip alanın değeri demektir, recordsetteki değeri Me.isinAdi kutusuna atayın demek değildir. doğrusu
Me.isinAdi =rs.Fields (alanAdı1)
Me.faturaTarihi=rs.Fields (alanAdı)
Me.faturaNo=rs.Fields (alanAdı3)
Me.tutar=rs.Fields (alanAdı4)
Me.acilanKdvOrani=rs.Fields (alanAdı5)
yada
Me.isinAdi =rs.Fields (alanSırası)
Me.faturaTarihi=rs.Fields (alanSırası2)
Me.faturaNo=rs.Fields (alanSırası3)
Me.tutar=rs.Fields (alanSırası4)
Me.acilanKdvOrani=rs.Fields (alanSırası5)
bu durumda kodunuza bakarak
Me.isinAdi =rs.Fields ("isinAdi") yada
Me.isinAdi =rs.Fields (0) <==sorgunuzdaki ilk alan surec.isinAdi 0. sıradadır, 2. alan>1, 3. alan >2 vs vs


movenext ise sonraki kayda gitmek için kullanılır
recordset ile ilgili biraz daha araştırma yapmanız yerinde olur
iyi çalışmalar
Cevapla
#3
teşekkür ederim. dao konusunda epey bi araştırma yapmam lazım da ya bi sorunum var onu halledersem işim bugünlük bitiyor, açılırlistekutusu var, bi butonla başka bir metin kutusundaki değeri oraya atıyorum, gitmesine gidiyor ama sadece değer olarak gidiyor ben ise o giden değere eşit olan listedeki değerin otomatik olarak listeye gelmesini istiyorum, bu konuda bi öneriniz var mı? (altformdaki metin kutusundan üst formdaki combo ya gönderiyorum)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da