Sayın Ozan Hocam
Hata vermeyen örnek ektedir.
Saygılarımla.
Boskontrol4 odemetarihi Parametre hatası
Sayın fascioglu,
F_TEKNİKSERVİS adlı formunuzdaki ÖDENEN denetiminin Güncelleme Sonrasında olay yordamındaki kodları incelerken,aklıma takılan ve anlayamadığım bir hususu danışmak isterim.
komut satırı ile ilgili S_BOSKONTROL4 adlı sorguda kayıt sayısı adedini kontrol ettirmektesiniz.ve çıkan sonuca göre de,Sıfır (0) değerinden büyük ise UPDATE Sql sorgusunu değilse de INSERT INTO Sql Sorgusunu çalıştırmaktasınız.UPDATE sorgusu ile S_BOSKONTROL4 sorgusunu güncellerken,INSERT INTO sorgusu ile de T_KASA tablosuna kayıt ekliyorsunuz.
Danışmak istediğim de bu kısım.neden UPDATE sorgusu ile yine T_KASA tablosunu güncellemiyorsunuz da bir sorguyu güncelliyorsunuz? Bu if kontrolünün cevabı hep HAYIR anlamında çıkacağı için,zaten bir değer barındırmayacaktır.
Aslında buradaki amacınız;eğer T_KASA tablodaki kayıtlarda form üzerindeki bir kayıt mevcutsa bu kaydı güncellemek,eğer kayıt yoksa tabloya eklemek olmalı.yanlış mı düşünüyorum?
Kaldı ki, F_TEKNİKSERVİS adlı form üzerinden yeni bir kayıt oluşturup fakat kayıt esnasında Müşteri Adı / Firma Adı denetimini BOŞ bıraktığınızda,hem herhangi bir uyarı vermediği gibi aynı adlı tabloya da "( Teknik Servis )" ifadesi ekleyip kaydediyor.oysa,boş bırakılmıştı.
Elbette ki aynı formun kod sayfasındaki ÖDENEN adlı denetimin Güncelleme Sonrasında olay yordamındaki
kod ifadesinden dolayı bu şekilde yazmakta olduğu görülmekte. Bu satırı etkisizleştirip boş kayıt yaptığınızda dahi yine T_KASA tablosuna kayıt gerçekleşmemektedir.Bilginize…iyi çalışmalar,saygılar.
F_TEKNİKSERVİS adlı formunuzdaki ÖDENEN denetiminin Güncelleme Sonrasında olay yordamındaki kodları incelerken,aklıma takılan ve anlayamadığım bir hususu danışmak isterim.
Kod:
If DCount("*", "S_BOSKONTROL4") > 0 Then
Danışmak istediğim de bu kısım.neden UPDATE sorgusu ile yine T_KASA tablosunu güncellemiyorsunuz da bir sorguyu güncelliyorsunuz? Bu if kontrolünün cevabı hep HAYIR anlamında çıkacağı için,zaten bir değer barındırmayacaktır.
Aslında buradaki amacınız;eğer T_KASA tablodaki kayıtlarda form üzerindeki bir kayıt mevcutsa bu kaydı güncellemek,eğer kayıt yoksa tabloya eklemek olmalı.yanlış mı düşünüyorum?
Kaldı ki, F_TEKNİKSERVİS adlı form üzerinden yeni bir kayıt oluşturup fakat kayıt esnasında Müşteri Adı / Firma Adı denetimini BOŞ bıraktığınızda,hem herhangi bir uyarı vermediği gibi aynı adlı tabloya da "( Teknik Servis )" ifadesi ekleyip kaydediyor.oysa,boş bırakılmıştı.
Elbette ki aynı formun kod sayfasındaki ÖDENEN adlı denetimin Güncelleme Sonrasında olay yordamındaki
Kod:
MUSTERİADİ = Me.MUSID.Column(1) & " ( Teknik Servis )"
(13/12/2015, 21:24)atoz112 yazdı: Danışmak istediğim de bu kısım.neden UPDATE sorgusu ile yine T_KASA tablosunu güncellemiyorsunuz da bir sorguyu güncelliyorsunuz? Bu if kontrolünün cevabı hep HAYIR anlamında çıkacağı için,zaten bir değer barındırmayacaktır.
Bu soruya ben cevap vereyim.
Aynı tarihli olan ve tabloda gelir kısmında veri yoksa, ilk tarihli alanı güncellemesi için update sorgusu çalıştırılıyor. Aynı tarihli olup gelir kısmında veri olanlar için insert sorgusu çalıştırılıyor.
Eklenen örnek uygulama 7.364 Kb.
Sıkıştırıp onarınca 3.924 kb.
Örnek uygulamanızdaki gereksiz nesneleri ayıklamak zor. Ancak uygulamanızı Site Kuralları gereği sıkıştırıp onarmalısınız ki eklediğiniz örnek gereksiz yere yer kaplamasın.
Sorgudaki ölçüte
[Formlar]![F_TEKNİKSERVİS]![ODEMETARIHI] yazılmış, ancak formda ODEMETARIHI adında bir alan yok. Böyle bir alan olmadığı için kod hata vermiyor ve çalışmıyor. Hata vermemesinin sebebi ölçüt olması.
Uygulamanızdaki Türkçe karakterler yüzünden bir gün çalışmayacak ve hatada vermeyecek, siz neden çalışmadığını siteye soracaksınız ama yanıt bulamayacaksınız.
boskontrol4 isimli sorgudaki ölçütün düzeltilmesi gerekli,
koddaki update kodundaki where alanının düzeltilmesi gerekli
S_BOSKONTROL4.ODEMETARİHİ değil, S_BOSKONTROL4.ISLEMTARIHI olması gerekiyor.
Sayın Ozan hocam,
Ödeme işlemini İşlem Tarihine göre değilde Ödeme tarihine göre yapma şansımız yokmu,
Not.S_BASKONTROL4 ISLEMTARIHI olarak değiştirdim.Hata vermedi,ama kasaya aktarırken ÖDEME TARİHİNE göre aktarmayı yapıyor.Bu şekilde bir sakıncası varmı.
Saygılarımla.
Ödeme işlemini İşlem Tarihine göre değilde Ödeme tarihine göre yapma şansımız yokmu,
Not.S_BASKONTROL4 ISLEMTARIHI olarak değiştirdim.Hata vermedi,ama kasaya aktarırken ÖDEME TARİHİNE göre aktarmayı yapıyor.Bu şekilde bir sakıncası varmı.
Saygılarımla.
Son Düzenleme: 13/12/2015, 23:20, Düzenleyen: fascioğlu.
Sakıncası olup olmadığını ben bilemem. Kasa tablosunda islemtarihi alanı var. bu alana formdaki islem tarihindeki veriyi aktaracaksanız kodda odemetarihi yerine islem tarihi yazacaksınız.
Tabloya 10/12/2015 tarihli ÖDEME TARİHLİ veriyi kaydettirmişsiniz.
Siz işlem tarihi mi olsun istiyorsunuz anlamadım. Üstteki mesajınızdan hiçbir şey anlaşılmıyor. "Ödeme tarihine göre yapma şansımız yokmu," yazmışsınız, ardından "ama kasaya aktarırken ÖDEME TARİHİNE göre aktarmayı yapıyor." yazmışsınız.
Tabloya 10/12/2015 tarihli ÖDEME TARİHLİ veriyi kaydettirmişsiniz.
Siz işlem tarihi mi olsun istiyorsunuz anlamadım. Üstteki mesajınızdan hiçbir şey anlaşılmıyor. "Ödeme tarihine göre yapma şansımız yokmu," yazmışsınız, ardından "ama kasaya aktarırken ÖDEME TARİHİNE göre aktarmayı yapıyor." yazmışsınız.
Sayın ozan,sayın fascioglu,
ifadenize yönelik olarak;yazmış olduklarınız gibi yorumladım fakat benim kast ettiğim,
bu kısım ile ilgili.çünkü;önceki mesajda da belirttiğim gibi,
bu kod ile,ilgili gelir kısmının BOŞ veri barındırması geçersiz kalıyor.çünkü;Müşteri / Firma adı denetimini boş bıraktığınızda otomatikman " ( Teknik Servis )" ifadesini eklediği için,sorguda BOŞ değerleri göstermesi de mümkün olmuyor.dolayısı ile de,sorgunun içeriğinde bir kayıt barındırması da söz konusu olmadığından,UPDATE (Güncelleme) yapacak bir kayıt da mevcut olmuyor.bu nedenden dolayı da ilgili ÖDENEN adlı denetimin Güncelleme Sonrasında olay yordamındaki UPDATE kodu çalışmıyor,sürekli YENİ KAYIT ekliyor.
bu satırı etkisizleştirip boş kayıt yaptığınızda dahi,yine T_KASA tablosuna YENİ KAYIT GERÇEKLEŞMEMEKTEDİR.ve,ilgili sorguda günün tarihi bugün olmasına ve müşteri adının BOŞ bırakılmasına rağmen hem T_KASA tablosuna kayıt yapmadığı gibi,doğal olarak da sorguda da olması gereken BOŞ kayıt göstermesi de gerçekleşmemektedir.
Dikkat çekmek istediğim ve sorun olarak gördüğüm hususlar bunlardı.deneme yapıldığında yukarıda yazılanlara denk gelindiğinde daha net anlaşılacaktır kanısındayım.yanlış bir düşünce ile yorumluyorsam da hem konuyu uzatmak durumunda kaldıysam hem de aklıma yatmadığından dolayı anlayamadıysam her ikinizden de özür dilerim.bilginize…iyi çalışmalar,saygılar.
(13/12/2015, 22:48)ozanakkaya yazdı: atoz112 Yazdı:
Danışmak istediğim de bu kısım.neden UPDATE sorgusu ile yine T_KASA tablosunu güncellemiyorsunuz da bir sorguyu güncelliyorsunuz? Bu if kontrolünün cevabı hep HAYIR anlamında çıkacağı için,zaten bir değer barındırmayacaktır.
Bu soruya ben cevap vereyim.
Aynı tarihli olan ve tabloda gelir kısmında veri yoksa, ilk tarihli alanı güncellemesi için update sorgusu çalıştırılıyor. Aynı tarihli olup gelir kısmında veri olanlar için insert sorgusu çalıştırılıyor.
ifadenize yönelik olarak;yazmış olduklarınız gibi yorumladım fakat benim kast ettiğim,
Alıntı:...Aynı tarihli olan ve tabloda gelir kısmında veri yoksa...
bu kısım ile ilgili.çünkü;önceki mesajda da belirttiğim gibi,
Alıntı:...Elbette ki aynı formun kod sayfasındaki ÖDENEN adlı denetimin Güncelleme Sonrasında olay yordamındaki
MUSTERİADİ = Me.MUSID.Column(1) & " ( Teknik Servis )"
Kod ifadesinden dolayı bu şekilde yazmakta olduğu görülmekte...
bu kod ile,ilgili gelir kısmının BOŞ veri barındırması geçersiz kalıyor.çünkü;Müşteri / Firma adı denetimini boş bıraktığınızda otomatikman " ( Teknik Servis )" ifadesini eklediği için,sorguda BOŞ değerleri göstermesi de mümkün olmuyor.dolayısı ile de,sorgunun içeriğinde bir kayıt barındırması da söz konusu olmadığından,UPDATE (Güncelleme) yapacak bir kayıt da mevcut olmuyor.bu nedenden dolayı da ilgili ÖDENEN adlı denetimin Güncelleme Sonrasında olay yordamındaki UPDATE kodu çalışmıyor,sürekli YENİ KAYIT ekliyor.
Kod:
MUSTERİADİ = Me.MUSID.Column(1) & " ( Teknik Servis )"
Dikkat çekmek istediğim ve sorun olarak gördüğüm hususlar bunlardı.deneme yapıldığında yukarıda yazılanlara denk gelindiğinde daha net anlaşılacaktır kanısındayım.yanlış bir düşünce ile yorumluyorsam da hem konuyu uzatmak durumunda kaldıysam hem de aklıma yatmadığından dolayı anlayamadıysam her ikinizden de özür dilerim.bilginize…iyi çalışmalar,saygılar.
Konuyu Okuyanlar: 1 Ziyaretçi