formda dlookup komutu ile veri gelmiyor
Tarih
28/03/2013 21:28
Konu Sahibi
saglikci_salih
Yorumlar
4
Okunma
1634
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



saglikci_salih
Aktif Üye
Kullanici Avatari
Aktif Üye
91
28/07/2009
17
Amasya
Ofis 2010
08/10/2015,00:57
Çözüldü 
İ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ı

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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.



Ek Dosyalar
.rar   gebe dvit programı.rar (Dosya Boyutu: 59,47 KB / İndirme Sayısı: 19)
saglikci_salih, 28-07-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


aydın3838
Destek Ekibi
Kullanici Avatari
Destek
256
20/12/2009
8
Kayseri
Ofis 2003
06/07/2016,00:39
Çözüldü 
selam
dlookup yerine ado deneseniz daha hızlı olur

koddaki
tabloadı,tablokriter,kritermetinkutusuadi,metinkutusuadi,tabloalanadi
alanlarını kendi uygulamanıza uyarlayın

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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

aydın3838, 20-12-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


saglikci_salih
Aktif Üye
Kullanici Avatari
Aktif Üye
91
28/07/2009
17
Amasya
Ofis 2010
08/10/2015,00:57
Çözüldü 

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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[b] rs As ADODB.Recordset[/b]
    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.

saglikci_salih, 28-07-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
5.975
29/10/2008
Ordu
Ofis 2013 32 Bit
Bugün,14:32
Çözüldü 
Kodunuzun sadece bir satırını alıp örnek vereyim:

Visual Basic Code
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:

Visual Basic Code
a = DLookup("[id]", "[tbl_dvit1]", "[donem]='" & Me.c & "'")

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla


saglikci_salih
Aktif Üye
Kullanici Avatari
Aktif Üye
91
28/07/2009
17
Amasya
Ofis 2010
08/10/2015,00:57
Çözüldü 
+rep+rep+rep abi 10 numarasın sen ya. mükemmelsin teşekkür ederim. her ikinizede çok çok teşekkür ederim.
saglikci_salih, 28-07-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Formda İsim yazdığımda tablodan veri gelmesi 53rize 6 153 27/11/2016, 13:36 53rize
  Access Formda Tümünü Seç Buton Olay Yordamı Ekleme ? mehami 7 294 25/11/2016, 18:36 mehami
  Formdaki bir alan göre alt formda alanları gizleme enderya 2 82 20/11/2016, 19:34 ozanakkaya
  Alt Formda Satır Silindiğinde Yeniden Hesaplatmak shalala 2 142 17/11/2016, 09:44 shalala
  Sorgudaki değişime göre formda uyarı vermek mehmetb84 4 140 16/11/2016, 23:08 mehmetb84


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya