Arkadaşlar kolay gelsin. Aşağıdaki ekleme sorgumda para birimi olarak tanımlı tablo alanlarını sayısal olarak giremiyorum. mecbur tek tırnaklı metin olarak tanımlarsam giriyor yoksa sorgu ile değişkenlerin sayılarının aynı olmadığı hatası alıyorum. Böyle olunca ilgili alanlarda veri olmadığında null atıyor ve hesaplarda sorun çıkartıyor. Buna nasıl çözeceğim? Çok ilginç ama sadece " & sozlesmefiyati & " tanımı para olduğu halde böyle girmeme izin veriyor. Hatta tek tek tanımlama yaparak ilerledim ama para birimi alanına gelince takıldı kaldı.
Visual Basic
- '########### GENEL MAHSUPLAŞMALAR
- Set db = CurrentDb
- Set rst = db.OpenRecordset("tbl_genel_mahsuplasmalar", dbOpenDynaset)
- With rst
- Do While Not .EOF
- Debug.Print ![id], ![hakedis_id], ![hakedis_no], ![ust_grup_id], ![hizmet_grubu], ![hizmet_turu], ![hizmet_sinifi], ![kesinti_yili], ![kesinti_ayi], ![mahsuplasma_tur_id], ![mahsuplasma_turu], ![mahsuplasma_tutari], ![durumu]
-
- If rst![ust_grup_id] = hizmetustgrupid And rst![kesinti_yili] = donemyil And rst![kesinti_ayi] = donemay Then
- If rst![mahsuplasma_tur_id] = 1 And rst![durumu] = -1 Then sirketalacak = sirketalacak + rst![mahsuplasma_tutari]
- If rst![mahsuplasma_tur_id] = 2 And rst![durumu] = -1 Then icra = icra + rst![mahsuplasma_tutari]
- If rst![mahsuplasma_tur_id] = 3 And rst![durumu] = -1 Then ssk = ssk + rst![mahsuplasma_tutari]
- If rst![mahsuplasma_tur_id] = 4 And rst![durumu] = -1 Then kisiborcu = kisiborcu + rst![mahsuplasma_tutari]
- End If
- .MoveNext
- Loop
- .Close
- End With
- Set rst = Nothing
- db.Close
- Set db = Nothing
-
- sirketalacak = sirketalacak
- icra = icra
- ssk = ssk
- kisiborcu = kisiborcu
-
-
- Dim strSQL As String
- strSQL = "INSERT INTO tbl_hakedisler (hakedis_id, hakedis_no, donem_id, donem_yili, ay_id, donem_bs_tarihi, donem_bt_tarihi, donem_gun_sayisi, nihai_teklif_tarihi, tesis_acilis_tarihi, hizmet_ustgrup_id, hizmet_turu, hizmet_adi, kdv0, kdv8, kdv18, orijinalkullanim, eskaleorijinalkullanim, donem_kullanim, damga_vergisi, kullanim_kesintiler, kullanim_kesinti_tutari, elektrik_mahsuplasma, su_mahsuplasma, gaz_mahsuplasma, akaryakit_mahsuplasma, sirket_alacak, icra, ssk, kisi_borcu )"
- strSQL = strSQL & " VALUES (" & hakedisid & "," & hakedis_no & "," & donemid & "," & donemyil & "," & donemay & ",#" & Format(donembaslama, "MM\/DD\/YYYY") & "#,#" & Format(donembitis, "MM\/DD\/YYYY") & "#," & donemgunsayisi & ",#" & Format(nihaiteklif, "MM\/DD\/YYYY") & "#,#" & Format(tesisacilis, "MM\/DD\/YYYY") & "#," & hizmetustgrupid & "," & hizmetturu & ",'" & hizmetadi & "'"
- strSQL = strSQL & "," & kdv & "," & kdv & "," & kdv & "," & sozlesmefiyati & ",'" & eskalesozlesmefiyati & "','" & donemfiyati & "','" & damgavergisi & "','" & kesintiler & "','" & hesaplanankesintiler & "','" & elektrik & "','" & su & "','" & gaz & "','" & yakit & "','" & sirketalacak & "','" & icra & "','" & ssk & "','" & kisiborcu & "')"
-
- CurrentDb.Execute (strSQL)


