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
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