formda dlookup komutu ile veri gelmiyor
Tarih
28/03/2013 21:28
Konu Sahibi
saglikci_salih
Yorumlar
4
Okunma
1660
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ü 
Sponsor Reklam
İ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
15/12/2016,19:28
Çö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ü 
Sponsor Reklam

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....
6.020
29/10/2008
Ordu
Ofis 2013 32 Bit
11/01/2017,17:51
Çö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ü 
Sponsor Reklam
+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
  Çapraz sorguda Between Like komutu orderyazbim 4 124 6 saat önce orderyazbim
  Formda Veri Aramada Like Sorunu uiakouwr 14 217 11/01/2017, 08:54 uiakouwr
  Formda 1 Metin Kutusuna birden fazla Metin Kutusu içeriğini koşula bağlı gösterme hbal09 5 205 06/01/2017, 16:22 atoz112
  Formda düzenleme yaptığımda kaydetmeden işlemi geri almak raburabu 8 327 26/12/2016, 11:38 raburabu
  Dlookup sorunu nightashes 6 164 23/12/2016, 23:56 nightashes


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