Aynı ise kaydetmesin uyarsın

Katılım
26 Ağustos 2006
Mesajlar
252
Arkadaşlar sayenizde bir çok problemi çözdüm.Bunun için emeyi geçen herkese teşekkür ederim.
şimdiki sorunum şu tabloda 3 alanım var.
1- incelemeid (birincilanahtar)
2- tckimlikno
3- inceleme no

Aradığım şu tckimlikno alanındaki kaç defa tekrar ederse etsin incelemeno alanındaki aynı tckimlikno ya göre tekrar etmesini
yani örneğin tckimlikno 123 ise incelemeno 1 diyelim.tekrar tckimlikno 123 ise 1 yazamasın formda uyarsın ve kaydetmesin.
124 ise yani tckimlik değiştiğse 1 yazabilsin
Bunu nasıl yapabiliriz yardımcı olursanız sevinirim.
 
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
Sn Ahmetaksoy tabloyu tasarıda açın aynı kaydın tekrar edilmemesini istediğiniz alanların üzerine gelin ve alanın özelliklerinden sıralıya gelin Sıralı=evet yineleme yok u seçin kolay gelsin
 
Katılım
26 Ağustos 2006
Mesajlar
252
Sayın Adnan Yurdakul dediğinizi yaptığımda başka tckimlik içinde aynı sayıyı yazmıyor.
Benim istediyim aynı tckimlik nosuna aynı numarayı yazmasın ama ayrı tckimlik nosuna aynı noyu yazsın istiyorum.
yanı incelemeno benzersiz olmayacak sadece aynı tckimliknoya benzersiz farklı tckimlikno ya aynı numara yazılabilsin istiyorum.bu konuda bişi yapabilirmiyiz.ayrıca ilgine teşekkür ederim.
 
Katılım
26 Ağustos 2006
Mesajlar
252
örnek ekte

istediğim şey tekrar eden tckimlikno ya göre incelemeno benzersiz olsun aynısı yazılırsa uyarsın tckimlik no farklı ise diğer tckimliknodaki incelemeno yazılabilsin. teşekkür ederim.
 

Ekli dosyalar

  • 35.6 KB Görüntüleme: 14
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın aksoyahmet1,

İnceleme Id tek ve otomatik sayı varken tekrar her kişi için neden inceleme no ekleme ihtiyacında bulunuyorsunuz?

Eğer maksat numaralandırma ise, bunu sorguda veya raporda kolaylıkla haledebilirsiniz.

İyi çalışmalar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın aksoyahmet1,

Yine de üzerinde değişiklikler yaptım. Eğer herdefa bir artacaksa eki inceleyin.

İyi çalışmalar
 

Ekli dosyalar

Katılım
26 Ağustos 2006
Mesajlar
252
Sayın Modalı,
Her defada bir artmayacak sadece istediğim aynı tckimliknoya aynı numarayı vermesin farlıda verebilsin benzersixlikle ilgisi yok daha ilerde fdarklı bi şekilde kullanmayı dşünüyorum.
tckimlikno 123 olana incelemeno 1 versin tekrarında 1 harici bir numara versin
tckimlikno 456 olana incelemeno 1 tekrar verebilsin ama tekrarında 1 yazamasın istiyorum ilginize teşekkür ederim tekrara bakabilirseniz sevinirim.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhabalar;

Alttaki kodu alt-formun güncelleştirme sonrasına yazınız.. Yaptığım bu yöntem çok hoşuma gitmedi ama belki sizi tatmin edebilir.. "Güncelleştirme öncesinde" uygulanması gereken bir olay bu sonuçta..

Kod:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset

rs.Open ("SELECT a.incelemeid, a.incelemeno, a.tckimlik, " _
& "(select count(incelemeno&tckimlik) from tablo2 where incelemeno&tckimlik=a.incelemeno&a.tckimlik) AS bb" _
 & " FROM Tablo2 AS a;"), cn, adOpenKeyset, adLockOptimistic
 
 Do Until rs.EOF
If rs("bb") > 1 Then
Dim i As Integer
i = MsgBox("inceleme no : " & rs("incelemeno") _
& vbCrLf & "tckimlik no : " & rs("tckimlik") & vbCrLf & vbCrLf _
& "Daha önce girilmiş !!", vbCritical, "beab")
rs.MoveLast

End If
rs.MoveNext
Loop
cn.Close
Set cn = Nothing
Set rs = Nothing
 
Katılım
26 Ağustos 2006
Mesajlar
252
Ellerine sağlık çok güzel olmuş.Ayıp olmazsa kodları bana biraz açıklayabilirmisin.çok teşekkür ederim.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Sql cümesine dikkat ediniz orada "incelemeno" ve "tckimlik" alanlarını birleştirdim ve aynı olanları saydırdım (bb rumuzlu alan).
ADO ile tüm kayıt setini dolaştırarak her güncelleştirme sonrasında bu iki alanın aynısından olup olmadığını daha doğrusu "bb" isimli alanın 1 den fazla değer aldığı durumlarda mesaj kutusu ile uyarı verdirmesini sağladım..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bir çözüm de benden:

Aşağıdaki sql cümlesini bir sorguya kopyalayıp yapıştırın:
Kod:
SELECT Tablo2.incelemeno, Tablo2.tckimlik
FROM Tablo2
GROUP BY Tablo2.incelemeno, Tablo2.tckimlik
HAVING (((Tablo2.tckimlik)=[Formlar]![Tablo1]![Tablo2 Altform].[Form]![tckimlik]));
Daha sonra da alt formun kod yazma penceresine şu kodu yazın:

Kod:
Private Sub incelemeno_BeforeUpdate(Cancel As Integer)
    If DCount("incelemeno", "Sorgu1", "incelemeno=" & Me.incelemeno) > 0 Then
        MsgBox "Aynı Kayıt Var"
        Me.Undo
    End If
End Sub
İyi çalışmalar:eek:k::
 
Üst