Tìm trong:Webe-CHÍP

Bộ gõ (kiểu Vni/Telex/Viqr)Tắt (Alt+T)Mở (Alt+M)

 
Trang chủ ĐÓ HỎI, ĐÂY TRẢ LỜI TC 94

Truy vấn trong Access thông qua VBA

Đó hỏi: Em đang học Access. Em muốn rằng khi chạy Append Query hoặc Delete Query thì nó báo tiếng Việt chứ không báo tiếng Anh, chẳng hạn như: "Bạn đã xóa hết dữ liệu trong table..." hoặc "Bạn đã chuyển dữ liệu từ table... sang table...". Em phải làm sao? e-CHÍP giúp dùm em với.

nhabentre@

Đây trả lời: Nếu bạn thiết kế các truy vấn (query) kiểu Append Query hoặc Delete Query rồi cho xử lý bằng hành động OpenQuery thì không thể kiểm soát các thông báo tiếng Anh được, vì đó là những hành động có sẵn của Access.
Bạn phải sử dụng VBA để lập trình xử lý các truy vấn dạng này thông qua Microsoft DAO 3.6 Object Library như sau:
- Giả sử trên biểu mẫu (form) có dính dáng đến hai truy vấn dạng này, bạn vẽ hai nút lệnh có tên cmdAppendRecord và cmdDeleteRecord.
- Nhập đoạn mã tương tự như đoạn mã 1 vào thủ tục xử lý tình huống On Click của hai nút lệnh trên.
Lưu ý: Bạn phải chọn mục References trên trình đơn Tools của bộ soạn thảo VBA để mở hộp thoại References, rồi chọn mục Microsoft DAO 3.6 Object Library hoặc phiên bản mới nhất có thể.
Bạn có thể tham khảo lệnh SQL INSERT INTO sau đây (trong Access Help):
- Để thêm nhiều mẩu tin (record) từ một bảng khác:

INSERT INTO target [(field1[, field2[, ...]])] [IN externaldatabase]
SELECT source.]field1[, field2[, ...]
FROM tableexpression

- Để thêm một mẩu tin:
INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])

Đoạn mã 1

Private Sub cmdDeleteRecord_Click()
     Dim sSQL As String, db As Database
     ‘ Xóa khách hàng có mã SONY    
     sSQL = "DELETE * FROM KhachHang WHERE MaKhachHang='SONY';"
     Set db = CurrentDb   ‘ Chọn database hiện hành
     db.Execute (sSQL)     ‘ Xử lý query
     MsgBox db.RecordsAffected   ‘ Thông báo số record bị xóa
     Set db = Nothing
End Sub
Private Sub cmdAppendRecord_Click()
     Dim sSQL As String, db As Database
     ‘ Thêm khách hàng có mã TOSH, tên TOSHIBA    
     sSQL = "INSERT INTO KhachHang (MaKhachHang, TenKhachHang) VALUES ('TOSH', ‘TOSHIBA’);"
     Set db = CurrentDb
     db.Execute (sSQL)
     MsgBox db.RecordsAffected  ‘ Thông báo số record được thêm vào
     Set db = Nothing
End Sub

CHƯƠNG CAN CHÍP

Cách phát hiện thư mục “trắng”

Đó hỏi: Tôi làm theo hướng dẫn trong mục “Đó hỏi, đây trả lời” trong e-CHÍP số 307 (ra ngày 24-10-2006) để đặt tên thư mục là khoảng trắng và chọn icon cho thư mục cũng là khoảng trắng. Bây giờ thư mục “trắng” này đã biến mất không còn nằm cuối danh sách liệt kê nữa nên tôi không mở được. e-CHÍP hãy giúp tôi truy cập được thư mục này.

<vangdanhthienha25@>

Đây trả lời: Khi bạn mới tạo thì thư mục “trắng” này sẽ nằm cuối danh sách liệt kê trong Explorer nhưng khi bạn khởi động lại Explorer hay thay đổi chế độ View thì vị trí thư mục này sẽ thay đổi theo cách sắp xếp mới (có thể là đầu hay cuối danh sách). Muốn phát hiện thư mục này, trong Explorer bạn mở menu View rồi chọn Thumbnails, bạn sẽ dễ dàng nhận diện được thư mục này vì nó đã được đóng khung.

Chương trình sửa file DLL

Đó hỏi: Cho em hỏi có chương trình nào đọc và chỉnh sửa file .dll không vậy. Nếu có thì cho em link để tải về.
<firedragon174_1987@>
Đây trả lời: Nếu bạn muốn sửa nội dung file theo dạng nhị phân hay theo từng byte thì sử dụng các phần mềm: Hex Edit (http://www.hhdsoftware.com/Products/home/hex-editor-free.html), WinHEX (http://www.x-ways.net/winhex/), UltraEdit32 (http://www.ultraedit.com/). Bạn có thể tham khảo thông tin về các chương trình sửa file dạng này (miễn phí, giá, so sanh, trang chủ...) tại trang Web http://en.wikipedia.org/wiki/Comparison_of_hex_editors.
Nếu bạn muốn sửa chữa hay trích xuất các tài nguyên trong file EXE, DLL, SYS, CPL... (thí dụ: các dòng thông báo, icon, cursor, logo, hình ảnh, hộp thoại, nút bấm...) thì sử dụng các phần mềm: eXeScope (http://hp.vector.co.jp/authors/VA003525/Eindex.htm), Resource Hacker (http://www.angusj.com/resourcehacker/), Restorator 2007 (http://www.bome.com/Restorator/). Bạn tham khảo thêm thông tin về các chương trình sửa file dạng này tại trang Web http://www.freedownloadscenter.com/Best/edit-exe-dll.html.
 

LÊ HOÀN

[Đầu trang]