Merhaba Arkadaşlar, Takıldığım bir konu var. Araştırdım ancak bulamadım.
Öğrenci servislerle ilgili yaklaşık maliyet hesabı yapmam gerekiyor.
TABLO ÖRNEĞİ:
SERVİS ADI ÖĞRN.ALACAĞI YER ÖĞRN. BIRKACAĞI YER UZAKLIĞI KATSAYISI Servis-1 A - Mahallesi 123 Okulu 15 KM Servis-2 C - Mahallesi 123 Okulu 29 KM Servis-3 K - Mahallesi 656 Okulu 56 KM
Bu Tablodaki Katsayıyı Hesaplamak İstiyorum. Ancak katsayılar önceden belirlenmiş, 1 KM=0,40 Krş, sonraki her kilometrede 0,01 Krş artması gerekiyor, 51 ve üzeri için de 0,90 Krş sabit olacak. Şimdilik Kullandığım Çözüm Şöyle; Katsayıların yazdığı ayrı bir tablo yaptım, UZAKLİK ve KATSAYİ alanları var. 1'den 50'e kadar veri girdim. 1 KM=0,40 KRş, 2 KM=0,41, ... şeklinde gidiyor. Sorguda da IIf() ve DLookUp() fonkisyonu ile uzaklık kaç KM ise ona karşılık gelen katsayıyı buluyorum, 50 KM büyük olan tüm kayıtların katsayısı dad 0,90 Krş olarak görünüyor. Döngülere baktım, denemeler yaptım ancak EKSİK İŞLEÇ hatası alıyorum. yardımlarınızı bekliyorum. Örnek Çalışma Ekte.
(26-06-2020, 14:55)askme_16 demiş ki: Bu Tablodaki Katsayıyı Hesaplamak İstiyorum. Ancak katsayılar önceden belirlenmiş, 1 KM=0,40 Krş, sonraki her kilometrede 0,01 Krş artması gerekiyor, 51 ve üzeri için de 0,90 Krş sabit olacak.
uzaklik ilk KM yi 0.40 sonraki KM icin uzakliktan 1 cikarip; 0.01 ile carpilmasi sonucu katsayi hesaplanabilir. 50 KM uzeri uzakliktan 50 cikarip, 0.90 ile carpilarak hesaplama yapilabilir. Hesaplama sekli beklenen gibi ise yukarida ki SQL'i kullanabilirsiniz.
(26-06-2020, 17:11)halily demiş ki: 50 km=?
55 km=?
99 km=?
122 km=?
kilometreler için katsayılar ne olmalı?
Daha doğrusu toplam ücret?
Sayın halily,
Eğer uzaklık 1 KM ise 0,40 Krş. - 2 KM ise 0,41 Krş. - ... sonraki her KM artışında katsayı da 0,01 Krş. artacak. Ancak 51 KM ve üzeri KM'lerde katsayı 0,90 Krş. olacak.
Çözüm olarak tbl_kmhesaplama isminde bir tablo oluşturdum. Bu tabloya KM'leri ve bunlara karşılık gelen katsayıları yazdım. Sorguda DLookUp() fonksiyonu ile katsayıları çağırıyorum.
50 km = 0,89 Krş denk geliyor.
51-52-53.. ve sonraki her km ise 0,90 Krş. sabit olacak
(26-06-2020, 14:55)askme_16 demiş ki: Bu Tablodaki Katsayıyı Hesaplamak İstiyorum. Ancak katsayılar önceden belirlenmiş, 1 KM=0,40 Krş, sonraki her kilometrede 0,01 Krş artması gerekiyor, 51 ve üzeri için de 0,90 Krş sabit olacak.
uzaklik ilk KM yi 0.40 sonraki KM icin uzakliktan 1 cikarip; 0.01 ile carpilmasi sonucu katsayi hesaplanabilir. 50 KM uzeri uzakliktan 50 cikarip, 0.90 ile carpilarak hesaplama yapilabilir. Hesaplama sekli beklenen gibi ise yukarida ki SQL'i kullanabilirsiniz.
Sayın dsezgin,
Cevap için teşekkürler. Cevabınızda yazmış olduğunuz fonksiyonu kullandığımda 51 ve üstündeki KM'lerde 2,.. küsüratlı sonuçlar çıkıyor. Ancak kullandığınız mantığı anladım ve şu fonksiyonu kullanarak istediğim sonuca ulaştım. Yardımlarınız için teşekkür ederim.
Kullandığım fonksiyon