• Over flow
  • Over flow

    vuthaiha90 > 03-07-17, 05:22 PM

    Em xin chào các bác, chả là thế này: chương trình của em để làm cho vay cầm cố sổ tiết kiệm. Trong phần Table em đã chọn Data Type là Number (Double) cho nó lớn, các số liệu về giá trị sổ mang sang query tính toán "Giá trị sổ khi đến hạn" vẫn đúng, nhưng đến phần VBA thì bị lỗi "Over flow" tại dòng
    Tong = Tong + rst.Fields![Trigiaso].Value
    Mã:
    Dim dbs As Database
    Dim rst As Recordset
    Dim i, y As Long, Tong As Long
    Dim oApp As Object
    Dim Doc As Object
    Dim strDocName As String

    temp = """"

    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Q_STKDH", dbOpenDynaset)
    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    strDocName = """" & CurrentProject.Path & "\Word\CC" & "\Mau so 01_Phuong an su dung von.doc" & """"
    Set Doc = oApp.Documents.Add(strDocName)

    If rst.EOF Then
           Exit Sub
       Else
           rst.MoveFirst
       End If
    y = 3
    Tong = 0
    Do Until rst.EOF
    Doc.Tables(2).Cell(y, 1).Range.Text = rst.Fields![STT].Value
    Doc.Tables(2).Cell(y, 2).Range.Text = rst.Fields![TenTS].Value
    Doc.Tables(2).Cell(y, 3).Range.Text = rst.Fields![SosoTK].Value
    Doc.Tables(2).Cell(y, 4).Range.Text = Format(rst.Fields![Trigiaso].Value, "##,##0") & ChrW$(273)
    Doc.Tables(2).Cell(y, 5).Range.Text = IIf(rst.Fields![Kyhan].Value < 10, "0" & rst.Fields![Kyhan].Value, rst.Fields![Kyhan].Value) & " tháng"
    Doc.Tables(2).Cell(y, 6).Range.Text = rst.Fields![Laisuatgui].Value & "%/n" & ChrW$(259) & "m"
    Doc.Tables(2).Cell(y, 7).Range.Text = rst.Fields![Noiphathanh].Value
    Doc.Tables(2).Cell(y, 8).Range.Text = rst.Fields![Ngaydenhan].Value
    Tong = Tong + rst.Fields![Trigiaso].Value
    rst.MoveNext
    y = y + 1
    Doc.Tables(2).Rows.Add
    Loop
    rst.Close
    "rst.Fields![Trigiaso].Value" ở đây có giá trị là 2.500.000.000đ (Hai tỷ rưỡi). Em nghĩ do giá trị sổ lớn hơn 2.147.483.648. Vậy có cách giải quyết nào trong trường hợp này không ạ, em xin cảm ơn các bác trước
  • RE: Over flow

    ongke0711 > 03-07-17, 06:36 PM

    Sao bạn ko khai báo biển Tong AS Double luôn
  • RE: Over flow

    tranthanhan1962 > 03-07-17, 11:42 PM

    Kiểu dữ liệu liên quan đến tiền thì phải là double hoặc Currency