Sử dụng VBA để chỉnh sửa dữ liệu trong file *.DBF (5 người xem)

Liên hệ QC

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

xuanhoa7604

Thành viên hoạt động
Tham gia
9/6/08
Bài viết
169
Được thích
82
Nghề nghiệp
Giáo viên
Mình có một vấn đề là làm thế nào để có thể chỉnh sửa dữ liệu trong 1 file DBF bằng VBA? (tức là có thể đọc dữ liệu ra và ghi dữ liệu lại khi biết cấu trúc của các trường trong file DBF rồi). Có bác nào biết thì giúp mình với. Mình đang rất cần. Cảm ơn nhiều!
 
Mình có một vấn đề là làm thế nào để có thể chỉnh sửa dữ liệu trong 1 file DBF bằng VBA? (tức là có thể đọc dữ liệu ra và ghi dữ liệu lại khi biết cấu trúc của các trường trong file DBF rồi). Có bác nào biết thì giúp mình với. Mình đang rất cần. Cảm ơn nhiều!
up thử 1 file DBF xem cấu trúc nó như thế nào!
 
Mình có một vấn đề là làm thế nào để có thể chỉnh sửa dữ liệu trong 1 file DBF bằng VBA? (tức là có thể đọc dữ liệu ra và ghi dữ liệu lại khi biết cấu trúc của các trường trong file DBF rồi). Có bác nào biết thì giúp mình với. Mình đang rất cần. Cảm ơn nhiều!

chẳng cần phải cầu kỳ thế làm gì, bác vào file dbf chọn export chọn xls 5.0 sau đó chỉnh sửa thoải mái file excel đó (tuyệt đối không được save as hoặc save file đó thành excel 2003 vì dbf chỉ hỗ trợ excel 5.0 thôi)

vài câu lệnh cơ bản ở đây sẽ giúp chuyển dữ liệu lại từ excel về dbf mà không có lỗi lầm gì
(yêu cầu cài visual foxpro 9.0 mở file bằng visual foxpro 9.0)

1. delete all (đánh dấu xoá toàn bộ các bản ghi trong file dbf)
2. pack (xoá các bản ghi đã đánh dấu)
3. append from ? xls (chọn file xls để import chỉ chấp nhận file excel 5.0 lớn hơn sẽ bị lỗi)
4. browser (xem nội dung của file dbf)

lúc này xuất hiện cửa sổ chọn file, tìm file, nhấp ok như thế là bác đã có một file dữ liệu mới hoàn chỉnh từ excel sang dbf

em dùng cách trên để xử lý tất cả các loại phần mềm của sở, bộ giáo dục nhà ta liên quan đến dbf đảm bảo chuẩn xác dữ liệu 100%
 
Lần chỉnh sửa cuối:
File dbf mở bằng excel đc mà bạn. Cứ mở và export sang cel là triển đc VBA thôi
 
Không phải do máy mình thiếu font đâu. Mình cũng không hiểu sao nữa.

file của bác không phải file dbf gốc, nó đã được chuyển qua chuyển lại và bị lỗi rồi nhé giờ có làm gì cũng bị lỗi font thôi.
Kiểu này là import dữ liệu từ excel vào mà không làm trực tiếp trên visual foxpro. Em nói rồi VF nó chỉ hỗ trợ ex 5.0 thôi và nếu có tiếng việt hình như chỉ chấp nhận font TCVN3
 

File đính kèm

  • 2014-05-18_161459.jpg
    2014-05-18_161459.jpg
    33.5 KB · Đọc: 140
Lần chỉnh sửa cuối:
file của bác không phải file dbf gốc, nó đã được chuyển qua chuyển lại và bị lỗi rồi nhé giờ có làm gì cũng bị lỗi font thôi.
Kiểu này là import dữ liệu từ excel vào mà không làm trực tiếp trên visual foxpro. Em nói rồi VF nó chỉ hỗ trợ ex 5.0 thôi và nếu có tiếng việt hình như chỉ chấp nhận font TCVN3
Cảm ơn bạn. Thực ra mình chỉ cần chỉnh số ở trong file đó thôi, tất cả phần chữ (như họ tên, địa chỉ, ...) thì mình không cần chỉnh thế nên cho dù mở bằng excel nó không hiện đúng tiếng Việt cũng không sao nhưng khi sửa xong số ở trong đó thì không thể lưu trở lại định dạng file cũ (DBF) được. Bạn có cách nào giúp mình không?
 
Cảm ơn bạn. Thực ra mình chỉ cần chỉnh số ở trong file đó thôi, tất cả phần chữ (như họ tên, địa chỉ, ...) thì mình không cần chỉnh thế nên cho dù mở bằng excel nó không hiện đúng tiếng Việt cũng không sao nhưng khi sửa xong số ở trong đó thì không thể lưu trở lại định dạng file cũ (DBF) được. Bạn có cách nào giúp mình không?
bác làm theo cách em hướng dẫn ở bài số 3 nhé
 

(yêu cầu cài visual foxpro 9.0 mở file bằng visual foxpro 9.0)

4. browser (xem nội dung của file dbf)
lúc này xuất hiện cửa sổ chọn file, tìm file, nhấp ok như thế là bác đã có một file dữ liệu mới hoàn chỉnh từ excel sang dbf
từ bước 4. này có thêm dòng lệnh để xuất File dbf sang excel thì phải (máy mình giờ không cài visual foxpro)
Bốn năm trước mình có làm báo cáo kết quả thi vào lớp 10 cho một trường cấp 3 đã từng xuất dữ liệu từ dbf sang xls để lọc và đếm, ngày ấy có phần mềm sử lý báo cáo kết quả của sở giáo dục Hà Nội nhưng không linh hoạt và mất công đọc hướng dẫn dài dòng
Khi mình sử lý song kết quả in gửi đi lộp kèm file xls thì không được chấp nhận mặc dù kết quả báo cáo không sai, Họ cứng nhắc đòi File sử lý theo phần mềm, mất công xuất file xls thành dbf để phần mềm sử lý kết quả đọc được để kiểm tra
 
từ bước 4. này có thêm dòng lệnh để xuất File dbf sang excel thì phải (máy mình giờ không cài visual foxpro)
Bốn năm trước mình có làm báo cáo kết quả thi vào lớp 10 cho một trường cấp 3 đã từng xuất dữ liệu từ dbf sang xls để lọc và đếm, ngày ấy có phần mềm sử lý báo cáo kết quả của sở giáo dục Hà Nội nhưng không linh hoạt và mất công đọc hướng dẫn dài dòng
Khi mình sử lý song kết quả in gửi đi lộp kèm file xls thì không được chấp nhận mặc dù kết quả báo cáo không sai, Họ cứng nhắc đòi File sử lý theo phần mềm, mất công xuất file xls thành dbf để phần mềm sử lý kết quả đọc được để kiểm tra
lệnh browse là để xem file nội dung có trong file dbf không phải lệnh xuất sang ex, câu lệnh xuất dài dòng nên dùng chuột export cho nhanh (file/export)

lệnh export: COPY TO
 
Lần chỉnh sửa cuối:
Vậy có cách nào can thiệp đến dữ liệu trên file DBF thông qua code VB không? Bạn có thể gửi cho mình foxpro được không. Mình không thể cài được. Nó toàn bị lỗi.
 
Đây là file DBF mẫu. Mình thử dùng Excel đọc thì nó bị lỗi font (trong file DBF dùng bảng mã TCVN).
File của bạn sử dụng font TCVN3 chứ không có vấn đề gì về font cả.
Tôi không biết dùng VBA để can thiệp đến file DBF và thực sự cũng không biết nhiều về Foxpro, chỉ biết vài câu lệnh cơ bản qua một số năm nhập dữ liệu thi tốt nghiệp nên biết đến đâu làm đến đó vậy:

1. Sao lưu file HOCSINH1.DBF ở đâu đó cho chắc rồi mở Foxpro, gõ lệnh use ? để mở file HOCSINH1.DBF, sẽ xuất hiện một hộp thoại Code page, bạn cứ chọn Windows (bên phải là 1252-Windows ANSI) là mở được file.

2. Gõ lệnh copy to C:\HS.xls type xls để xuất ra file HS.xls trên ổ C:

3. Mở file HS.xls và chỉnh sửa tùy ý, miễn là đừng thay đổi cấu trúc các trường của file này.
Một số lưu ý tại bước này:
- 3.1. Bạn chọn 1 ô chứa dữ liệu, nhấn Ctrl+A và định dạng lại font TCVN3 để đọc được tiếng Việt.
- 3.2. Chuẩn hóa lại cột E (ngaysinh) theo định dạng MM/dd/yyyy. Một cách để thực hiện việc này là chèn thêm 1 cột (F), nhập công thức =TEXT(E2,"MM/dd/yyyy") cho F2 và fill xuống. Sau đó copy và Paste values lại vào cột E rồi xóa cột phụ đi.
- 3.3. Xóa dòng tiêu đề đi để tránh bản ghi vô nghĩa.
- 3.4. Nhấn F12 và lưu lại file với định dạng Microsoft Excel 5.0/95 Workbook, có thể lưu đè lên file cũ.

4. Gõ lần lượt các lệnh delete allpack để xóa toàn bộ dữ liệu trong file HOCSINH1.DBF.

5. Gõ lệnh appen from ? xls rồi chọn file HS.xls đã sửa lúc nãy, nhấn IMPORT.

Vậy là xong.

Ghi chú: Tôi dùng bản Foxpro 7.0, là bản Foxpro đi kèm với bộ cài chương trình Quản lý thi tốt nghiệp của Bộ GD-ĐT.
 
Sửa đi bạn, sửa xong click save ->no->đóng lại và up lên đây.
 

File đính kèm

Web KT

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

Back
Top Bottom