|
Kiểm tra
nhập liệu trong Visual Foxpro |
|
Đó hỏi: Trong Visual Foxpro em đang thiết kế
form để nhập liệu. Cần viết câu lệnh gì để chương
trình hiển thị thông báo lỗi khi xảy ra trường hợp
trùng khóa chính do lỗi nhập liệu? <hongtho_tv@> |
|
Đây
trả lời:
Để bạn tham khảo, tôi trình bày một phương pháp đơn
giản, sử dụng những gì có sẵn của Visual Foxpro
(VFP). Giả sử bạn cần thiết kế form để nhập liệu cho
tập tin KH_Code.DBF. Tập tin này có field Ma_KH được
xem là khóa chính. Trong VFP, bạn chọn Tools >
Wizards > Form. Trong hộp thoại Wizard selection,
chọn mục Form wizard, bấm OK. Trong hộp thoại Step 1
– Select Fields, chọn Free Tables ở mục Databases
and tables, bấm nút […] để mở bảng KH_Code. Bạn chọn
các field (trong danh sách Available Fields) cần
hiển thị trên form (ví dụ: Ma_KH và Ten_KH) bằng
cách bấm kép vào tên field.
Bấm Next để chuyển sang hộp thoại kế tiếp. Trong hộp
thoại này, bạn lại bấm Next để chấp nhận kiểu form
mặc định và chuyển sang hộp thoại kế tiếp.
Tiếp tục bấm Next để chuyển sang hộp thoại Finish.
Trong hộp thoại này, chọn Save form and modify it in
the Form Designer, rồi bấm Finish để lưu form và mở
form để sửa đổi (hình 1). Form vừa tạo có nhóm các
nút lệnh do chính VFP tạo ra, nên thủ tục xử lý các
tình huống Click của chúng đều được mặc định.
Chọn View > Data Environment. Trong cửa sổ Data
Environment (hình 2), bấm kép vào vùng trống để mở
cửa sổ soạn thảo mã lệnh cho Data Environment, lần
lượt gõ vào thủ tục xử lý tình huống OpenTables
(đoạn mã 1) và CloseTables (đoạn mã 2) của
DataEnvironment.
Tiếp theo, bấm kép vào nhóm các nút lệnh để mở cửa
sổ soạn thảo mã lệnh cho form. Sử dụng combo box
Object và Procedure để gõ vào thủ tục xử lý tình
huống Click của nút lệnh cmdAdd (đoạn mã 3) và nút
lệnh cmdDelete (đoạn mã 4). |
|
Đoạn
mã 1 |
|
SELECT 0
‘ Tạo danh sách các mã khách
hàng có rồi
CREATE CURSOR curListKH (Ma_KH C(7))
INDEX ON Ma_KH TAG Ma_KH
APPEND FROM
D:\VisualFoxpro9\KiemTraNhapTrungKhoaChinh\KH_Code.DBF |
|
Đoạn
mã 2 |
|
IF USED("curListKH")
‘ Xóa danh sách trước khi kết
thúc
USE IN curListKH
ENDIF |
|
Đoạn
mã 3 |
|
IF "Save"$ This.Caption
‘ Vì nút lệnh Add và Save sử
dụng chung
IF SEEK(ThisForm.MA_KH1.Value, "curListKH")
=MESSAGEBOX("Ma KH co roi!",0+16)
ThisForm.MA_KH1.SetFocus
‘ Ma_KH1 là text box nhận dữ
liệu cho Ma_KH
RETURN
ENDIF
SELECT curListKH
APPEND BLANK ‘ Thêm mã
khách hàng vào danh sách tra cứu
REPLACE Ma_KH WITH ThisForm.MA_KH1.Value
SELECT KH_Code
ENDIF
=DODEFAULT() ‘ Thực thi
mã lệnh mặc định của nút lệnh |
|
Đoạn
mã 4 |
|
SELECT curListKH
SEEK ThisForm.MA_KH1.Value
DELETE ‘ Xóa mã khách
hàng khỏi danh sách tra cứu
SELECT KH_Code
=DODEFAULT() ‘ Thực thi
mã lệnh mặc định của nút lệnh |
|
Hình
1: Form cần thiết kế |
|
 |
|
Hình
2: Cửa sổ Data Environment |
|
 |
|
CHƯƠNG CAN CHÍP |
|
Internet
Explorer 7 hay báo lỗi |
|
Đó hỏi:
1. Máy tính của tôi
cài Windows Vista, tôi đã lỡ tay xóa mất biểu tượng
giỏ rác ở Desktop, giờ không biết phải phục hồi từ
đâu?
2. Tôi dùng hai trình duyệt Web: Internet Explorer 7
của Windows Vista và Mozilla Firefox. Không biết tại
sao khi mở cùng lúc nhiều cửa sổ Internet Explorer
thì bình thường, tuy nhiên khi đóng một trong các
cửa sổ đó đi thì có báo lỗi “INTERNET EXPLORER HAS
STOPPED WORKING: A problem caused the program to
stop working correctly. Windows will close the
program and notìy you if solution is available.” ,
rồi đóng tất cả các cửa sổ trình duyệt và chạy cửa
sổ mới lại từ đầu. Vậy máy bị lỗi gì? Cách Khắc phục
như thế nào? <thanhhuyen1976@> |
|
Đây
trả lời:
1. Để lấy lại biểu tượng giỏ rác, bạn nhấp chuột
phải vào Desktop chọn Personalize->Change Desktop
Icon (ở góc phải cửa sổ), chọn Recycle Bin nhấn OK. |
|
 |
|
2.
Hiện tượng trên do trình duyệt Internet Explorer bị
lỗi và máy tính bị nhiễm virus hoặc malware. Bạn hãy
làm theo các bước sau:
Bước 1 : Tiến hành cập nhật Windows tại địa chỉ
Website (http://windowsupdate.microsoft.com/).
Bước 2 : Dùng chương trình Windows Defender quét
virus toàn bộ hệ thống. |
|
Khai Trí |
|
[Đầu trang] |