AccessTr.neT
formda dlookup komutu ile veri gelmiyor - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: formda dlookup komutu ile veri gelmiyor (/konu-formda-dlookup-komutu-ile-veri-gelmiyor.html)



formda dlookup komutu ile veri gelmiyor - saglikci_salih - 28/03/2013

İyi günler accesstr.netciler gebelerde d vitamini dağıtımı ile ilgili bir form yaptım. Bu formda dönem bölümü secilince kayıt yoksa yeni kayıt oluşturup gecen dönemden devredenleri getiriyor. Formda yapamadığım tek şey ise eğer dönem alanı daha önce girildi ise girilen kayıtları getirmesi için aşağıdaki kodları yazdım dönem © in güncelleştirme sonrasındaki olayı

If IsNull(Me![a]) Or Me.a = "" Then
If Me.d = 1 Then
Dim z As Integer
z = DCount("*", "tbl_dvit1", _
"donem= '" & Me.c _
& "' and ahidifk= '" & Me.d & "' ")
If z > 0 Then
If MsgBox("Aynı Kayıttan Var Kaydı Getireyim mi?", vbQuestion + vbYesNo, "Gümüşhacıköy TSM") = vbYes Then
a = Dlookup ("[id]", "[tbl_dvit1]", "[donem]=" & Me.c)
b = Dlookup ("[tarih]", "[tbl_dvit1]", "[donem]=" & Me.c)
e = Dlookup ("[dvitgebe]", "[tbl_dvit1]", "[donem]=" & Me.c)
f = Dlookup ("[dvitanne]", "[tbl_dvit1]", "[donem]=" & Me.c)
g = Dlookup ("[dvitrecete]", "[tbl_dvit1]", "[donem]=" & Me.c)
h = Dlookup ("[dvitdevreden]", "[tbl_dvit1]", "[donem]=" & Me.c)
i = Dlookup ("[dvitgelen]", "[tbl_dvit1]", "[donem]=" & Me.c)
j = Dlookup ("[dvitdagitilan]", "[tbl_dvit1]", "[donem]=" & Me.c)
k = Dlookup ("[dvitkalan]", "[tbl_dvit1]", "[donem]=" & Me.c)
l = Dlookup ("[toplam]", "[tbl_dvit1]", "[donem]=" & Me.c)
Else
DoCmd.SetWarnings (False)
kisitemizlea
DoCmd.SetWarnings (True)
End If
Else
Call denetimler_aktif
btn_kaydet.Enabled = False
btn_duzelt.Enabled = False
If IsNull(Me![a]) Or Me.a = "" Or Me.a = 0 Then
t = Nz(DLast("[dvitkalan]", "tbl_dvit1"), 0)
Me.a = Nz(DMax("id", "tbl_dvit1"), 0) + 1
Me.b = Date
Me.h = t
End If
Me.b = Date
If Me.h > 0 Then
Me.h.Enabled = False
End If
End If
End If

a = Dlookup ("[id]", "[tbl_dvit1]", "[donem]=" & Me.c)
b = Dlookup ("[tarih]", "[tbl_dvit1]", "[donem]=" & Me.c)
e = Dlookup ("[dvitgebe]", "[tbl_dvit1]", "[donem]=" & Me.c)
f = Dlookup ("[dvitanne]", "[tbl_dvit1]", "[donem]=" & Me.c)
g = Dlookup ("[dvitrecete]", "[tbl_dvit1]", "[donem]=" & Me.c)
h = Dlookup ("[dvitdevreden]", "[tbl_dvit1]", "[donem]=" & Me.c)
i = Dlookup ("[dvitgelen]", "[tbl_dvit1]", "[donem]=" & Me.c)
j = Dlookup ("[dvitdagitilan]", "[tbl_dvit1]", "[donem]=" & Me.c)
k = Dlookup ("[dvitkalan]", "[tbl_dvit1]", "[donem]=" & Me.c)
l = Dlookup ("[toplam]", "[tbl_dvit1]", "[donem]=" & Me.c)
bu yerde hata mesajı alıyorum. nasıl yaparsam düzelir ben döneme göre getirmesini istiyorum.yardımcı olursanız sevinirim.


Cvp: formda dlookup komutu ile veri gelmiyor - aydın3838 - 28/03/2013

selam
dlookup yerine ado deneseniz daha hızlı olur

koddaki
tabloadı,tablokriter,kritermetinkutusuadi,metinkutusuadi,tabloalanadi
alanlarını kendi uygulamanıza uyarlayın
dim tablokontrol as integer
tablokontrol = dcount("sayımalanı","tabloadı","tablokriter=" & kritermetinkutusu)
If tablokontrol > 0 Then
If MsgBox("Aynı Kayıttan Var Kaydı Getireyim mi?", vbQuestion + vbYesNo, "Gümüşhacıköy TSM") = vbYes Then

Dim rs As ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM tabloaadi WHERE tablokriter= " & kritermetinkutusuadi
Set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open strSQL, CurrentProject.Connection
If rs.State = 1 Then
If Not rs.BOF Then
metinkutusuadi= rs("tabloalanadi")
metinkutusuadi= rs("tabloalanadi")
End If
rs.Close
End If
Else
End If



Cvp: formda dlookup komutu ile veri gelmiyor - saglikci_salih - 28/03/2013

If Me.d = 1 Then
Dim z As Integer
z = DCount("*", "tbl_dvit1", _
"donem= '" & Me.c _
& "' and ahidifk= '" & Me.d & "' ")
If z > 0 Then
If MsgBox("Aynı Kayıttan Var Kaydı Getireyim mi?", vbQuestion + vbYesNo, "Gümüşhacıköy TSM") = vbYes Then
Dim rs As ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM tbl_dvit1 WHERE donem= " & c
Set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open strSQL, CurrentProject.Connection
If rs.State = 1 Then
If Not rs.BOF Then
id = rs("tbl_dvit1")
tarih = rs("tbl_dvit1")
End If
rs.Close
End If

hata verdi hocam rs As ADODB.Recordset burada hata verdi bir de benim kayıt kontrolde iki değere göre kontrol ediyor. Bu nu değiştiremem. ado ile hiç uğraşmadığım için tam olarak yapamadı. hala hata alıyorum. Programda yapmak istediğim şey aile hekimi kodu secildi dönem secildi o aile hekiminin tablosuna gidip tabloyu kontrol etmesi, aile hekimim kodu ve dönemi aynı kayıt varsa,mükerrer kayıt yapmadan kayıtlı veriyi getirsin, yoksa yeni kayıta gecsin. yeni kayıt tamam lakin eski kayıtı getiremiyor.


Cvp: formda dlookup komutu ile veri gelmiyor - alpeki99 - 28/03/2013

Kodunuzun sadece bir satırını alıp örnek vereyim:


a = Dlookup ("[id]", "[tbl_dvit1]", "[donem]=" & Me.c)

parantez içindeki 3. bölümde Me.c ile karşınıza gelen değer "Ocak 2013" vb. metin yani String türünde bir değişkendir. Bu tip değişkenleri mutlaka tek tırnaklar içinde kullanmalısınız:


a = Dlookup ("[id]", "[tbl_dvit1]", "[donem]='" & Me.c & "'")



Cvp: formda dlookup komutu ile veri gelmiyor - saglikci_salih - 28/03/2013

+rep+rep+rep abi 10 numarasın sen ya. mükemmelsin teşekkür ederim. her ikinizede çok çok teşekkür ederim.