-
Nhờ chỉnh giúp đoạn code chuyển từ Font TCVN3 sang Unicode
tungthoi15 > 02-11-21, 11:15 PM
Em đang làm 1 chương trình chuyển dữ liệu từ file csv vào trong SQL server. Nhưng vấn đề làm em đau đầu là Font ở file csv lại là Font TCVN3 (.vntime). Dữ liêu thì rất nhiều ạ, có bảng thì lên đến cả trăm nghìn record ạ.
Em có lên mạng thì tìm được đoạn code: TCVN3toUnicode, sau đó em có làm thêm 1 hàm để Convert nhưng nó không chạy. Các anh ơi, giúp em với ạ.
[img][/img]
[img][/img]
Đoạn code của em đây
Mã PHP:Function ToUnicode(strTableName As String)
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim i As Integer
Set db = CurrentDb()
Set tdf = db.TableDefs(strTableName)
Set rs = db.OpenRecordset(strTableName)
rs.MoveFirst
Do While Not rs.EOF
For i = 0 To tdf.Fields.Count - 1
' Neu file dang text thi se convert font
If CLng(tdf.Fields(i).Type) = "dbText" Then
rs(tdf.Fields(i)) = TCVN3toUNICODE(rs(tdf.Fields(i)))
End If
Next
rs.MoveNext
Loop
rs.Close
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
End Function
File demo của em đây ạ.
https://drive.google.com/file/d/1U0lK1BO...sp=sharing -
RE: Nhờ chỉnh giúp đoạn code chuyển từ Font TCVN3 sang Unicode
ongke0711 > 03-11-21, 08:24 AM
Bạn xem ở bài này. Đã có thảo luận chi tiết về việc chuyển đổi Font.
Link: https://thuthuataccess.com/forum/post-50...l#pid50128 -
RE: Nhờ chỉnh giúp đoạn code chuyển từ Font TCVN3 sang Unicode
tungthoi15 > 03-11-21, 10:17 AM
(03-11-21, 08:24 AM)ongke0711 Đã viết: Bạn xem ở bài này. Đã có thảo luận chi tiết về việc chuyển đổi Font.
Link: https://thuthuataccess.com/forum/post-50...l#pid50128
Tuyệt vời ông mặt trời anh ơi, tốc độ convert rất nhanh, font chuyển rất đẹp và chính xác ạ. Cám ơn anh rất nhiều. -
RE: Nhờ chỉnh giúp đoạn code chuyển từ Font TCVN3 sang Unicode
ongke0711 > 03-11-21, 10:22 AM
Còn đối với code trên của bạn thì sửa như bên dưới:
- Bạn đã dùng CLng() rồi sao còn dùng ="dbText"???
- Type nó sẽ trả về là Long, khỏi cần dùng CLng()
Mã PHP:rs.MoveFirst
Do While Not rs.EOF
rs.Edit
For i = 0 To tdf.Fields.Count - 1
' Neu file dang text thi se convert font
If tdf.Fields(i).Type = 10 Then 'dbText
rs(tdf.Fields(i).Name).Value = TCVN3toUNICODE(rs(tdf.Fields(i).Name).Value)
End If
Next
rs.Update
rs.MoveNext
Loop -
RE: Nhờ chỉnh giúp đoạn code chuyển từ Font TCVN3 sang Unicode
tungthoi15 > 03-11-21, 08:46 PM
(03-11-21, 10:22 AM)ongke0711 Đã viết: Còn đối với code trên của bạn thì sửa như bên dưới:
Dạ vâng, nhưng dùng file của bác là mỹ mãn rồi vì nó convert tất cả các table luôn, em không phải chọn từng table nữa ạ.
- Bạn đã dùng CLng() rồi sao còn dùng ="dbText"???
- Type nó sẽ trả về là Long, khỏi cần dùng CLng()
Mã PHP:rs.MoveFirst
Do While Not rs.EOF
rs.Edit
For i = 0 To tdf.Fields.Count - 1
' Neu file dang text thi se convert font
If tdf.Fields(i).Type = 10 Then 'dbText
rs(tdf.Fields(i).Name).Value = TCVN3toUNICODE(rs(tdf.Fields(i).Name).Value)
End If
Next
rs.Update
rs.MoveNext
Loop