Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
28/03/2013 21:28
Konu Sahibi
saglikci_salih
Yorumlar
4
Okunma
1983
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
11/09/2017,16:14
Çö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
260
20/12/2009
8
Kayseri
Ofis 2003
04/09/2017,15:22
Çö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
11/09/2017,16:14
Çö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

Düşünmek en zor iştir...
Kullanici Avatari
Uzman
O....
6.092
29/10/2008
Bursa
Yazılım Geliştirici
Ofis 2010 32 Bit
20/10/2017,09:01
Çö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
11/09/2017,16:14
Çö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
Çözüldü Formdaki Kaydı Farklı Formda Yeniden Kayıt U.ALTUN 11 392 19/10/2017, 17:29 U.ALTUN
Çözüldü Kayıtlarda Gezerken Dlookup Nasıl Çalıştırılır? ogzcntrk 10 418 19/10/2017, 09:14 ogzcntrk
Çözüldü Dlookup Kodu Hatası accessdelisi 3 151 14/10/2017, 07:52 accessdelisi
Çözüldü Formdaki Kaydı Farklı Formda Yeniden Kayıt U.ALTUN 9 441 04/10/2017, 19:53 ozanakkaya
Çözüldü Formda Otomatik Sayı Hatası ştekin 2 75 27/09/2017, 13:03 ştekin

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.