Gom nhóm trên visual foxpro (1 người xem)

Liên hệ QC

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

toikhongvao

Thành viên mới
Tham gia
4/1/10
Bài viết
18
Được thích
2
Mình không rành poxpro, excel thì tạm. Nhưng bây giờ file .DBF có đến 418.000 dòng trong khi excel chỉ được 65553 dòng nên nếu chuyển qua excel thì không thể làm được.
Giải pháp của mình là gom nhóm trên foxpro trước rồi chuyển qua excel. Nhưng mà cách gom nhóm trên excel thì em không biết.
Cụ thể là gồm các cột: Mã nhân viên, ngày, ghi có, ghi nợ, mã giao dịch.
Bây giờ phải gom nhóm mã nhân viên, ngày, mã giao dịch
Cộng: ghi có, ghi nợ
Cuối cùng là xuất ra excel
Xin giúp giùm.
P/S: fox thì không cần lập trình chỉ cần sử dụng cửa sổ command để tạo truy vấn cũng được. Em bây giờ lẫn lộn là dùng fox là lập trình hay để tạo truy vấn. Đối với công việc hiện tại thì chắc dùng truy vấn nhưng mà trên cửa sổ command thì dùng ngôn ngữ gì ? VB hay SQL,...
Có tài liệu nào để dùng trên command của fox không ?
THX
 
Trong cửa sổ command, bạn dùng lệnh :
Use ...
Copy <tenfile.xls> type xls for <....>
Điều kiện sau FOR chính là điều kiện bạn muốn gom nhóm.
Có gì cần trao đổi thêm xin gửi email về minhducvs@yahoo.com
 
file dung lượng khổng lồ, up lên chắc mất cả ngày. Mình khái quát bố cục nó thế này
MNV ngay ghico ghino LoaiGD
AC1 ...... ....... ....... A
AC1 ...... ....... ....... B
AC1 ..... ...... ....... C
...........................................................................................................
AC2 ..... ....... ....... B
...........................................................................................................

Cứ thế đến vài trăm ngàn dòng. Giờ phải gom nhóm theo
MNV là AC1, AC2, AC3,.....(chỉ gom nhóm cho người dùng AC còn các người khác thì không cần)
ngay thi theo ngày tháng năm
LoaiGD thi theo A,B,C
Ghino và Ghico thì sum

Xin Giúp giùm
Cho mình hỏi là mấy cái truy vần trong command là xài ngôn ngữ gì vậy. Có giáo trình về cứ pháp lệnh trong đó không ?
Cám ơn vì sự giúp đở
 
vào cửa sổ Command Window lần lượt từng dòng lệnh (bỏ số thứ tự ở đầu dòng). Hoặc chép cả 6 dòng lệnh vào 1 file .prg rồi Do:

1. SET DEFAULT TO "D:\Data"
2. Use dbf1.dbf
3. SELECT MNV, ngay, LoaiGD, SUM(Ghino) As TienNo, SUM(ghico) as TienCo ;
FROM dbf1 GROUP BY MNV, ngay, LoaiGD WHERE MNV ='AC1' NOWAIT
4. Export to Dbf2.xls type XL5
5. CLOSE DATABASES
6. SET DEFAULT TO


[FONT=&quot]Sau đó thay lần lượt các mã AC2, AC3, ... và đổi tên file .xls tạo thành.
Muốn dùng vòng lặp để chạy lần lượt các mã thì phải tạo thành file .prg để chạy.
[/FONT]
 
Lần chỉnh sửa cuối:
Tôi chưa hiểu ý bạn định nhóm thế nào và cần lấy những gì. Bạn có thể copy khoảng 50 bản ghi bằng lệnh :
Use ...
Copy to <tenfile.dbf> for recno() <51 rồi gửi cho tôi.
 
@ptm0412: THX. mình hiểu sơ sơ rồi. Thì ra trên command thì dùng ngôn ngữ SQL. Bạn có thể giúp mình tìm hiểu thêm phần vòng lặp được không.
Mình còn thắc mắc một chút là các tài khoản AC có dạng AC1, AC2, AC3,....giờ mình muốn lấy chỉ tài khoản dạng AC thì có thể dùng kí hiệu thay thế được không, ? hay * gì đó để lấy toàn bộ tài khoản AC.

@onglao danhca: Cho mình xin lỗi không làm được bạn, dữ liệu nằm trên máy nội bộ, không usb, không internet, không cd,.....muốn copy được cũng khó.
Dù sao củng cám ơn bạn vì mình biết được thêm lệnh copy to <> for recno() <51. Có thể mình dùng cách cắt nhỏ để làm.
 
Thì ra trên command thì dùng ngôn ngữ SQL
Trên Command window dùng ngôn ngữ Fox, chỉ khi nào truy vấn mới có phần giống SQL ở câu Select
Bạn có thể giúp mình tìm hiểu thêm phần vòng lặp được không.
Cũng giống ngôn ngữ lập trình khác thôi:
Mã:
[COLOR=Blue]FOR[/COLOR]
. ...
[COLOR=Blue]ENDFOR[/COLOR]
[COLOR=Blue]DO WHILE
...
ENDDO[/COLOR]
Mình còn thắc mắc một chút là các tài khoản AC có dạng AC1, AC2, AC3,....giờ mình muốn lấy chỉ tài khoản dạng AC thì có thể dùng kí hiệu thay thế được không, ? hay * gì đó để lấy toàn bộ tài khoản AC.
Thay WHERE MNV ='AC1'
bằng
WHERE MNV ='AC'
hoặc
WHERE LEFT(MNV, 2) = 'AC'
 
Lần chỉnh sửa cuối:
Đang vướng phải vấn đề ngày tháng.
Gõ lệnh browse for ngay=(dd/mm/yyyy) thì nó báo "Operator/Operand type mismatch"
Lỗi như vậy là do gì ? Cách xử lý
THX
 
Đang vướng phải vấn đề ngày tháng.
Gõ lệnh browse for ngay=(dd/mm/yyyy) thì nó báo "Operator/Operand type mismatch"
Lỗi như vậy là do gì ? Cách xử lý
THX
Hình như phải có câu
Set Date Fren
Brow for ngay=ctod("......")
Bạn nghiên cứu thử hàm ctod.
 
Bạn dùng dấu ngoặc nhọn để định dạng kiểu dữ liệu ngày tháng (cũng giống y như dùng dấu nháy đơn, nháy kép để bao kiểu dữ liệu chuỗi vậy đó).
browse for ngay={dd/mm/yyyy}
 
bạn phải dùng như thé này:
BROW FOR NGAY=CTOD([DD/MM/YYYY])

Nế bạn dùng dấu ngoặc nhọn thì cú pháp phải như thế này

brow for ngay={^yyyy/mm/dd}
 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT

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

Back
Top Bottom