PDA

Xem phiên bản đầy đủ : Hỗ trợ Visual Foxpro?


unlien207
20-04-2008, 07:53
:yo: Chào mọi người, tôi có một thắc mắc xin mọi người gúp. Trường tôi chuẩn bị nhập danh sách HS lớp 12 thi tốt nghiệp bằng phần mềm của SGD & ĐT TP Đà Nẵng, viết bằng Visual FoxPro. Ở phấn lớp và họ tên, liệu tôi có thể copy dữ liệu từ Excel qua cho đỡ mất công được ko? (vì nhập thủ công mệt lắm, dễ sai sót nữa)? Vậy xin bà con, các bác nào đã làm việc nhập danh sách này rồi, xin chỉ giáo. Tôi xin cảm ơn nhiều.

Tu Quang
22-04-2008, 14:25
Xin trả lời là được.
1. Bạn mở tệp DBF chứa dữ liệu, dùng lệnh Copy To <tệp Excel> type XLS để lấy cấu trúc cho tệp XLS.
2. Mở tệp XLS vừa tạo ở trên và tiến hành nhập dữ liệu đúng chuẩn, lưu ý Font (hình như tất cả đều dùng Font TCVN3 .vn*).
3. Mở Visual Foxpro, dùng lệnh Import (trực tiếp hay dùng thuật sĩ cũng được) để mở tệp XLS đã có dữ liệu. Có thể dùng lệnh sau tạo cửa sổ lệnh:
Import From <tệp XLS> Type XLS Sheet <tên sheet chứa>
Nếu dùng Excel 8 (Office XP 2003) thì thay XLS bằng XL8.
Bạn nên tạo tệp tạm rồi mới dùng Append From để add dữ liệu vào tệp chính.
Chúc bạn thành công.

ktun
11-06-2008, 08:27
Mình gặp 1 khó khăn khi chuyển qua lại giữa fox và excel là kiểu date/ time, nếu nhập dữ liệu từ excel rồi import vào fox, các cells dữ liệu khác import chuẩn, chỉ riêng cells về ngày tháng là không import được. Làm thế nào vậy thầy?

Tu Quang
17-06-2008, 09:52
Mình gặp 1 khó khăn khi chuyển qua lại giữa fox và excel là kiểu date/ time, nếu nhập dữ liệu từ excel rồi import vào fox, các cells dữ liệu khác import chuẩn, chỉ riêng cells về ngày tháng là không import được. Làm thế nào vậy thầy?

Bạn cũng có thể khắc phục bằng cách tạo cột mới dạng text (trong EXCEL) sau đó ghép ngày tháng năm lại, ví dụ 12/10/93 thì thành 121093. Khi sang Fox thì lấy lại ra, hơi mất công nhưng an toàn. Sử dụng các hàm ngày thàng và hàm chuyển đổi (dùng IF để đưa số 0 vào nếu ngày hay tháng <10).
Chúc bạn thành công.

ktun
17-06-2008, 16:48
Mình đã chuyển được rồi, cảm ơn thầy.
Lí do là do trươớc đây, export dữ liệu ngày tháng từ fox ra excel thì nó định dạng là dd/mm/yyyy, còn lúc import ngược từ excel vào fox nó lại không hiểu định dạng đó. Chuyển định dạng lại là ok.

teaintel
29-06-2008, 19:55
Xin nhờ quý Thầy cô trong diễn đàn chỉ hộ em. Em muốn index họ tên (tiếng việt) theo thứ tăng dần. Xin cám ơn.

Tu Quang
30-06-2008, 07:24
Cột họ tên nằm chung hay tách riêng. Để trách rắc rối nên tách họ tên riêng.

Tu Quang
01-07-2008, 21:20
Bạn có thể tham khảo đoạn chương trình sau để sắp xếp cho hai cột hodem và tên. Font dùng là bộ font TCVN3 (font ABC), nếu sử dụng bộ font khác bạn cảm phiền gõ lại biến CH với nội dung bên trong là font cần sắp xếp.
Chúc bạn thành công.

USE <Tệp DBF>
DO WHILE .NOT. EOF()
CH = ;
'0123Aa¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËBbCcDdD§ ®EeÐÌÎÏѪÕÒÓÔÖFfGgHhIiÝ×ØÜÞJjKkLl MmNnOoãßáâ䤫åèæç饬íêëìîPpQqRr SsTtUuóïñòô¦*øõö÷ùVvWwXxYyýúûüþZz '
VNID = SPACE(254)
FOR I = 1 TO LEN(CH)
N = ASC(SUBSTR(CH,I,1))
VNID = STUFF(VNID,N,1,CHR(I + 32))
ENDFOR
SKIP
ENDDO
SAVE TO Bien ALL LIKE VNID
Inde on sys(15,VNID,ltrim(ten)+ltrim(hodem)) to sxten
<Lệnh xử lý sau khi sắp xếp>

teaintel
03-07-2008, 19:56
Bạn có thể tham khảo đoạn chương trình sau để sắp xếp cho hai cột hodem và tên. Font dùng là bộ font TCVN3 (font ABC), nếu sử dụng bộ font khác bạn cảm phiền gõ lại biến CH với nội dung bên trong là font cần sắp xếp.
Chúc bạn thành công.

USE <Tệp DBF>
DO WHILE .NOT. EOF()
CH = ;
'0123Aa¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËBbCcDdD§ ®EeÐÌÎÏѪÕÒÓÔÖFfGgHhIiÝ×ØÜÞJjKkLl MmNnOoãßáâ䤫åèæç饬íêëìîPpQqRr SsTtUuóïñòô¦*øõö÷ùVvWwXxYyýúûüþZz '
VNID = SPACE(254)
FOR I = 1 TO LEN(CH)
N = ASC(SUBSTR(CH,I,1))
VNID = STUFF(VNID,N,1,CHR(I + 32))
ENDFOR
SKIP
ENDDO
SAVE TO Bien ALL LIKE VNID
Inde on sys(15,VNID,ltrim(ten)+ltrim(hodem)) to sxten
<Lệnh xử lý sau khi sắp xếp>
Xin ý kiến Thày Tu Quang! nội dung của biến CH là gì vậy ? Sao em không đọc được và hiểu gì cả. Xin cám ơn Thấy!

Tu Quang
05-07-2008, 22:18
Biến CH là dãy chữ để làm trật tự sắp xếp, font TCVN3.
Ví dụ:
A Á À Ả Ã ...