Kayıt Ekle butonundaki click olayındaki kod çalışmıyor.

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba aşğıdaki kodu kaydet butonununu click olayına yazdım.
Ama buton açılan kutu 12 boş olduğu zaman hata mesajı vermiyor.
Dosya ektedir
Kod:
Private Sub Kaydet_Click()
On Error GoTo Err_Kaydet_Click
[B][COLOR="Blue"]If Açılan_Kutu12 = Empty Then
    MsgBox "Bölüm boş olamaz." & vbLf & "Bölüm alanına Yeni kayıt girmek için Bir bölüm yazınız..!!", vbCritical, "UYARI"
    Exit Sub
End If[/COLOR][/B]
    DoCmd.GoToRecord , , acNewRec

Exit_Kaydet_Click:
    Exit Sub

Err_Kaydet_Click:
    MsgBox Err.Description
    Resume Exit_Kaydet_Click
    
End Sub
 

Ekli dosyalar

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

Önce uyarı kısmını hal edelim:

If Açılan_Kutu12 = Empty Then

olan kısmı

Kod:
If Açılan_Kutu12 = "" Then
Olarak değiştirin. Access Empty yi anlamıyor. Yerine Null kullanılıyor, ancak bazen orada da sorun çıkıyor. En iyisi "" kullanmak.

Gelelim Kaydet kısmına,

Defalarca tekrarladım Access uygulamalarında ayrıca Kaydet gibi bir düğmeye ihtiyaç yok, ilişkili formlarda yaptığınız değişiklik aynı anda tabloya yansıyor. Sayın Taruz küçük bir hile yaptı Kaydet düğmesini ekledi, ancak arkasına yazdığı kod Formun ve Liste nin tekrar sorgulanması ile ilgili. Anlayacağınız kayıt ile ilgili birşey değil.

Sizin yazdığınız kod ise kaydetme kodu değil,

Kod:
DoCmd.GoToRecord , , acNewRec
koduyla yeni bir kayıt girme üzere kayıtların ensonuna yeni bir giriş için alanları boşaltıyor. GoToRecord kelimesinden anlamış olmanız gerekirdi.

İyi çalışmalar

 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Dediğniz şekildede denedim yine çalışmadı.Hiç bir hareket yok.
Kod aşağıda.
Not : kodu click olayına yazdım.
Kod:
If Açılan_Kutu12 = "" Then
    MsgBox "Bölüm boş olamaz." & vbLf & "Bölüm alanına Yeni kayıt girmek için Bir bölüm yazınız..!!", vbCritical, "UYARI"
    Exit Sub
End If
aşğıdaki kodu ise ben yazmadım.Buton oluşturulurken oluyor sanırım.
Kaydet kodlarını taruz verdiği kodları kullanarak yapmayı düşünüyorum.
Zaten exceldede kayıt etmek için ayni kodlarıda kullanıyoruz.
Ama ilk önce bu sorunu aşamalıyım diye düşünüyorum.
Sonraki adım kaydet kodlarını butonun içine yazmak olacak.
Teşekkür ederim.

Kod:
DoCmd.GoToRecord , , acNewRec
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
O zaman kodları yazdığınız uygulamayı ekleyin.

Tekrar ediyorum KAYDET BUTONUNA GEREK YOK!

İlişkili alanlarda yapılan değişiklik direkt olarak tablolara yansıyor.

Siz kod yazma penceresiniz açın, sol üst taraftaki açılan pencereden düğmenizi seçin, kod penceresine klik olayının kodları gelecektir. araya kodlarınızı tekrar yazıp deneyin.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
O zaman kodları yazdığınız uygulamayı ekleyin.

Tekrar ediyorum KAYDET BUTONUNA GEREK YOK!

İlişkili alanlarda yapılan değişiklik direkt olarak tablolara yansıyor.

Siz kod yazma penceresiniz açın, sol üst taraftaki açılan pencereden düğmenizi seçin, kod penceresine klik olayının kodları gelecektir. araya kodlarınızı tekrar yazıp deneyin.
Ben kaydetten kayıt ekle yi kastetmiştim üstadım.
Üstadım kayıt ekle butonu olmadan nasıl Kayıt ekleyecez,
Anlatabilirmisiniz?Bende o şekilde devam edeyim.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Uyarı için kodları şöyle değiştirin:

Kod:
If Nz(Me.Açılan_Kutu12) = "" Then
    MsgBox "Bölüm boş olamaz." & vbLf & "Bölüm alanına Yeni kayıt girmek için Bir bölüm yazınız..!!", vbCritical, "UYARI"
    Me.Açılan_Kutu12.SetFocus
    Exit Sub
End If
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Uyarı için kodları şöyle değiştirin:

Kod:
If Nz(Me.Açılan_Kutu12) = "" Then
    MsgBox "Bölüm boş olamaz." & vbLf & "Bölüm alanına Yeni kayıt girmek için Bir bölüm yazınız..!!", vbCritical, "UYARI"
    Me.Açılan_Kutu12.SetFocus
    Exit Sub
End If
Üstadım şimdi oldu.Yalnız başa bu nz yi yazmakla ne iş yapmış olduk.
Söyleyebilirmisiniz?Excelde böyle bir durum yok.Hemen çalışıyordu kodlar.
Acaba ilişkili bir nesne olduğundanmı nz yaptık.Benim gördebildiğim tek fark odur .Siz ne diyorsunuz?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Syın Evren Gizlen,

Nz fonksiyonu çok kullanılan bir fonksiyon. Bu alan boş ise nasıl davranması gerektiğini anlatıyor uygulamaya.

Genel Kullanımı:

Kod:
Nz(AlanAdı;Boş ise alacağı değer)
Şeklinde. Siz buraya değer belirtmediğinizde hata üretme diyorsunuz. Açılan kutunun değeri boş olamaz ondan çalışmadı. Yanlız dikkat arada kullandığımız ayraç eğer kod yazılıyorsa , deyim yazılıyorsa ; olmalı. Bunlarada yerel ayarlarla ilgili bir çelişki.

İyi çalışmalar
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Syın Evren Gizlen,

Nz fonksiyonu çok kullanılan bir fonksiyon. Bu alan boş ise nasıl davranması gerektiğini anlatıyor uygulamaya.

Genel Kullanımı:

Kod:
Nz(AlanAdı;Boş ise alacağı değer)
Şeklinde. Siz buraya değer belirtmediğinizde hata üretme diyorsunuz. Açılan kutunun değeri boş olamaz ondan çalışmadı. Yanlız dikkat arada kullandığımız ayraç eğer kod yazılıyorsa , deyim yazılıyorsa ; olmalı. Bunlarada yerel ayarlarla ilgili bir çelişki.

İyi çalışmalar
Demekki nesneyi değerlendirmiyor. acsess alanı değerlendiriyor o zaman.Çünkü nesne boş sa çalışmadı ve nz kullanmadık.
Yalnız aşağıdaki yazdığımız kodda ; yada , işaretini kullanmadık.
Kod:
If Nz(Me.Açılan_Kutu12) = "" Then
 
Üst