Skip to main content

#EvdeKal


Formu Her Açtığımda İşlem Oluşturuyor.

Formu Her Açtığımda İşlem Oluşturuyor.

Çözüldü #1
Arkadaşlar kolay gelsin. Şöyle bir sıkıntım var. Form1 her açıp kapattığımda yeni bir işlem açıyor. Yani ayın 15.04.2019 tarihinde form1 açtım biraz veri girdim ve kapattım. Tekrar form1 açtığımda aynı tarihden bir daha oluşturuyor. Ben ayın 15.04.2019 tarihinden bir tane oluşturmasını isitiyorum. Bu konuda ne yapabilirim. Teşekkür ederim.
.rar lokma1.0.rar (Dosya Boyutu: 64,56 KB | İndirme Sayısı: 3)
Cevapla
#2
Me.Metin7 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LOKMA'")
Me.Metin34 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LOKMA YARIM'")
Me.Metin40 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='MUZLU SÜT'")
Me.Metin11 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LİMONATA'")
Me.Metin9 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='ÇAY'")
Me.Metin46 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='SU'")
Me.Metin52 = Dlookup ("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='KAHVE'")

bunları kayıt ekle içine alınca durum düzeldi. Bu yaptığım doğru mu? Bir de formu kapatıp açınca o günün işlemini açamıyorum.
Son Düzenleme: 15/04/2019, 10:33, Düzenleyen: hegu.
Cevapla
#3
Merhaba, belirttiğiniz kodları formun yüklendiğinde olayına yazmışsınız. Formu her açtığınızda bu veriler tabloya yeni kayıt olarak ekleniyor.

Formun yüklendiğinde olayındaki kodu

Visual Basic Code
If DCount("[TARIH]", "URUN", "clng([TARIH])=" & CLng(Date)) > 0 Then

MsgBox (Date & " tarihli veri daha önce kaydedilmiş, yeni tarih belirleyin.")

Me.TARIH = ""

Else

Me.Metin7 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LOKMA'")
Me.Metin34 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LOKMA YARIM'")
Me.Metin40 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='MUZLU SÜT'")
Me.Metin11 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LİMONATA'")
Me.Metin9 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='ÇAY'")
Me.Metin46 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='SU'")
Me.Metin52 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='KAHVE'")

End If


kodu ile değiştirirseniz, formu açtığınızda, tarih daha önceden girilmiş ise uyarır. 

Formun güncelleştirme sonrasında olayına 

Visual Basic Code
If IsNull(Me.TARIH) Or Me.TARIH = "" Then

DoCmd.RunSQL "DELETE URUN.TARIH FROM URUN WHERE (((URUN.TARIH) Is Null));"

End If


şeklinde kod eklerseniz tarih alanı boş olan veriler form kapandığında silinir.

"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#4
Sayın ozanakkaya hocam dediğinizi uyguladım. Şöyle bir sorun oldu. Bu gün verileri girdikten sonra formu kapatınca tekrar formu açtığımda dediğiniz uyarıyı veriyor fakat ben tekrar o günün tarihi üzerinde veri girmeye devam etmek istiyorum. Bununla ilgili ne yapmam lazım. Bir de yeni tarih belirleyin uyarısı verince yeni tarih yazınca bilgiler(satış fiyatları) gelmiyor. Teşekkür ederim.
Son Düzenleme: 15/04/2019, 11:00, Düzenleyen: hegu.
Cevapla
#5
Sayın Hegu ürün tablosunda yer alan "lokmamal" lokmanın maliyetini mi gösteriyor yoksa lokma_miktarı*lokma_fiyatı'nı mı?
eğer "lokmamal" = lokma_miktarı*lokma_fiyatı'nı gösteriyorsa ürün tablosunu değiştirmek daha uygun olur gibi.
sadece "tarih", "urunid" ve "urunmiktari" alanlarının olduğu bir ürün tablosu sizin işinize daha çok yarar.
örnek tablo yapısı ve ilişkisi ekli örnekte yer almaktadır.

Ayrıca formun geçerli olduğunda olayını aşağıdaki gibi düzenlerseniz fiyat otomatik gelir. ama bence ilişkilendirmenizde sorun var gibi.
urun tablosu, verileri fiyat tablosundan alıyorsa metin kutuları ilişkilendirilmemiş olmalı.

Visual Basic Code
Private Sub Form_Current()
Me.Metin7 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LOKMA'")
Me.Metin34 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='LOKMA YARIM'")
Me.Metin40 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='MUZLU S?T'")
Me.Metin11 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='L?MONATA'")
Me.Metin9 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='?AY'")
Me.Metin46 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='SU'")
Me.Metin52 = DLookup("URUN_FIYAT", "TBL_URUN_FIYAT", "URUN_ADI='KAHVE'")
End Sub

.rar lokma1.0 - YeniTablo.rar (Dosya Boyutu: 19,29 KB | İndirme Sayısı: 1)
Cevapla
#6
Sayın haliliyas hocam bütün verileri URUN tablosundan alıyor. LOKMAADET lokmanın adeti LOKMAFIYAT lokmanın satış fiyatını LOKMAMAL ise lokma maliyet fiyatını gösteriyor.  Diğerleri de diğerlerinin bilgilerini gösteriyor.
Son Düzenleme: 16/04/2019, 21:14, Düzenleyen: hegu.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da