Lấy dữ liệu Foxpro
Chào các anh chị, mình cần lấy dữ liệu từ phần mềm kế toán foxpro ra Excel bằng cách Import, để khi dữ liệu thay đổi thì refresh sẽ có dữ liệu cập nhật.
Dữ liệu foxpro ở dạng thư mục, được nén trong file kèm theo, trong file CT.dbf.
Mình đã thử đủ các kiểu dùng Power Query, ODBC, A-Tools của anh Tuân nhưng vẫn chưa được, nên đành post lên đây nhờ sự trợ giúp của cộng đồng GPE.Trân trọng cảm ơn!
Cái này cũ quá rồi, bạn dùng power query connect thông qua query OLE DB, sau đó nhập connectString như vầy, Data source thì là folder chứa file, tuy nhiên cái bảng DBF của foxpro phải convert về dạng foxplus mới connect được
ví dụ query trong foxpro:
use table
copy to d:File.dbf type foxplus
Tôi đang dùng office 365, nên bạn tìm cái Microsoft.ACE.OLEDB phù hợp với phiên bản office của bạn
2150
www.giaiphapexcel.com/diendan/threads/l%E1%BA%A5y-d%E1%BB%AF-li%E1%BB%87u-foxpro.159413/#post-1060947
Nếu Power Query cài thêm Visual FoxPro OLE DB Provider là được.
= OleDb.DataSource("Provider=vfpoledb;
Mấy cái này code Python thì lèo cái xong. Xuất thành thư viện cho VBA rồi sau chỉ ấn cái là xong việc. :p
2151
– Theo tôi biết thì cái VFP ODBC driver nó không còn hỗ trợ nữa nên chuyển sang dùng OLEDB.
– Vô đây download cái driver OLEDB cho FoxPro (VfpOleDB.dll): github.com/VFPX/VFP9SP2Hotfix3/blob/master/VFPOLEDBSetup.msi
hoặc tải thẳng từ trang của Microsoft: www.microsoft.com/en-us/download/details.aspx?id=32602
– Cài xong thì đăng ký nó: nhớ chạy CMD với quyền Administrator.
regsvr32 /s "C:Program Files (x86)Common Filessystemole dbvfpoledb.dll
– Dùng ADODB kết nối lấy dữ liệu thôi.
Sub getDataFoxpro()
Dim sConnectString, oRS, oConn, sSQL
sConnectString = "Provider=VFPOLEDB;Data Source=C:Temp2021ACT.dbf;"
Set oConn = CreateObject("ADODB.Connection")
oConn.ConnectionString = sConnectString
oConn.ConnectionTimeout = 30
oConn.Open
sSQL = "select * from CT"
Set oRS = oConn.Execute(sSQL)
If oRS.EOF Then
oRS.Close
oConn.Close
Set oRS = Nothing
Set oConn = Nothing
End If
Do While Not oRS.EOF
Debug.Print oRS.Fields("ong_ba").Value & " - " & _
oRS.Fields("dia_chi").Value & vbCrLf
oRS.MoveNext
Loop
oRS.Close
oConn.Close
Set oRS = Nothing
Set oConn = Nothing
End Sub
– Cài xong thì đăng ký nó: nhớ chạy CMD với quyền Administrator.
Tôi thử trên office 64 bít ko sử dụng được
Cái Provider cho Visual Foxpro (vfpoledb.dll) đã lâu lắm rồi, không có hỗ trợ cho Office 64 bit nhe. Còn không muốn phụ thuộc Office thì cứ Python mà đọc thôi, nó có quá trời thư viện hỗ trợ đọc DBF.
có 1 vài cái mà tôi quan tâm Foxpro một chút đó là
1/ Hiện tại còn nhiều cty vẫn sử dụng phần mềm kế toán viết trên FoxPro
2/ tôi có quen 1 cty chuyên làm dịch vụ kế toán lớn cũng sử dụng phần mềm kế toán viết trên FoxPro mà hàng năm nếu có vấn đề gì phát sinh họ vẫn bảo trì
3/ mặc dù nó rất cổ nhưng hiện tại đâu đó vẫn còn sử dụng ….
….
Vì vậy tôi quan tâm 1 chút muốn bảo tồn nó nếu cần thiết sau này chuyển qua Tools khác ta có thể lấy dữ liệu trước đó tham khảo vào Excel …. xong tùy xử lý nó ….
….
Tôi mới phát hiện ra1/ không cần thiết cài đặt Driver của FoxPro Hoặc File VFPOLEDBSetup.msi
2/ vẫn sử dụng tốt trên Office 64 bit
3/ chỉ cần VB6 cổ điển cũng viết tốt rồi ….
4/ Code thì tôi copy y trang code bài số 7 thử thôi …. ko phải là ko biết viết mà lười chút … Copy cho nhanh
5/ tại ta chưa biết thực hiện đúng cách …. hay lách nó mà thôi
6/ xem hình trong cài đặt của tôi ko có sự hiển diện của Fox Pro
xem video
E_xNP1TOjhI
[URL='youtu.be/E_xNP1TOjhI']Liên kết: youtu.be/E_xNP1TOjhI
😀 kiểu gì thì cũng phải cần thêm thư viện bên ngoài thôi.
Kỹ năng giải quyết vấn đề hiệu quả
Mô tả Nội dung Đánh giá Tài nguyên KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ HIỆU QUẢHiểu đúng vấn đề là một nửa của giải...
Xem khóa học
Bình luận