[FONKSiYON] Replace Fonksiyonu ve Ekleme Sorgusu Sorunu
#1
Değerli arkadaşlar...

Elimde "SorguEkle" isimli bir ekleme sorgusu ve ekleme sorgusunun verileri eklediği "EklenenTablo" isimli tablo var.

"SorguEkle" ekleme sorgusu için bir modüle;
Visual Basic
  1. Public Function ucret(Brut_Ucret As Integer) As Integer
  2. deg = Brut_Ucret
  3. ucret = Replace(deg, ",", ".")
  4. End Function



kodlarını tanımladım ve "SorguEkle" ekleme sorgusunun ilgili sütununa
SQL
  1. BrutUcret2: ucret([Brut_Ucret])


tanımını yaptım.

Ekleme sorgusunu çalıştırdığımda Para Birimi olarak tanımlı Brut_Ucret sütunundaki değeri okuyup Brut_Ucret2 sütununda ondalık basamakları virgül yerine nokta ile ayırmasını istedim ama olmadı.

Form üzerinde aynı kodu deneyince sonuç alıyorum ama ekleme sorgusunda aynı kodu kullanınca "EklenenTablo" isimli tabloya veriyi aktarırken nokta yerine yine virgül koyuyor.
Örn; Brut_Ucret : 2.066,67 TL
Brut_Ucret2: 2067,00 ( burada formül hata yapıyor. 2066.67 yazması lazım.)

Nerede hata yapıyorum anlamadım.
Ekleme sorgusundan tabloya veriyi kaydederken ondalık basamağın virgül yerine nokta atmasını yapmam gerekiyor...
Yardımlarınızı bekliyorum
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:
#2
Sorunu farklı bir yol ile çözdüm...

"EklenenTablo" isimli tablodan gelen verileri Excele aktarmak için kullandığım prosedürde;

Visual Basic
  1. TB.Cells(i, "J") = Replace(rs(8), ",", ".")


olarak bir düzeltme yaptım ve excele aktarımda virgül yerine nokta koymayı başardım.

Replace alanında bulunan rs(8) Recordset'in 8'inci sütunu anlamına gelmektedir.
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:
#3
Fonksiyon sayı döndürdüğü için ne yapsanız nafile oluyor işletim sistemi ayarlarından dolayı.

Türkçe işletim sisteminde "2067.00" bir sayı olmadığı için fonksiyon sonucunu metin olarak yazmak lazım gelir....

Bu arada fonksiyonun giriş argumanı hatalı. Ondalıklı sayılar için double kullanın; yoksa kuruşlarınız uçar.

Visual Basic
  1. Public Function ucret(Brut_Ucret As Double) As String
  2. deg = Brut_Ucret
  3. ucret = Cstr(Replace(deg, ",", "."))
  4. End Function





  Alıntı
Bu mesajı beğenenler:
#4
süper olmuş Sayın Zeki...
Peki şu 2066.6766 gibi çıkan rakamları noktadan sonra iki haneye düşürmek için ne yapmalı?
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:
#5
VBA round fonk. hatalı yuvarladığı için özel fonk. ilave ettim.

Visual Basic
  1. Public Function ucret(Brut_Ucret As Double) As String
  2. deg = Brut_Ucret
  3. ucret = Cstr(Replace(RoundA(deg, 2), ",", "."))
  4. End Function
  5.  
  6. Private Function RoundA(Sayi, Optional Basamak As Long)
  7. Dim Kat As Long
  8. Kat = 10 ^ Abs(Basamak)
  9. If Basamak >= 0 Then RoundA = CDbl(FormatNumber(Left(Sayi, 30), Basamak))
  10. If Basamak < 0 Then RoundA = CDbl(RoundA(FormatNumber(Left(Sayi, 30) / Kat), 0) * Kat)
  11. End Function





  Alıntı
Bu mesajı beğenenler:
#6
Ellerine sağlık azizim. Allah razı olsun...
[Resim: yazlimplanlama.png]


İslamın şartı Beş, haddini bilmek Altıdır...Vv





  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [SORGU] Farklı Tablolarda Yer Alan Satış Bilgilerini Toplama Sorgusu Lidervet 1 127 09-11-2023, 00:54
Son Mesaj: dsezgin
  Dlookup Fonksiyonu bilservisci 1 91 08-09-2023, 15:36
Son Mesaj: dsezgin
  [SORGU] Sınıfa Kayıtlı Aktif öğrenci Sayısını Bulmak Dcount Fonksiyonu by_hayalci 2 117 24-08-2023, 08:38
Son Mesaj: by_hayalci
  Güncelleştirme Sorgusu omergenc7 2 153 01-10-2022, 02:13
Son Mesaj: omergenc7
  [SORGU] Toplu Il Sorgusu Satir 19 553 14-08-2022, 12:14
Son Mesaj: halily
access-sql-4 [VBA] Round Fonksiyonu alperalper 3 128 29-07-2022, 21:37
Son Mesaj: onur_can
  Sql Sorgusu Nasıl Oluşturulur? Pattinstew12 3 151 02-06-2022, 17:46
Son Mesaj: beab05
  [SORGU] Iki Tablodaki Veriyi Birleştirme Sorgusu alican60 5 290 10-03-2022, 10:16
Son Mesaj: dsezgin

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi