Sayı olarak tanımlanmış alanlarda benzer kayıtlar

Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Arkadaşlar yardım ederseniz sevinirim.
Daha önce burda yayımlanmış bi kodu kullanmak istedim ama beceremedim. Veri alanı "Metin" olarak ayarlanmış alan, güncellendiğinde olay kısmana;

Private Sub adısoyadı_BeforeUpdate(Cancel As Integer)
Dim SID As String
Dim stLinkCriteria As String
SID = Me.[adısoyadı].Value
stLinkCriteria = "[adısoyadı]=" & "'" & SID & "'"
If DCount("[adısoyadı]", "giriş", stLinkCriteria) > 0 Then
'Undo duplicate entry
MsgBox "Girmekte Oldugunuz " _
& SID & " isim Daha Önce İşlenmiş." _
& vbCr & vbCr & "Lütfen Kayıtları Kontrol Ediniz.", vbInformation _
, "Mükerrer Kayıt"

End If
End Sub


yazılmış, benim mükerrer olarak yazılmasını istemediğim, istendiğinde uyarı çıkmasını istediğim alan ise "Sayı", ben yukardaki alanı ona uyarladığımda benzeşmeyen biçim ve veri gibi farklı bi uyarı veriyor. Hatta alanı sayı yerine metine çevirdiğimde ise problem kalmıyor. Ancak benim bahsettiğim alan "Sayı" ve çözümünü bu şekilde bulmak gerekiyor. Yardım edecek arkadaşlar var mı?
edeceklere şimdiden teşekkürler.

"Adısoyadı" yerine "sicili" yazılacak.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın kalbinidinle,

Sanırım aşağıdaki değişiklikleri yaparsanız sorununuz halolur.

Kod:
Dim SID As String
...
SID = Me.[adısoyadı].Value
stLinkCriteria = "[adısoyadı]=" & "'" & SID & "'"
Yerine
Kod:
Dim SID As Long
...
SID = Me.[sicil].Value
stLinkCriteria = "[sicil]="  SID
İyi çalışmalar:)
 
Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Sayın modalı cidden çok teşekkürler, o kadar makbule geçtiki.. kolay gelsin..
 
Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Arkadaşlar sayın modalı'ının yardımıyla problemi mi çözdüm. Bu olayı ayrıca manuel olarak sürekli bir artan sayı alanına yaptım, geriye dönük olarak aynı sayının tekrar girilmesinin önüne geçtim.

Yalnız bu seferde o sayı alanındaki en yüksek sayı dan ancak bir fazla girilmesini, bir fazladan fazla girilen büyük sayıların girilmemesi gerektiğini kullanıcıya nasıy söylerim, :)) yani olayla.

Problemim kısaca manuel olarak sürekli artan sayı alanında girilmiş en büyük sayıdan sadece bir fazlasının girilmesini, fazla girildiğinde uyarılma işinin nasıl yapılacağı.. Alan ismi "artan"..

İlgilenip yardım edecek arkadaşlara teşekkür ediyorum.
 
Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Sayın modalı ilginize cidden teşekkür ediyorum. Gösterdiğiniz lingi açarak örneğinizi indirdim. Güzel işliyor,programdaki "ürün" tablosu yada sorgusu yerine, ben direk sorgudan al dedim. Kodları aynı şekilde attım oluyor, velakin bi sıkıntım şu..
Şuana kadar daha önceden itibaren 550 sayısına kadar yazılmış, ancak o kodları yazdıktan sonra 1 den başlattı ve iki diye devam ediyor, yani önceki kayıtları dikkate almadı. Acaba benmi yanlış yaptım, yada yapılması gereken farklı birşeymi var..
Aslında ben bu sorunun benzerini farklı bir soruyla daha önce sormuştum. Soğulsun gülsüm1 cevaplamaya çalışmıştı. Onun da bahsettikleri güzeldi velakin şuanda gördüğüm kodu ilk önce yapmış olsaydım hiç problem kalmıyacaktı, neyse soğolsun cevap verdiya :))
Problem ; kodu uyguladım çalışıyor, yani üstüne tıklandığında da bir artıyor harika; yalnız daha önceden 550'ye kadar verilmiş sayıları dikkate almıyor. Ne yapmam lazım..

Daha acayibi aynı şekilde birer artırmak istediğim yer formda iki tane, birisindeki sıkıntı aynen yukardaki gibi, diğerinde ise şuana kadar kayıtlı olan sayının üstüne artırarak başladı (820'nin üstüne), benmi hata yaptım bilmiyorum.
Şimdiden yardım edecek arkadaşlara teşekkür ediyorum.
 
Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Birşeydaha aklıma geldi, velevki sayı alanını bir arttıran bir kod yazmayalım, bari bir arttırılmadığında, yani en büyük rakamdan bir fazla yazılmadığında uyarı versin, bu mümkün mü? yardım edecek arakadaşlara şimdiden teşekkürler.
 
Katılım
22 Ocak 2007
Mesajlar
128
Excel Vers. ve Dili
Ofis excell 2003 türkçe
Sayın Modalı örnekteki kodu uygulamaya çalışıyorum.
Sürekli bir fazla artmasında bi sıkıntı yok, yani yeni kayıtlarda sürekli bir artış oluyor, problem ise girilmiş kayıtlar gezilirken atıyorum "sayı" alanının üstünden aşağıya inmek istediğinizde mevcut sayıyı değiştiriyor.

Bu beni yönlendirdiğiniz örnekte te aynı. Yani geri dönüp kayıtları incelerken sayıların tekrar değişmesinin önüne geçmek nasıl olacak.

Bu kodu uygularsam büyük ihtimalle sorunu çözmüş olacam ancak beceremedim, yardımcı olacak arkadaşlara teşekkür ediyorum.

Problem tekrar edilirse ; link verilen programdaki kodu kendi programıma uyarladığımda,

If IsNull(DLast("[sayı]", "ANATABLO_")) Then
Me.sayı.Value = 1
Else
[sayı].Value = DLast("[sayı]", "ANATABLO_") + 1
End If

Sürekli bir artış oluyor, bunda problem yok, ancak kayıtlı veriler üzerinde gezmek istediğinde o kayıtların rakamları değiştiriliyor, dolayısıyla 20 taner 1 - 30 tane 2 vs. gibi tutarsız bir bilgiye neden oluyor, şimdiden teşekkürler yardım etmek isteyenlere..
 
Üst