04-02-2016, 11:11
Merhaba,
Sayın Sezgin beyin hazırlamış olduğu, günlük puantaj tutmak için kullandığım kodlarda biraz değişiklik yapmam gerekti. Yalnız bu değişiklik sonrasında runtime 3346 hatası almaya başladım. Örnek dosyamı da ekliyorum ve içerisinde etiketlerle anlatım da yaptım. (kullanıcı "user" şifre "123")
Sezgin beyin bana verdiği kodlar şu şekildeydi;
yaptığım değişiklikle şu şekilde oldu;
Daha önce firma fiyatına tablodan bakmaktaydı. önceki halini servis araçları için başka bir puantaj formunda kullanmaktayım. Servis araçlarının fiyatları günlük fiyat yazdığı için sorun olmuyordu.
Bu formda filo araçlarının puantajları tutulacak ve fiyat, aylık fiyat üzerinden girilmekte. bu yüzden sorgularla aylık girilen fiyatı, ayın günü sayısına böldürerek günlük fiyatını hesaplatarak puantaj tablosuna işlemesi gerekmekte.
ikinci sıkıntım ise;
puantaj formum üzerinde ayın gününü hesaplattığım bir metin kutum mevcut. denetim kaynağı şu şekil;
=DateDiff("d";[t2]-(Day([t2]-1));DateSerial(Year([t2]);(Month([t2])+1);1))
t1 kutusundan başlangıç tarihi, t2 kutusundan bitiş tarihini seçiyorum.
formül t2 kutusundaki tarihin ay kısmını baz alarak hesap yapmakta.
şubatsa sonuç 29 oluyor.
yalnız şöyle bir sıkıntı oluyor,
t1 01.02.2016 / t2 01.02.2016 seçtiğimde formül sonucu 60 hesaplıyor.
02.02.2016 / 02.02.2016 yada farklı bir gün için t1 ve t2 aynı seçtiğimde sonuç 29
sadece ayın 1'i için 60 hesaplamakta. nedenini anlayamadım. bu konuda da yardımlarınızı rica ediyorum.
şimdiden ilgilenen herkese teşekkür ederim.
Sayın Sezgin beyin hazırlamış olduğu, günlük puantaj tutmak için kullandığım kodlarda biraz değişiklik yapmam gerekti. Yalnız bu değişiklik sonrasında runtime 3346 hatası almaya başladım. Örnek dosyamı da ekliyorum ve içerisinde etiketlerle anlatım da yaptım. (kullanıcı "user" şifre "123")
Sezgin beyin bana verdiği kodlar şu şekildeydi;
Visual Basic
- CurrentDb.Execute "INSERT INTO t_cetele ( guzergah_id, plaka_gir, tek_sayisi, tarih, firma_fiyat, tedarik_fiyat ) " _
- & "SELECT " & Me.guzergah_id & ", '" & Me.plaka_gir & "', " & IIf(Weekday(Trh, vbMonday) = 6 And Me.cmt = -1, 0, IIf(Weekday(Trh, vbMonday) = 7 And Me.pzr = -1, 0, tek_sayisi)) & ", #" & Format(Trh, "mm\/dd\/yyyy") & "#, " & Nz(DLookup("Nz([t_firma_fiyat],0)", "t_fiyatlar", "[guzergah_id]=" & Me.guzergah_id), 0) & ", " & Nz(DLookup("Nz([t_tedarik_fiyat],0)", "t_fiyatlar", "[guzergah_id]=" & Me.guzergah_id), 0)
yaptığım değişiklikle şu şekilde oldu;
Visual Basic
- CurrentDb.Execute "INSERT INTO t_cetele ( guzergah_id, plaka_gir, tek_sayisi, tarih, firma_fiyat, tedarik_fiyat ) " _
- & "SELECT " & Me.guzergah_id & ", '" & Me.plaka_gir & "', " & IIf(Weekday(Trh, vbMonday) = 6 And Me.cmt = -1, 0, IIf(Weekday(Trh, vbMonday) = 7 And Me.pzr = -1, 0, tek_sayisi)) & ", #" & Format(Trh, "mm\/dd\/yyyy") & "#, " & Me.f_fiyatgor.Form!gunluk_fiyat & ", " & Nz(DLookup("Nz([t_tedarik_fiyat],0)", "t_fiyatlar", "[guzergah_id]=" & Me.guzergah_id), 0)
Daha önce firma fiyatına tablodan bakmaktaydı. önceki halini servis araçları için başka bir puantaj formunda kullanmaktayım. Servis araçlarının fiyatları günlük fiyat yazdığı için sorun olmuyordu.
Bu formda filo araçlarının puantajları tutulacak ve fiyat, aylık fiyat üzerinden girilmekte. bu yüzden sorgularla aylık girilen fiyatı, ayın günü sayısına böldürerek günlük fiyatını hesaplatarak puantaj tablosuna işlemesi gerekmekte.
ikinci sıkıntım ise;
puantaj formum üzerinde ayın gününü hesaplattığım bir metin kutum mevcut. denetim kaynağı şu şekil;
=DateDiff("d";[t2]-(Day([t2]-1));DateSerial(Year([t2]);(Month([t2])+1);1))
t1 kutusundan başlangıç tarihi, t2 kutusundan bitiş tarihini seçiyorum.
formül t2 kutusundaki tarihin ay kısmını baz alarak hesap yapmakta.
şubatsa sonuç 29 oluyor.
yalnız şöyle bir sıkıntı oluyor,
t1 01.02.2016 / t2 01.02.2016 seçtiğimde formül sonucu 60 hesaplıyor.
02.02.2016 / 02.02.2016 yada farklı bir gün için t1 ve t2 aynı seçtiğimde sonuç 29
sadece ayın 1'i için 60 hesaplamakta. nedenini anlayamadım. bu konuda da yardımlarınızı rica ediyorum.
şimdiden ilgilenen herkese teşekkür ederim.