Bisa dikasih tau salah nya itu dibaris ke berapa ?
kemungkinan besar yg akan di konversi ke varchar bukan integer/ decimal, tapi bisa jadi null atau space ( coba cek di flexgrid nya )
kalau memang iya,, kondisikan lagi aja kalau di null atau space maka angka nya 0

Salam
Ronald Irawan
Pt. Sanghiang Perkasa
Gd. Graha Kirana Lt.5
Jl Yos Sudarso Kav.88
Jakarta



"<::>rima"
Sent by: [email protected]

06/10/2005 02:42 PM

Please respond to
[email protected]

To
<[email protected]>
cc
Subject
[Programmer-VB] Error Setelah Type data di tuakar dari numeric dengan varchar





Dear All,
 
 
Saya mo tanya kembali terutama kepada mas irawan yang udah ngasih solusi mengenai memodifikasi SP di SQL yaitu merubah struktur tabel bungadiberi dari numeric menjadi varchar. tapi dampaknya timbul error seperti ini bunyinya di VB
"arithmetic overflow error converting numeric to data type varchar "
 
Trsu gimana nech solusinya mas...aku mohon bantuannya banget nech????please....
 
 
berikut aku berikan code yang membuat error....
Public DATABARU As Boolean
Dim g As Integer
Dim Bulan As String, Tahun As String
Dim sBulan As String, sTahun As String
Option Explicit

Private Sub cmdBatalABA_Click()
   LoadGrid
End Sub

Private Sub cmdHapus_Click()
If fa.Rows = 1 Then Exit Sub

If MsgBox("Benar Akan dihapus data : " & Trim(fa.TextMatrix(fa.Row, 9)) & " - " & Trim(fa.TextMatrix(fa.Row, 10)) & " = " & Trim(fa.TextMatrix(fa.Row, 8)), vbYesNo, "Konfirmasi") = vbYes Then
   fa.RemoveItem fa.Row
End If
End Sub

Private Sub cmdKeluar_Click(Index As Integer)
   Unload Me
End Sub

Private Sub cmdLoad_Click()
   LoadData
End Sub

Private Sub cmdSimpanABA_Click()
On Error GoTo ErrX
   If fa.Rows = 1 Then Exit Sub
For g = 1 To fa.Rows - 1
  If Trim(fa.TextMatrix(g, 1)) = "" Or Trim(fa.TextMatrix(g, 2)) = "" Or Trim(fa.TextMatrix(g, 3)) = "" Or Trim(fa.TextMatrix(g, 4)) = "" Or _
     Trim(fa.TextMatrix(g, 5)) = "" Or Trim(fa.TextMatrix(g, 6)) = "" Or Trim(fa.TextMatrix(g, 7)) = "" Then
     MsgBox "Kolom Sandi, Jenis, Jangka Waktu, Suku Bunga tidak boleh kosong !" & Chr(13) & _
            "PROSES SIMPAN - DIBATALKAN ", vbCritical, "Peringatan"
     Exit Sub
  End If
Next

mmouse sibuk
   sql = " DELETE FROM  BI_Form2_ABA "
   MstDb.Execute sql
   sql = " SELECT cdkec, cdbpr, cdperk, nmperk, sandi, Jenis, jw_thn, jw_bln, jw_hr, Kolektibilitas, bungadiberi, Jumlah, JmlMlyr, JmlJuta, JmlRibu, bulan, tahun"
   sql = sql + " From BI_Form2_ABA "
   Set rs = New ADODB.Recordset
   rs.Open sql, MstDb, adOpenDynamic, adLockOptimistic
  For g = 1 To fa.Rows - 1
       rs.AddNew
       rs!cdkec = KODEKEC
       rs!cdbpr = KodeBPR
       rs!Sandi = fa.TextMatrix(g, 1)
       rs!Jenis = fa.TextMatrix(g, 2)
       rs!jw_thn = fa.TextMatrix(g, 3)
       rs!jw_bln = fa.TextMatrix(g, 4)
       rs!jw_hr = fa.TextMatrix(g, 5)
       rs!Kolektibilitas = fa.TextMatrix(g, 6)
       rs!Bungadiberi = fa.TextMatrix(g, 7)
       rs!Jumlah = fa.TextMatrix(g, 8)
       rs!cdperk = fa.TextMatrix(g, 9)
       rs!nmperk = fa.TextMatrix(g, 10)
       rs!Bulan = CInt(Bulan)
       rs!Tahun = Tahun
       rs.Update
   Next
   rs.Close

        sql = " Update BI_Form2_ABA"
       sql = sql + " Set JmlRibu = right(Str(Round(Jumlah, 0)), 3), "
       sql = sql + " JmlJuta = substring(Str(Round(Jumlah, 0)), Len(Str(Round(Jumlah, 0))) - 5, 3), "
       sql = sql + " JmlMlyr = Left(Str(Round(Jumlah, 0)), Len(Str(Round(Jumlah, 0))) - 6) "
       sql = sql + " WHERE bulan = '" & CInt(Bulan) & "' AND Tahun = '" & Trim(Tahun) & "'"
       MstDb.Execute sql

        sql = " DELETE FROM BI_H2_ABA Where Bulan = '" & CInt(Bulan) & "' and Tahun =  '" & Trim(Tahun) & "'"
       MstDb.Execute sql
       sql = "INSERT INTO BI_H2_ABA SELECT * FROM BI_Form2_ABA"
       MstDb.Execute sql

MsgBox "PROSES SIMPAN SUKSES !", vbInformation, "Informasi"
mmouse Normal
Exit Sub
ErrX:
   MsgBox Err.Description, vbCritical, "Proses Simpan"
   mmouse Normal
End Sub

Private Sub cmdTambah_Click()
On Error Resume Next
If Trim(txtcdperk) <> "" And Trim(lbnmperk) <> "" And Trim(lbjumlah) <> "" Then
 fa.Rows = fa.Rows + 1
   
 fa.TextMatrix(fa.Rows - 1, 9) = Trim(txtcdperk)
 fa.TextMatrix(fa.Rows - 1, 10) = lbnmperk
 fa.TextMatrix(fa.Rows - 1, 8) = lbjumlah
 lbJmlTotal = FormatNumber(CDbl(lbJmlTotal) + CDbl(lbjumlah), 0)
End If
txtcdperk = ""
lbnmperk = ""
lbjumlah = ""
End Sub

Private Sub fa_AfterEdit(ByVal Row As Long, ByVal Col As Long)
On Error GoTo ErrX
Select Case Col
Case 1, 2, 3, 4, 5, 6, 7
    fa.Select fa.Row, Col + 1
End Select

Exit Sub
ErrX:
   MsgBox Err.Description, vbCritical, "Peringatan"
End Sub

Private Sub fa_AfterRowColChange(ByVal OldRow As Long, ByVal OldCol As Long, ByVal NewRow As Long, ByVal NewCol As Long)
On Error GoTo ErrX
Select Case NewCol
Case 8, 9, 10
   fa.Editable = flexEDNone
Case 1, 2, 3, 4, 5, 6, 7
   fa.Editable = flexEDKbdMouse
End Select
Exit Sub
ErrX:
   MsgBox Err.Description, vbCritical, "Peringatan"
End Sub

Sub LoadData()
On Error GoTo ErrLOAD

Bulan = IIf(Len(Trim(Month(TglLapBI))) = 1, "0" & Trim(Month(TglLapBI)), Trim(Month(TglLapBI)))
Tahun = Year(TglLapBI)
sBulan = IIf(Len(Trim(Month(DateAdd("M", -1, TglLapBI)))) = 1, "0" & Trim(Month(DateAdd("M", -1, TglLapBI))), Trim(Month(DateAdd("M", -1, TglLapBI))))
sTahun = Year(DateAdd("M", -1, TglLapBI))

If DATABARU Then
    MstDb.Execute "BI_2_ABA '" & Bulan & "','" & Tahun & "'"
   
   'UPDATE SUKU BUNGA DAN JANGKA WAKTU DARI DATA BULAN LALU
       sql = " Update BI_Form2_ABA "
       sql = sql + " Set BI_Form2_ABA.Sandi = BI_H2_ABA.Sandi, "
       sql = sql + " BI_Form2_ABA.Jenis = BI_H2_ABA.Jenis, "
       sql = sql + " BI_Form2_ABA.jw_thn = BI_H2_ABA.jw_thn, "
       sql = sql + " BI_Form2_ABA.jw_bln = BI_H2_ABA.jw_bln, "
       sql = sql + " BI_Form2_ABA.jw_hr = BI_H2_ABA.jw_hr, "
       sql = sql + " BI_Form2_ABA.BungaDiberi = BI_H2_ABA.BungaDiberi "
       sql = sql + " FROM BI_H2_ABA "
       sql = sql + " WHERE BI_Form2_ABA.cdperk = BI_H2_ABA.cdperk "
       sql = sql + " AND BI_H2_ABA.Bulan = '" & CInt(sBulan) & "' "
       sql = sql + " AND BI_H2_ABA.Tahun =  '" & Trim(sTahun) & "'"
       MstDb.Execute sql

        sql = " DELETE FROM BI_H2_ABA Where Bulan = '" & CInt(Bulan) & "' and Tahun =  '" & Trim(Tahun) & "'"
       MstDb.Execute sql
       sql = "INSERT INTO BI_H2_ABA SELECT * FROM BI_Form2_ABA"
       MstDb.Execute sql

Else
   sql = "DELETE FROM BI_Form2_ABA "
   MstDb.Execute sql
   sql = "INSERT INTO BI_Form2_ABA SELECT * FROM BI_H2_ABA  Where Bulan = '" & CInt(Bulan) & "' AND Tahun =  '" & Trim(Tahun) & "'"
   MstDb.Execute sql
End If
   LoadGrid
Exit Sub
ErrLOAD:
   MsgBox Err.Description, vbCritical, "Error Load data "
End Sub

Sub LoadGrid()
Dim Jumlah As Double
On Error Resume Next

    Jumlah = 0
   'Diisi oleh Stored Procedure
   'Isi Grid ABA
   sql = " SELECT cdkec, cdbpr, cdperk, nmperk, sandi, Jenis, jw_thn, jw_bln, jw_hr, Kolektibilitas, bungadiberi, Jumlah, JmlMlyr, JmlJuta, JmlRibu, bulan, tahun"
   sql = sql + " From BI_Form2_ABA "
   sql = sql + " order by Jenis Desc, Sandi Desc  "
   
   Set rs = New ADODB.Recordset
   rs.Open sql, MstDb, adOpenDynamic, adLockOptimistic
   fa.Rows = 1
   Do While Not rs.EOF
       fa.Rows = fa.Rows + 1
       fa.TextMatrix(fa.Rows - 1, 0) = fa.Rows - 1
       fa.TextMatrix(fa.Rows - 1, 1) = rs!Sandi
       fa.TextMatrix(fa.Rows - 1, 2) = rs!Jenis
       fa.TextMatrix(fa.Rows - 1, 3) = rs!jw_thn
       fa.TextMatrix(fa.Rows - 1, 4) = rs!jw_bln
       fa.TextMatrix(fa.Rows - 1, 5) = rs!jw_hr
       fa.TextMatrix(fa.Rows - 1, 6) = rs!Kolektibilitas
       fa.TextMatrix(fa.Rows - 1, 7) = rs!Bungadiberi
       fa.TextMatrix(fa.Rows - 1, 8) = rs!Jumlah
       fa.TextMatrix(fa.Rows - 1, 9) = rs!cdperk
       fa.TextMatrix(fa.Rows - 1, 10) = rs!nmperk
       Jumlah = Jumlah + rs!Jumlah
       rs.MoveNext
   Loop
   lbJmlTotal = FormatNumber(Jumlah, 0)
End Sub

Private Sub txtcdperk_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
If KeyCode = vbKeyReturn Then

    If Len(Trim(txtcdperk)) < 7 Then
       MsgBox "No.Perkiraan yang dimasukan harus 7 Digit !", vbCritical, "Peringatan"
       Exit Sub
   End If
   
   sql = " SELECT cdperk, perkiraan, bln" & Bulan & " as BULAN "
   sql = sql + " FROM BmsPerkiraan "
   sql = sql + " WHERE cdperk = '" & Trim(txtcdperk) & "'"
   Set rs = New ADODB.Recordset
   rs.Open sql, MstDb, adOpenDynamic, adLockOptimistic
   If Not rs.EOF Then
       lbnmperk = rs!Perkiraan
       lbjumlah = FormatNumber(rs!Bulan * 0.001, 0)
   Else
       MsgBox "No.Perkiraan :" & txtcdperk & " Tidak ada !", vbCritical, "Peringatan"
   End If
   rs.Close

ElseIf KeyCode = vbKeyEscape Then
   txtcdperk = ""
End If
End Sub

 
Aku harapkan bantuan dari teman-teman sekalian....
 
 
Best regards,
rima
 
 
 
 


Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]





YAHOO! GROUPS LINKS






Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]





SPONSORED LINKS
Programmer Indonesia Basic programming language
Computer programming languages Programming languages Java programming language


YAHOO! GROUPS LINKS




Kirim email ke