arkadaşlar merhaba
acces veritabanında bununan musteri ve servis tablom var
müşteriler verilen servisleri tutuyorum.
ancak acceste öyle bir sorgu hazırlamam lazımki
servistablosunda ucret kısmını doldurduğum zaman musreti tablosunda bakiye kısmına bunu eklemesi lazım.
bu sorguyu acabanasıl hazırlayabilirim.
acces veritabanını etke gönderiyorum
acceste güncelleştirme sorgusu
acceste güncelleştirme sorgusu
- Dosya ekleri
-
- dbqseservis.zip
- Acces vt
- (15.09 KiB) 132 kere indirildi
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: acceste güncelleştirme sorgusu
Acsessde trigger özelliği olmadığı için programlama dilinizden ek bir sql komutu ile güncellemeyi yapmanız gerekiyor.
Re: acceste güncelleştirme sorgusu
hocam ilginize teşekkür ederimmkysoft yazdı:Acsessde trigger özelliği olmadığı için programlama dilinizden ek bir sql komutu ile güncellemeyi yapmanız gerekiyor.
ama hiç bi program kulanmamayı düşünüyorum
bu vt yi web de kullanacağım
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: acceste güncelleştirme sorgusu
Web içinde sonuçta asp,.net, perl, v.s. kullanacaksınız. Bu kullandığınız dil üzerinden halletmelisiniz.
Re: acceste güncelleştirme sorgusu
haklısınız hocam ama ben yinede mdbnin içinde yapmaya çalışacağım.mkysoft yazdı:Web içinde sonuçta asp,.net, perl, v.s. kullanacaksınız. Bu kullandığınız dil üzerinden halletmelisiniz.
çünkü durum biraz farklı
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: acceste güncelleştirme sorgusu
Bu şekilde güncelleştirme yapman tam dogru sonucu vermez.
Şimdi diyelim yeni bir kart açıldı burada ucret 30 ve sen bunu müşterinin bakiyesine ekliyorsun. Müşterinin bakiyesi 350 iken bu durumda 380 oluyor. Daha sonra bu kayıt silince, daha dogrusu silinmeden önce 30 rakamının 380 den çıkarılıpi müşteri bakiyesi yeniden 350 yapılmalı, yoksa müşteriyi kazıklamış olursun. Diyelim 30 olan rakama müşteri itiraz etti ve pazarlık sonucu 20 ye indirdiniz ve sen tekrar bakiyeyi güncelleyeceksin. Önce 380 den 30 yu çıkarıp, sonra 20 yi ekleyeceksin.
Gördügün gibi dosya silme, ekleme, güncelleme tam bir kabus a dönüyor. Bunun daha basit bir yolu vari Müşteriye devirborc diye bir alan aç, bu veriler girilmeden önce müşterinin size taktıgı borçlar olsun. Bundan sonra müşterinin borcunu hesaplamak istersen tek yapacagın: select sum(ucret) from carihareket where musid = :musid ve buradan gelen rakamla müşterinin devirborc unu toplaman. Cariharekete istedigin kadar bilgi gir, degiştir, sil farketmez, select sorgusunu sana hareket toplamlarını verecektir. Sorguya sadece müşterinin kodunu vermen yeterli.
Veritabanı tasarımında zorunlu olmadıkça, farklı tablolara benzer bilgiler girilmez. Özellikle toplanarak oluşturulabilecek alanların bu şekilde elle hesaplanmaya çalışılması son derece tehlikelidir. Bilgi tutarsızlıgına yolaçar.
Şimdi diyelim yeni bir kart açıldı burada ucret 30 ve sen bunu müşterinin bakiyesine ekliyorsun. Müşterinin bakiyesi 350 iken bu durumda 380 oluyor. Daha sonra bu kayıt silince, daha dogrusu silinmeden önce 30 rakamının 380 den çıkarılıpi müşteri bakiyesi yeniden 350 yapılmalı, yoksa müşteriyi kazıklamış olursun. Diyelim 30 olan rakama müşteri itiraz etti ve pazarlık sonucu 20 ye indirdiniz ve sen tekrar bakiyeyi güncelleyeceksin. Önce 380 den 30 yu çıkarıp, sonra 20 yi ekleyeceksin.
Gördügün gibi dosya silme, ekleme, güncelleme tam bir kabus a dönüyor. Bunun daha basit bir yolu vari Müşteriye devirborc diye bir alan aç, bu veriler girilmeden önce müşterinin size taktıgı borçlar olsun. Bundan sonra müşterinin borcunu hesaplamak istersen tek yapacagın: select sum(ucret) from carihareket where musid = :musid ve buradan gelen rakamla müşterinin devirborc unu toplaman. Cariharekete istedigin kadar bilgi gir, degiştir, sil farketmez, select sorgusunu sana hareket toplamlarını verecektir. Sorguya sadece müşterinin kodunu vermen yeterli.
Veritabanı tasarımında zorunlu olmadıkça, farklı tablolara benzer bilgiler girilmez. Özellikle toplanarak oluşturulabilecek alanların bu şekilde elle hesaplanmaya çalışılması son derece tehlikelidir. Bilgi tutarsızlıgına yolaçar.
Re: acceste güncelleştirme sorgusu
@mehmetcan dediğin doğru, benimde aklıma geldi ancak database accsess olunca çekindin. Bir web projesi olduğuna göre bir sürü kullanıcı olacaktır. Eğer kayıt sayısı 2-3 bin civarlarına gelirse sorgu yoğunluğundan dolayı sistemde çok fazla yük oluşacaktır. indexler yok, chached query yok. Benim asıl tavsiyem mümkünse veri tabanını değiştirsin. Host siteleri illaki birtanesini destekliyor. Cocacola 'nın yanında verilen Turkuaz su gibi MSSQL de veriyorlar artık.