Không lấy được số cột trong CSDL (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

challenge98

Thành viên chính thức
Tham gia
21/6/09
Bài viết
90
Được thích
5
Không lấy được số cột trong dữ liệu

Mình có đoạn code để đọc file
Sub docfile()
Dim sans As String
Dim i As Long
Dim Columns() As String
Dim records() As String
sans = ReadStringFromFile("C:\test.txt")
records = Split(sans, vbCrLf)
Debug.Print UBound(records)
For i = 0 To UBound(records)
Columns = Split(records(i), vbTab)
i=i+1
Next
Debug.Print ; Columns(2)
End Sub
Phần đọc số hàng thì chạy tốt nhưng đọc số cột thì báo lỗi ở columns(2)
dữ liệu mình có khoảng 10 cột. ai biết chỉ cho mình với
 
Lần chỉnh sửa cuối:
Tôi thử chép code trên vô phần Macro của máy tôi. Gõ F8 (để chạy theo vết) thì bị báo lỗi ở dòng
sans = ReadStringFromFile("C:\test.txt")

Nó không hiểu lệnh
ReadStringFromFile

Bạn đã đặt thêm tùy chọn nào trong Basic để nó hiểu lệnh đó?
 
Upvote 0
Do bạn không có phần
Private Function ByteArrayToString(bytArray() As Byte) As String
Dim sans As String
Dim iPos As String
sans = StrConv(bytArray, vbUnicode)
iPos = InStr(sans, Chr(0))
If iPos > 0 Then sans = Left(sans, iPos - 1)
ByteArrayToString = sans
End Function
Mình vẫn chưa hiểu hết về hàm này ai giải thích hộ mình với
 
Upvote 0
Mình thấy có lẽ bạn chép thiếu hàm UDF: ReadStringFromFile()
Đây là hàm có nhiệm vụ mở file Text theo chỉ định của đối số rồi trả về chuỗi text nọi dung
Hàm challenge98 chép ở dưới không có liên quan ở đây. Khi chép các đoạn code sưu tầm nên chép đầy đủ. Các chương trình có sử dụng nhiều 1 hàm UDF nào đó (Ví dụ ReadStringFromFile()) thì hàm này có thể không nằm trong Module này mà nó co thể nằm trong Module khác. Bạn mở VBA của file sưu tập rồi dùng lệnh find tìm sẽ thấy.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom