aranılan kayıt varsa şunu yap,yoksa şunu..

Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
merhaba arkadaşlar.biliyorum forumu aramadığımı düşüneceksiniz.ama yok,ya bende bir sorun var yada kullandığım access programında..

ya benim formumda "adı","soyadı" ve "birimi" adında üç denetimim(ilişkisiz) var.
bir de butonum var. "kişiler" adlı tablomda da aynı isimlere sahip alanlarım var.amacım, bu form'a girilen değerleri butonla tablodan aratıp; eğer böyle bir kayıt varsa hazırlamış olduğum bir sorguyu çalıştırmak.eğer yok ise hazırladığım diğer bir sorguyu(ekleme) çalıştırmak.arkadaşlardan aldığım "aynı kayıt varsa uyarı" adlı kod bloğu tek alan aramalı için geçerli bir koddu.bunu kendime uyarlamaya çalıştım(hem "adı" hem"soyadı" hem de "birimi")ama olmadı.en fazla iki alanıma uyarlaya bildim,çalıştı.ama gel gör ki üçüncü bir alana("birimi") da uyarlamaya çalıştım bu kez çalışmadı.tam üç gündür bu sorunla uğraşıyorum.aslında mantıksız bir durum değil mi?hani mantığen ikinci bir alana uyarlamayı başaran biri ,üçüncü hatta dördüncü bir alana da uyarlar bu kodu.bir yerde bir hata var ama çözemedim.lütfen , yardımcı olur musunuz arkadaşlar.kodu yazıyorum;
Private Sub Komut7_Click()

Dim SID1, SID2, SID3 As String
Dim stLinkCriteria1, stLinkCriteria2, stLinkCriteria3 As String
Dim rsc As DAO.Recordset

Set rsc = Me.RecordsetClone

SID1 = Me.[adı].Value
SID2 = Me.[soyadı].Value
SID3 = Me.[birimi].Value
stLinkCriteria1 = "[adı]=" & "'" & SID1 & "'"
stLinkCriteria2 = "[soyadı]=" & "'" & SID2 & "'"
stLinkCriteria3 = "[birimi]=" & "'" & SID3 & "'"
If DCount("[adı]", "kişiler", stLinkCriteria1) And DCount("[soyadı]", "kişiler", stLinkCriteria2) And DCount("[birimi]", "kişiler", stLinkCriteria3) = 1 Then
'Undo duplicate entry
Me.Undo
DoCmd.OpenForm "kişisor"
'arama kriterlerini yukarıdaki gibi üçe çıkardığım zaman sadece aşağıdaki "Else"den sonrakiler çalışıyor.dola
'-yısı ile aynı kayıt olduğu halde yine ekliyor
Else
MsgBox "böyle bir kayıt yok! EKLİYORUM TAMAM MI?"

DoCmd.SetWarnings False
DoCmd.OpenQuery "kisor"


End If


Set rsc = Nothing

End Sub
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın takoo,

Siz karşılaştırma cümlesini tam kurmuyorsunuz nasıl çalışsın

Kod:
If DCount("[adı]", "kişiler", stLinkCriteria1)=1 And DCount("[soyadı]", "kişiler", stLinkCriteria2)_1  And DCount("[birimi]", "kişiler", stLinkCriteria3) = 1
olarak deneyin.

ADO kullanırsanız bu işler daha kolaylaşır. Birde uyarıları durduruyoesunuz tekrar açmanız gerekir.

İyi çalışmalar
 
Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
Sayın takoo,

Siz karşılaştırma cümlesini tam kurmuyorsunuz nasıl çalışsın

Kod:
If DCount("[adı]", "kişiler", stLinkCriteria1)=1 And DCount("[soyadı]", "kişiler", stLinkCriteria2)_1  And DCount("[birimi]", "kişiler", stLinkCriteria3) = 1
olarak deneyin.

ADO kullanırsanız bu işler daha kolaylaşır. Birde uyarıları durduruyoesunuz tekrar açmanız gerekir.

İyi çalışmalar
sayın modalı çok teşekkür ederim yardımınız için.evet doğru bariz bi hata yapmışım.ama düzelttim yine çalışmadı.ya bu program bana kafayı yedirtecek. çok mantıksız bi durum.acaba şimdi niye çalışmadı.
şu dosyayı bi göndereyim de rica ediyorum bi bakın,teşekkür ederim
(ben bunu 2007 ile oluşturdum ,bazen 2000-2002 ile bazen tekrar 2007 ile çalışmalarımı sürdürüyorum)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın takoo,

Kodları şöyle değiştirin:

Kod:
If DCount("[adı]", "kişiler", stLinkCriteria1) > 0 And DCount("[soyadı]", "kişiler", stLinkCriteria2) > 0 And DCount("[birimi]", "kişiler", stLinkCriteria3) > 0 Then
Aynı isimden iki kişi olabilir o zaman DCount 2 oluyor.

İyi çalışmalar:)
 
Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
abicim şimdi çalıştı.Allah razı olsun ya beni büyük bi takıntıdan kurtardın,çok teşekkür ederim.daha çok yol almam lazım çoook..
 
Üst