Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
01/01/2013 00:54
Konu Sahibi
Mecnun24
Yorumlar
7
Okunma
2302
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

Mecnun24

Aktif Üye
Kullanici Avatari
Aktif Üye
F.... G....
247
28/02/2010
99
Denizli
Ofis 2003
18/05/2017,21:10
Çözüldü 
Merhabalar. Formda tamamlanmamış bir kayıt (doldurulması gerekli iken doldurulmayan alan ) olduğunda formu kapatmaya çalıştınızda ilk önce gerekli alanı boş bırakmayınız mesajı ardındanda bu nesneyi şu an kaydedemezsiniz diye başlayan uzun bir hata mesajı alırız. Bu hata mesajları yerine kendi mesajları yazamazmıyız. Mesela kaydı tamamlamadan formu kapatamazsınız gibi. Araştırdım ancak Bu konuya bir türlü çözüm bulamadım, Mesela formun unload olayına yazılacak bir kodla bunu sağlayamazmıyız.


Ek Dosyalar
.rar   Yeni Microsoft Office Access Uygulaması.rar (Dosya Boyutu: 10,13 KB / İndirme Sayısı: 14)
Cevapla

alpeki99

Düşünmek en zor iştir...
Kullanici Avatari
Uzman
O....
6.090
29/10/2008
Bursa
Yazılım Geliştirici
Ofis 2010 32 Bit
31/08/2017,19:08
Çözüldü 
Formun Unload olayında değilde Dirty yani Kirlide olayında bu işlemi yaptırabilirsiniz. Örnek Access videolu görsel ders bulunmaktadır:

Görsel Ders - Formun Dirty Özelliği, Kayıt Değişikliğinin Onay ile Kaydedilmesi


AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

fatih karagöl

Aktif Üye
Kullanici Avatari
Aktif Üye
167
05/10/2010
88
Edirne
-
15/12/2015,17:38
Çözüldü 
alpeki üstadım müsadenizle bir alternatifte benden olsun.
sn mecnun24 formun modülünü bu şekilde ayarlarsanız zannediyorum istediğiniz gibi olacak.

Private Sub nullKontrol()
If IsNull(ad) Or ad = "" Then MsgBox "isim alanı gereklidir", vbInformation, "my applaciton": End
If IsNull(tutar) Or tutar = "" Then MsgBox "tutar alanı adı gereklidir", vbInformation, "my applaciton": End
End Sub


Private Sub Form_BeforeUpdate(Cancel As Integer)
nullKontrol
End Sub


Cevapla

Mecnun24

Aktif Üye
Kullanici Avatari
Aktif Üye
F.... G....
247
28/02/2010
99
Denizli
Ofis 2003
18/05/2017,21:10
Çözüldü 
sayın alpeki99 ayrı bir butona basınca değilde formun sağ üst kenarındaki kapat butonundan kapatırken uygulayabilirmiyiz. Kullanıcı kapat butonundan değilde formun kendi kapat butonuyla kapatsa.tşkrler.
Sayın fatih karagöl formu kapatırken mesaj veriyor ancak tamam deyince Access gene kendi mesajını veriyor ve form kapatabiliyor. Accessin kendi mesajını vermesini ve formun kapatılamaması mümkünmü ? tşkrler.


Cevapla

alpeki99

Düşünmek en zor iştir...
Kullanici Avatari
Uzman
O....
6.090
29/10/2008
Bursa
Yazılım Geliştirici
Ofis 2010 32 Bit
31/08/2017,19:08
Çözüldü 
Access'in kendi sağ üst köşedeki kapat butonunu devre dışı bırakıyorum. Program içindeki formların sağ üst köşesindeki kapat butonlarını devre dışı bırakıyorum. Bir buton ekleyip ona tıklandığında aşağıdaki kontrolü yaptırıyorum:

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
If Me.Dirty Then
        If MsgBox("Formda kaydedilmemiş bilgiler var. Eğer çıkmak isterseniz bilgiler geri getirilemeyecek şekilde silinecek. Çıkmak istediğinizden emin misiniz?", vbQuestion + vbYesNo, "Çıkış Öncesi Uyarı!!!") = vbYes Then
            Me.Undo
            DoCmd.Close
        Else
            Exit Sub
        End If
    Else
        DoCmd.Close
    End If


AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

fatih karagöl

Aktif Üye
Kullanici Avatari
Aktif Üye
167
05/10/2010
88
Edirne
-
15/12/2015,17:38
Çözüldü 
sn mecnun
istediğinize en yakın kodlar aşağıdadır. tek kusuru hatalı kayıtla kapanışı engelledikten sonra denetimlerdeki mevcut değerleri sıfırlıyor olması. yok oda olmasın derseniz unbound denetimlere ve Sql kodlarına dönmeniz gerekecek.

Function nullKontrol() As Boolean

If IsNull(tarih) Or tarih = "" Then nullKontrol = True:
If IsNull(ad) Or ad = "" Then nullKontrol = True:
If IsNull(tutar) Or tutar = "" Then nullKontrol = True:
End Function


Private Sub Form_BeforeUpdate(Cancel As Integer)
If nullKontrol = True Then
MsgBox "boş olanlar var bu şekilde kayıt edemezsiniz", vbInformation, "my acces"
End
End If
End Sub


Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 2169
Response = acDataErrContinue
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)
If nullKontrol = True Then Cancel = True
End Sub


Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
Çözüldü Kayıt Silme Hatası burhanb 6 186 08/09/2017, 14:01 burhanb
Çözüldü Formdaki Kaydı Farklı Formda Yeniden Kayıt U.ALTUN 7 336 21/08/2017, 12:04 direnist
Çözüldü Döneme Göre Kayıt Etme haziran4 5 206 17/08/2017, 08:22 haziran4
Çözüldü Kayıt Sayısı metin02 7 258 13/08/2017, 11:05 metin02
Çözüldü Alt Formu Kaydetmeden Kapatma (butonla) december 6 388 12/08/2017, 17:11 ozanakkaya

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.