Chào các bạn.
Mình có sử dụng đoạn code ở dưới để xuất dữ liệu từ sql sang sheet của excel nhưng khi xuất thì tại trường là dữ liệu kiểu số có giá trị đúng là: 4.998.000.000đ; nhưng khi xuất ra excel thì kết quả là: 4.998.000.128đ;
Rất mong các bạn xem giúp.
Mình xin cảm ơn!
'Khai bao cho ket noi voi CSDL SQL
Public cnn As New ADODB.Connection
Public rs As ADODB.recordset
Const connstr = "Driver=SQL Server;SERVER=240786-WS128169994;UID=sa;PWD=1234fgt56a@00000;DATABASE=QLTS000"
Sub tim_kiem(malcp)
'vo hieu hoa
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim fld As ADODB.Field
Sheet6.Cells.Clear
cnn.Open connstr
Set rs = New ADODB.recordset
rs.Open "SELECT * FROM th_lnlr14_glst12 where plgno = '" & malcp & "'", cnn
'dien tieu de
r = 1
c = 1
For Each fld In rs.Fields
Sheet6.Cells(r, c).Value = fld.Name
c = c + 1
Next
'xuat du lieu ra sheet temp
On Error Resume Next
r = r + 1
Do While Not rs.EOF
c = 1
For Each fld In rs.Fields
Sheet6.Cells(r, c) = fld
c = c + 1
Next
rs.MoveNext
Loop
On Error GoTo 0
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
'Tu dong can chinh cot
Sheet6.Cells.EntireColumn.AutoFit
'xoa du lieu
Sheet4.Cells(2, 2).Select
'tai khoan
Sheet4.Cells(3, 2).Value = ""
'dien phong giao dich
Sheet4.Cells(4, 2).Value = ""
'dien ma chu so huu
Sheet4.Cells(5, 2).Value = ""
'dien ten chu so huu
Sheet4.Cells(6, 2).Value = ""
'ma khach hang vay
Sheet4.Cells(7, 2).Value = ""
'ten khach hang vay
Sheet4.Cells(8, 2).Value = ""
'loai tien
Sheet4.Cells(9, 2).Value = ""
'gia tri tai san
Sheet4.Cells(10, 2).Value = ""
'dien so sezi
Sheet4.Cells(11, 2).Value = ""
'dien ghi chu
Sheet4.Cells(12, 2).Value = ""
'xuat du lieu thoa man dieu khien
For i = 2 To r
If Trim(Sheet6.Cells(i, 1).Value) = malcp Then
'dien tai khoan
Sheet4.Cells(3, 2).Value = Sheet6.Cells(i, 3)
'dien phong giao dich
Sheet4.Cells(4, 2).Value = Sheet6.Cells(i, 4)
'dien ma chu so huu
Sheet4.Cells(5, 2).Value = Sheet6.Cells(i, 8)
'dien ten chu so huu
Sheet4.Cells(6, 2).Value = Sheet6.Cells(i, 9)
'ma khach hang vay
Sheet4.Cells(7, 2).Value = Sheet6.Cells(i, 6)
'ten khach hang vay
Sheet4.Cells(8, 2).Value = Sheet6.Cells(i, 7)
'loai tien
Sheet4.Cells(9, 2).Value = Sheet6.Cells(i, 5)
'gia tri tai san
Sheet4.Cells(10, 2).Value = Sheet6.Cells(i, 15)
'dien so sezi
Sheet4.Cells(11, 2).Value = Sheet6.Cells(i, 13)
'dien ghi chu
Sheet4.Cells(12, 2).Value = Trim(Sheet6.Cells(i, 10)) & ", " & Trim(Sheet6.Cells(i, 11))
Exit Sub
End If
Next i
'==================================================
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub
Mình có sử dụng đoạn code ở dưới để xuất dữ liệu từ sql sang sheet của excel nhưng khi xuất thì tại trường là dữ liệu kiểu số có giá trị đúng là: 4.998.000.000đ; nhưng khi xuất ra excel thì kết quả là: 4.998.000.128đ;
Rất mong các bạn xem giúp.
Mình xin cảm ơn!
'Khai bao cho ket noi voi CSDL SQL
Public cnn As New ADODB.Connection
Public rs As ADODB.recordset
Const connstr = "Driver=SQL Server;SERVER=240786-WS128169994;UID=sa;PWD=1234fgt56a@00000;DATABASE=QLTS000"
Sub tim_kiem(malcp)
'vo hieu hoa
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim fld As ADODB.Field
Sheet6.Cells.Clear
cnn.Open connstr
Set rs = New ADODB.recordset
rs.Open "SELECT * FROM th_lnlr14_glst12 where plgno = '" & malcp & "'", cnn
'dien tieu de
r = 1
c = 1
For Each fld In rs.Fields
Sheet6.Cells(r, c).Value = fld.Name
c = c + 1
Next
'xuat du lieu ra sheet temp
On Error Resume Next
r = r + 1
Do While Not rs.EOF
c = 1
For Each fld In rs.Fields
Sheet6.Cells(r, c) = fld
c = c + 1
Next
rs.MoveNext
Loop
On Error GoTo 0
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
'Tu dong can chinh cot
Sheet6.Cells.EntireColumn.AutoFit
'xoa du lieu
Sheet4.Cells(2, 2).Select
'tai khoan
Sheet4.Cells(3, 2).Value = ""
'dien phong giao dich
Sheet4.Cells(4, 2).Value = ""
'dien ma chu so huu
Sheet4.Cells(5, 2).Value = ""
'dien ten chu so huu
Sheet4.Cells(6, 2).Value = ""
'ma khach hang vay
Sheet4.Cells(7, 2).Value = ""
'ten khach hang vay
Sheet4.Cells(8, 2).Value = ""
'loai tien
Sheet4.Cells(9, 2).Value = ""
'gia tri tai san
Sheet4.Cells(10, 2).Value = ""
'dien so sezi
Sheet4.Cells(11, 2).Value = ""
'dien ghi chu
Sheet4.Cells(12, 2).Value = ""
'xuat du lieu thoa man dieu khien
For i = 2 To r
If Trim(Sheet6.Cells(i, 1).Value) = malcp Then
'dien tai khoan
Sheet4.Cells(3, 2).Value = Sheet6.Cells(i, 3)
'dien phong giao dich
Sheet4.Cells(4, 2).Value = Sheet6.Cells(i, 4)
'dien ma chu so huu
Sheet4.Cells(5, 2).Value = Sheet6.Cells(i, 8)
'dien ten chu so huu
Sheet4.Cells(6, 2).Value = Sheet6.Cells(i, 9)
'ma khach hang vay
Sheet4.Cells(7, 2).Value = Sheet6.Cells(i, 6)
'ten khach hang vay
Sheet4.Cells(8, 2).Value = Sheet6.Cells(i, 7)
'loai tien
Sheet4.Cells(9, 2).Value = Sheet6.Cells(i, 5)
'gia tri tai san
Sheet4.Cells(10, 2).Value = Sheet6.Cells(i, 15)
'dien so sezi
Sheet4.Cells(11, 2).Value = Sheet6.Cells(i, 13)
'dien ghi chu
Sheet4.Cells(12, 2).Value = Trim(Sheet6.Cells(i, 10)) & ", " & Trim(Sheet6.Cells(i, 11))
Exit Sub
End If
Next i
'==================================================
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub