Access SQL
[VBA] puantaj kaydında ondalık hatası - Yazdırılabilir Sürüm

+- Access SQL (https://www.access-sql.com)
+-- Forum: ACCESS SORULARI VE ÖRNEK UYGULAMALARI (https://www.access-sql.com/Forum-ACCESS-SORULARI-VE-ORNEK-UYGULAMALARI)
+--- Forum: ACCESS SORULARI (https://www.access-sql.com/Forum-ACCESS-SORULARI)
+--- Konu: [VBA] puantaj kaydında ondalık hatası (/Konu-puantaj-kaydinda-ondalik-hatasi)



puantaj kaydında ondalık hatası - devilspath - 24-08-2016

Merhaba arkadaşlar,

Konu açarken sayfa hata verdiğinden tekrar açıyorum. (hatta tekrar, tekrar...)
konu başlığına "insert into" yazınca konu açmadığını fark ettim ve tekrar siteye de giriş yapamıyorum firewall'a takılıyorum modemi kapatıp açmam gerekiyor.

uygulamamda puantaj kaydı yapmak için kullandığım kodlarda bir sıkıntı var.
tedarik ve firma fiyatı tam sayı ise puantaj kaydı yapıyor ama fiyat ondalıklı olduğu (72,5 gibi) zaman kodlar hata vermekte. tablo alanları para birimidir.
internette biraz araştırdım, ondalık ayıraçtaki "." ve "," ile alakalı gibi gözüküyor.
bilgisayarımdaki ondalık ayraç "," ve access dosyamda da ayıraç olarak "," kullanılmakta.
sorunu çözmemle ilgili yardımcı olabilirseniz sevinirim..

örnek uygulamaya gerek varsa linki aşağıda,
http://www.access-sql.com/Konu-ETAEL-Arac-Takip-Personel-Servis-Tasimaciligi-Uygulamasi?pid=106756#pid106756

kullandığım kodlar şu şekilde;

Visual Basic
  1. Private Sub Komut33_Click()
  2. Dim Trh As Date, Ctrl As Control, Msj As Variant
  3. For Each Ctrl In Me.Controls
  4. If Ctrl.Tag = "KONTROL" And IsNull(Ctrl) Then Me.Controls(Ctrl.Name).SetFocus: Msj = MsgBox(Ctrl.Name & " Hanesi bos olmamalidir.", vbCritical, "ETAEL Araç Takip"): Exit Sub
  5. Next Ctrl
  6. If IsNull(Me.f_fiyatgor.Form!t_firma_fiyat) Or IsNull(Me.f_fiyatgor.Form!t_tedarik_fiyat) Then Msj = MsgBox("Güzergaha fiyat girişi yapılmadığı için puantaj eklenmedi!", vbCritical, "ETAEL Araç Takip"): Exit Sub
  7. If Me.t1 > Me.t2 Then
  8. MsgBox "Başlangıç Tarihiniz Bitiş Tarihinizden sonrası olamaz..", vbCritical, "ETAEL Araç Takip"
  9. Else
  10. For Trh = Me.t1 To Me.t2
  11. If DCount("*", "t_cetele", "[guzergah_id]=" & Me.guzergah_id & " And [tarih]=#" & Format(Trh, "mm\/dd\/yyyy") & "#") > 0 Then
  12. MsgBox Me.guzergah_id & " Guzergahi ve " & Format(Trh, "dd\/mm\/yyyy") & " Tarihine ait kayit var", vbCritical, "ETAEL Araç Takip"
  13. Else
  14. CurrentDb.Execute "INSERT INTO t_cetele ( guzergah_id, plaka_gir, tek_sayisi, tarih, firma_fiyat, tedarik_fiyat ) " _
  15. & "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)
  16. End If
  17. Next Trh
  18. Me.f_cetelealt.Requery
  19. End If
  20. Debug.Print Me.t2
  21. Me.t1.Value = DateSerial(Year(Date), Month(Date), 1)
  22. Me.t2.Value = DateSerial(Year(Date), Month(Date) + 1, 0)
  23. Me.f_cetelealt.Requery
  24. End Sub



bu da hata veren satır,

Visual Basic
  1. CurrentDb.Execute "INSERT INTO t_cetele ( guzergah_id, plaka_gir, tek_sayisi, tarih, firma_fiyat, tedarik_fiyat ) " _
  2. & "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)





Cvp: puantaj kaydında ondalık hatası - devilspath - 24-08-2016

forumda yazdığımız cevapların altına "sil" butonu eklenmiş galiba. acaba bundan kaynaklı mı hata veriyor site? başlığa insert into içeren birşeyler yazmayı deneyin, bir sıkıntı var.

edit: bu mesajın altında "sil" butonu çıkmadı. çok kafama taktım galiba bu konuyu Goofy



Cvp: puantaj kaydında ondalık hatası - jon206 - 24-08-2016

sn devilpath;
insert into nun handikaplarından birisi de bu , ayraç gibi algılayıp alan sayılarını eşitlemeye çalışıyor bu gibi durumlarda
ekleme yapmadan önce
dim tt
tt = Replace(Me.TUTAR, ",", ".") parasal değerleri değiştirmeniz gerekir.

yada ado veya dao kütüphanesi kullanmanız gerekir..


dün servis sağlayıcısında bir sorun oldu galiba bende giremedim modemi açtım kapattım şuan bir sorun yok gibi..

not:hatalı konu açmaları sildim..
kolay gelsin..








RE: puantaj kaydında ondalık hatası - devilspath - 24-08-2016

Teşekkür ederim. .