Skip to main content

AccessTr.neT


Otomatik Kaydetme

Otomatik Kaydetme

Çözüldü #7
Sn yorum70
Siz form tamamen doldurulmuşsa bile vazgeçilebilsin ve numara artmasın istiyosunuz anladığım kadarı ile.
İstediğiniz tam olarak kullandığınız bu sistemde mümkün olmayacaktır zannediyorum.
Bu noktada ID counter tablolarını kullanmaya, Sql kodlarına geçmeniz gerekir.
Direkt tabloya yazan bu yapıyı çok kullanmadım ama hatırladığım kadarı ile ;
formdaki herhangi bir alana veri girdiğinizde sayı otomatik olarak artar. Undo ile kaydı geri alsanız sayı 1 artmış olur.
Hayatta listbox kullanmam..
Cevapla
Çözüldü #8
Sorunu, Kaydedilsin mi ? kodunu, kaydet butonu tıklNDIĞINA YAZDIM VE GÜNCELLEştirme sonrasında ki yordamı kaldırdım, çözüldü.
Tşk.
"Oyun bitince  şah ve piyon aynı kutuya atılır "
Cevapla
Çözüldü #9
işyerinde düzenlediğim hata vermem,şti, burada aynı şeyi denedim, sucno girdim, anında geri sidim, ama tabloya boş id ile kayıt yaptı..İşyerinde tekrar incelemem gerekli !
"Oyun bitince  şah ve piyon aynı kutuya atılır "
Cevapla
Çözüldü #10
kusura bakmayın ben sorununuzu hallettim ama çözülen konulara eklendiği için formu gönderemiyorum. konuyu keşke çözülmüşlerin arasına eklemeseydiniz.
saglikci_salih, 28-07-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #11
Çözülmüşlerin arasına ben eklemedim, nasıl gittiği konusunda teknik bilgim yok.

Nasıl yaptığınızı tarif ederseniz, ben de düzeltmeye çalışayım.
Tşk.
"Oyun bitince  şah ve piyon aynı kutuya atılır "
Cevapla
Çözüldü #12
Kusura bakmayın geç cevap için aynı sorun bende de vardı. Toplum Sağlığı Merkezi için yaptığım formlarda arkadaşlarım nasıl beceriyorlarsa boş kayıt oluşturuyorlardı. Bende şöyle bir çözüm yolu buldum. Öncelikle id Alan adınızın veri türü otomatik sayı olmayacak. Bunu yerine tablonuzu açın ve id alan adınının otomatik sayı olan veri türünü sayıya çevirin. Sonra yine tablonuzda ki SUCNO alanındaki verinin alan özelliklerinden gerekli kısmını hayır yapın. Diyeceksiniz ki ben o alanın dolmasını istiyorum. Onuda kaydet butonuna ekleyeceğimiz bir kod ile halledeceğiz. Gelelim Kodlara
Ekle butonunuzun olay yordamına aşağıdaki kodlar kopyalayıp yapıştırın.
Private Sub ekle1_Click()
On Error GoTo Err_ekle1_Click
If MsgBox("Yeni Kayıt Açılacak Emin misin ??", vbYesNo + vbQuestion, "AYDIN") = vbYes Then
DoCmd.GoToRecord , , acNewRec
Me.KOR = Nz(DMax("id", "TBL_ANA"), 0) + 1
Me.sucn.SetFocus
Exit_ekle1_Click:
Exit Sub
Err_ekle1_Click:
MsgBox Err.Description
Resume Exit_ekle1_Click
End If
End Sub

Kaydet kodu

If IsNull(Me![sucn]) Or Me.sucn = "" Or Me.sucn = 0 Then
MsgBox "Suç No Alanı Boş Bırakılamaz.. ", vbOKOnly + vbCritical, "Eksik Bilgi": Me.sucn.SetFocus
Else
If MsgBox("Kayıtlarda değişiklik yapılmış. Kaydetmek istediğinize emin misiniz?", vbQuestion + vbYesNo, "Aydın") = vbYes Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.RunCommand acCmdSaveRecord
Form.Recalc
Me.liste11.Requery
Me.Liste10.Requery
Else
Me.Undo
End If
End If

ve son olarakta Çıkış butonu olay yordamına bu kodları yazınız ki kapatırken eğer kaydet butonuna basılmadı ise kaydetmeden bütün verileri silsin ve boş kayıt atmadan cıksın.

If Me.Dirty Then Me.Undo
DoCmd.Close

Bu kodları kopyalayıp kendi formunuza yapıştırın. Daha bitmedi.
Formunuzun özellik sayfasından güncelleştirme öncesindeki olay yordamını silin.
Sonra formunuzun özellik sayfasındaki bicim sekmesinden kapat düğmesini hayır yapın
En son olarakta sağ tık olayını kapatmak için sizden başkası kullanıyorsa, sağ tıklayıp formu kapat derse, yine boş kayıt atacağı için sağ tık olayını ve kapatma düğmesini iptal etmemiz lazım.
Sağ tık için ise yine formunuzun özellik sayfasından diğer sekmesine tıklayıp kısayol menüsünü hayır a getirmeniz gerekiyor ki hayırlısı da budur form için.
Şimdi geldi neticeye;
Öncelikle ne yaptık
1- id yi kendimiz atadık Access otomatik atmayacak.
2- kaydet butonunu sucno yu doldurmadan kaydetmemeye ayarladık. Ekle dedik id en son 9 du 10 diye id alanımıza yazdı sonra suc noyu yazdık kaydet butonuna basarsak kaydediyimmi diye sorar ve siz kaydet derseniz kaydeder hayır derseniz hepsini siler.
3- veri girişi yapıldı ama kaydet butonuna basılmadı çıkış butonuna bastığınızda girilen veriler silindi. ve boş kayıt oluşmadı.
Ah keşke form Çözülmüşlerin arasına taşınmasaydıda eki yolluyabilseydim size.
Sana bir tavsiye daha, butonları sırası ile kilitlersen daha iyi olur.
Misal ekleye bastın ekle butonu kilitlesin ki kaydete basmadan ekle butonuna bir daha basılıp boş kayıt atmasın.Sonra iptal butonuda koyman lazım ama bunları yapınca dediğim gibi kilitlemek lazım butonları. Düzenlenmiş şeklini göndermek isterdim lakin eklenmiyor.
Neyse artık olup olmadığı hakkında geri dönüş yaparsanız sevinirim. Kolay gelsin
Unutmadan kullandığınız office yazılımı nedir. Bu yazdıklarım office 2010 da işe yarar lakin 2003 ve 2007 de işe yaramayabilir.
saglikci_salih, 28-07-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 20/06/2013, 16:02, Düzenleyen: saglikci_salih.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task