Thứ Hai, 14 tháng 1, 2008

Tạo bản in trong VB6

Đó hỏi: Làm thế nào để tạo bản in trong VB6? Em đang viết chương trình quản lý điện thoại mà không biết tạo bản in. <840976931930@>

Đây trả lời: Để tạo bản in trong VB6, bạn có thể sử dụng công cụ Data Report có sẵn của VB6 hoặc công cụ của hãng khác như Crystal Report chẳng hạn (tính năng của Data Report không nhiều bằng Crystal Report). Ví dụ sau đây giúp bạn sử dụng dễ dàng Data Report để in danh sách khách hàng từ table Customers trong NWIND.MDB có sẵn ở thư mục C:\Program Files\Microsoft Visual Studio\VB98. Trong VB6, bạn tạo một project kiểu Standard EXE. Vì một report cần sử dụng dữ liệu từ một table nên bạn cần chọn Project > Add Data Environment để thêm đối tượng DataEnvironment có tên DataEnvironment1. (Nếu trên trình đơn Project không thấy mục Add Data Environment, bạn chọn Project > Components để mở hộp thoại Components, chọn thẻ Designers và chọn Data Environment.) Trong cửa sổ DataEnvironment, chọn đối tượng Connection1. Đây là đối tượng dùng để kết nối với một database Access (hoặc loại khác). Để kết nối, bấm-phải vào đối tượng Connection1, chọn Properties để mở hộp thoại Data Link properties: - Trong thẻ Provider chọn mục Microsoft Jet 4.0 OLE DB Provider. - Trong thẻ Connection gõ tên tập tin .MDB cần kết nối (với đầy đủ đường dẫn), hoặc bấm nút <…> để chọn. Bấm Test Connection để kiểm tra, nếu nhận được thông báo Test Connection Succeeded thì mới làm tiếp được. Bạn bấm OK để tạo kết nối (mở NWIND.MDB). Để mở một table đưa vào report, bạn phải tạo một Command thuộc kết nối Connection1: bấm-phải vào đối tượng Connection1, chọn Add Command để tạo đối tượng Command1. Bấm-phải vào đối tượng Command1, chọn Properties để mở hộp thoại Command1 Properties. Trong thẻ General, chọn Table trong danh sách Database Object, rồi chọn Customers trong danh sách Object Name. Hình 1 minh họa việc mở thành công table Customers.

Hình 1: Data Environment

Để thêm một Report, chọn Project > Add Data Report, một đối tượng DataReport1 được tạo ra như hình 2. Để quy định report này sử dụng table Customers, bạn đặt thuộc tính của DataReport1 như sau: DataSourceDataEnvironment1; DataMember Command1. Trên hộp công cụ DataReport bên trái, bạn có thể sử dụng công cụ RptLabel để vẽ các label (như “DANH SACH KHACH HANG” trong hình 2), RptTextBox để vẽ các text box dùng hiển thị dữ liệu từ một field trong table. Trong ví dụ này, bạn vẽ một text box để in nội dung field ContactName bằng cách đặt thuộc tính của text box như sau: DataMemberCommand1; DataFieldContactName.

Hình 2: Đối tượng Data Report

Ngoài ra, công cụ RptImage dùng để đặt một hình ảnh lên report, công cụ RptLine dùng để vẽ các đường kẻ, công cụ RptShape dùng để vẽ các hình (hình chữ nhật, tròn, tam giác,...), công cụ RptFunction dùng để đặt các hàm tính toán (như Sum, Count, AVG, Min, Max,...) vào cuối report (phần Report Footer). Sau khi thiết kế xong report, để in report ra giấy, bạn dùng các lệnh:

‘ Có hiển thị hộp thoại chọn thông số máy in DataReport1.PrintReport True ‘ Không hiển thị hộp thoại chọn thông số máy in DataReport1.PrintReport False Để hiển thị report lên màn hình, bạn dùng lệnh: DataReport1.Show

Từng bước làm chủ Ubuntu

Qua bài viết này, các bạn có thể thấy rằng không có gì khó khăn lắm trong việc sử dụng hệ điều hành miễn phí, mã nguồn mở Ubuntu - một giải pháp thay thế cho Windows khi vấn đề bản quyền và chi phí được đặt ra, nhất là đối với các doanh nghiệp. Mã nguồn mở và miễn phí, dễ dàng cài đặt và sử dụng, giao diện thân thiện và gần gũi, ứng dụng tích hợp phong phú và thao tác đơn giản, đó là những đặc điểm mà người sử dụng đã và đang nhận ra trong quá trình khai thác hệ điều hành ưu việt này.

Bài viết sẽ hướng dẫn bạn đọc làm quen với hệ điều hành Ubuntu, khai thác các ứng dụng sẵn có. Đồng thời, bạn đọc cũng sẽ hiểu rõ và thực thi được các thao tác quản trị hệ thống như cập nhật, cài đặt, cấu hình... nhằm tối ưu hoá Ubuntu để đạt hiệu quả cao trong công việc của mình.

1. Làm quen với Ubuntu

- Thay đổi background: sau khi đăng nhập, bạn có thể thay đổi background của màn hình làm việc bằng cách bấm chuột phải lên desktop, chọn Change Desktop Background. Trong hộp thoại hiện ra, bạn chọn một background phù hợp trong danh sách. Bạn cũng có thể chọn các background khác trên đĩa cứng của mình bằng cách bấm nút Add Wallpaper, trỏ đến vị trí lưu background mong muốn. Cuối cùng, bấm nút Finish để hoàn thành thao tác này.

- Tạo file và thư mục: bạn có thể tạo file hoặc thư mục ngay trên desktop bằng cách bấm chuột phải, chọn Create Folder hoặc Create Document > Empty File. Thao tác này cũng được thực hiện một cách tương tự khi bạn di chuyển vào các thư mục của hệ thống.

- Hiệu chỉnh số lượng workspace: không giống như Windows, bạn có thể làm việc với máy tính Ubuntu trên nhiều màn hình làm việc khác nhau (virtual screen - workspace). Theo mặc định, Ubuntu có sẵn 2 workspace dành cho bạn. Nếu muốn tăng hoặc giảm số lượng, bạn kích chuột phải vào biểu tượng Workspace Switcher ở góc phải bên dưới của màn hình làm việc, chọn Preferences. Tại màn hình Workspace Switcher Preferences, bạn thay đổi số lượng workspace ở mục Number of workspaces. Nếu muốn di chuyển qua lại giữa các workspace, bạn bấm tổ hợp phím Ctrl-Alt-Allow Key.

- Thiết lập screensaver: để thiết lập screensaver nhằm hiển thị các hình ảnh chuyển động khi máy tính ở trong thời gian không sử dụng, bạn vào menu System > Preferences, chọn Screensaver. Trong màn hình Screensaver Preferences, bạn chọn một hình ảnh phù hợp, điều chỉnh thời gian để screen xuất hiện (mặc định là 10 phút). Nếu muốn Ubuntu khóa màn hình khi screensaver có hiệu lực, bạn đánh dấu chọn vào mục Lock screen when screensaver is active. Sau khi đã hoàn thành, bấm nút Close để lưu lại những thay đổi vừa mới thiết lập.

- Làm việc với file và thư mục: Ubuntu cung cấp công cụ Nautilus giúp chúng ta quản lý hệ thống file và thư mục. Với công cụ này, bạn có thể tạo, sửa, xóa và thực hiện mọi thao tác truy cập tài nguyên nội bộ và trong mạng một cách đơn giản. Trên cửa sổ chính của Nautilus, bạn có thể duyệt toàn bộ hệ thống file cục bộ bằng cách bấm vào biểu tượng Computer. Nếu muốn truy cập tài nguyên trong mạng, bạn vào menu Go, chọn Network.

2. Khai thác ứng dụng trên Ubuntu

Tất cả các ứng dụng sẵn có trên Ubuntu và những ứng dụng được cài đặt bổ sung đều được sắp xếp vào các mục trong menu Applications. Cụ thể:

- Accessories: chứa những ứng dụng cơ bản thường dùng trên Ubuntu như Calculator, Terminal (cửa sổ dòng lệnh), Text Editor (tương tự Notepad). Mục này cũng chứa tiện ích chụp màn hình Take Screenshot.

Take Screenshot có 2 cách để chụp màn hình. Với tùy chọn Grab the whole desktop, bạn chụp toàn bộ màn hình; với Grab the current window, bạn có được cửa sổ đang tương tác hiện tại. Sau khi nhấn nút Task Screenshot, bạn nhập tên của ảnh và chọn vị trí để lưu.

- Graphics: chứa những ứng dụng tương tác với ảnh như F-Spot với khả năng tổ chức và chia sẻ hình ảnh, GIMP được xem như trình xử lý ảnh tương tự Photoshop, gThumb với tính năng tổ chức lưu trữ và xem ảnh, XSane được dùng để scan.

- Internet: bao gồm các ứng dụng được dùng để khai thác và trao đổi thông tin trên Internet. Tiêu biểu với trình duyệt Firefox, tiện ích gửi nhận email Evolution và công cụ chat Gaim Internet Messenger.

Bên cạnh đó, Ubuntu còn cài sẵn tiện ích Terminal Server Client cho phép quản trị server từ xa. Nếu muốn sử dụng Ubuntu để quản trị một server chạy hệ điều hành Windows 2003 Server từ xa, bạn vào menu Applications > Internet, chọn Terminal Server Client. Trong cửa sổ hiện ra, bạn nhập tên hoặc địa chỉ IP của máy Windows, username, password và domain mà máy Windows đã kết nối vào. Sau khi nhập xong, bấm nút Connect. Sau một vài giây, màn hình đăng nhập của Windows sẽ xuất hiện, bạn nhập mật khẩu của account đã tạo ra trên Windows để bắt đầu quản trị hệ thống của mình.

Theo mặc định, trình Terminal Server Client sử dụng chế độ hiển thị được thiết lập sẵn khi kết nối đến hệ thống từ xa để quản trị. Chế độ này gây khó khăn cho người quản trị khi thực hiện các thao tác từ xa vì không gian của màn hình bị thu hẹp lại.

Để khắc phục, trên cửa sổ Terminal Server Client, bạn chọn tab Display, thay đổi tùy chọn Use default screen size thành Operate in full screen mode. Với tùy chọn mới này, bạn có thể điều chỉnh kích cỡ của màn hình làm việc từ xa theo ý mình bằng tổ hợp phím Ctrl-Alt-Enter.

- Office: bao gồm những ứng dụng xử lý văn bản (Word Processor), thao tác với bảng tính điện tử (Spreadsheet), tạo trang trình chiếu (Presentation) và tạo lập cơ sở dữ liệu (Database).

- Sound & Video: gồm các tiện ích hỗ trợ giải trí. Bạn có thể tham khảo bài viết Giải trí đa phương tiện trên Ubuntu đăng trên LBVMVT số 231 để biết chi tiết các bước cài đặt và sử dụng các tiện ích này.

3. Quản trị Ubuntu

Các thao tác quản trị hệ thống Ubuntu bao gồm cài đặt, cấu hình và cập nhật các phần mềm; thiết lập các thông số mạng; quản lý máy in; quản trị tài khoản... Những chức năng chính mà bạn thường sử dụng sẽ là:

- Add/Remove: chức năng này được tổ chức trong menu Applications. Bạn sử dụng để cài đặt và loại bỏ các phần mềm trong Ubuntu và trên danh sách sẵn có.

Để cài đặt một phần mềm, chẳng hạn trình gửi nhận email Thunderbird, bạn đánh dấu chọn vào ô ngay trước tên của phần mềm này, tiếp đến bấm nút OK, chọn Apply và nhập mật khẩu quản trị hệ thống. Sau bước này, Ubuntu sẽ download và cài đặt phần mềm lên hệ thống của bạn. Để hoàn thành, bạn bấm nút Close trong hộp thoại Changes applied.

Thao tác loại bỏ cũng được thực hiện một cách tương tự. Bạn bỏ dấu chọn tại ô ngay trước tên phần mềm và thực hiện các bước như đã nêu ở trên.

- Places: menu này bao gồm các chức năng cho phép bạn khai thác tài nguyên trên máy tính Ubuntu như Home Folder, Desktop, Computer, Search for Files... Bạn cũng có thể khai thác tài nguyên trên mạng với chức năng Network.

- Preferences: nằm trong menu System, chức năng này cho phép bạn thực hiện các thay đổi trên hệ thống như thiết lập lại các phím nóng đối với các chức năng trên Ubuntu, đổi cấu hình hoạt động của chuột. Bạn cũng có thể điều chỉnh độ phân giải, tạo lập các session để các ứng dụng có thể khởi động cùng lúc với Ubuntu. Ngoài ra, nếu muốn cho phép các máy tính khác quản trị hệ thống Ubuntu từ xa, bạn chọn Remote Desktop.

Trong màn hình Remote Desktop Preferences, bạn đánh dấu chọn vào ô Allow other users to control your desktop để cấp phép quản trị từ xa. Các máy tính thực hiện thao tác quản trị Ubuntu từ xa bằng cách sử dụng tiện ích VNC Viewer, nhập mật khẩu mà bạn đưa vào ở mục Password.

- Administration: bao gồm các chức năng được dùng để tương tác với hệ thống. Tại menu này, chúng ta có thể cấu hình các thông số mạng (Network), cấu hình máy in (Printing); bật/tắt các dịch vụ hệ thống (Service).

Chức năng System Monitor cho phép bạn theo dõi trạng thái hoạt động của bộ vi xử lý. Tương tự như Task Manager trên Windows, bạn có thể xem và tương tác với các tiến trình đang hoạt động trên hệ thống Ubuntu.

Cũng từ menu này, bạn có thể quản lý file log của hệ thống (System Log); quản lý tài khoản đăng nhập (Users and Groups); cấu hình ngày giờ (Time and Date) và chia sẻ tài nguyên (Shared Sources).

Ngoài ra, còn phải kể đến Synaptic Package Manager. Phần mềm này cho phép bạn quản lý tất cả các gói cài đặt trên Ubuntu. Với các tính năng hoàn toàn tương tự công cụ apt-get (tham khảo ở phần sau), Synaptic cho phép bạn cài đặt, cập nhật và loại bỏ các phần mềm. Đồng thời, Synaptic cũng giúp bạn bổ sung các nguồn cài đặt mới (repositories) vào hệ thống.

4. Một số lệnh thường dùng

Dưới đây là một số lệnh được sử dụng phổ biến trên Ubuntu trong quá trình các bạn tương tác với hệ thống.

# wget <địa-chỉ-download>: lệnh này sẽ download các gói cài đặt về thư mục hiện thời. Đây là tiện ích có thể download file từ các HTTP và FTP server, rất thích hợp với những kết nối chậm hoặc không ổn định. Wget có khả năng resume gói download ngay tại vị trí bị ngắt. Để resume, bạn bổ sung REST với FTP server và Range với HTTP server, với điều kiện các server này có hỗ trợ. Nếu muốn wget chạy ở background, chúng ta bổ sung tuỳ chọn -b. Bạn có thể tham khảo đầy đủ các tuỳ chọn bằng cách gõ lệnh man wget tại cửa sổ Terminal.

# aptitude update: aptitude là công cụ quản lý các gói cài đặt thuộc dòng Debian (.deb) ở cấp độ high-level. Chúng ta có thể sử dụng công cụ này để cập nhật danh sách phần mềm; thực hiện các thao tác cài đặt, cập nhật và loại bỏ các phần mềm trên hệ thống.

Chúng ta thường sử dụng aptitude update trước khi cài đặt để cập nhật danh sách các gói từ apt sources (/etc/apt/source.list). Lệnh này tương đương với apt-get update. Bạn có thể tham khảo đầy đủ các tùy chọn bằng cách gõ lệnh man aptitude tại cửa sổ Terminal.

# apt-get install : apt-get cũng là một tiện ích được dùng để tương tác với tất cả các gói cài đặt trên Ubuntu, đặc biệt là chức năng cài đặt phần mềm với apt-get install. Bạn có thể tham khảo đầy đủ các tuỳ chọn bằng cách gõ lệnh man apt-get tại cửa sổ Terminal.

# dpkg -i & # dpkg -e : dpkg (Debian medium-level Package Manager) là công cụ được sử dụng để quản lý các gói cài đặt có phần mở rộng .deb (gói cài đặt nhị phân của các hệ điều hành Debian Linux). Chúng ta có thể dùng dpkg để cài đặt, loại bỏ, cập nhật các phần mềm trên Ubuntu. Bạn có thể tham khảo đầy đủ các tùy chọn bằng cách gõ lệnh man dpkg tại cửa sổ Terminal.

(Theo KHPT)

Kiểm tra nhập liệu trong Visual Foxpro

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?

Đâ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

Tạo bảng Access bằng VB6

Đó hỏi: Xin e-CHÍP hướng dẫn cách viết mã VB6 để kiểm tra xem một bảng nào đó đã có trong cơ sở dữ liệu Access hay chưa và tạo bảng mới dựa trên cấu trúc bảng đã có.

Đây trả lời: Trong VB6, bạn hãy tạo một project mới kiểu Standard EXE. Bạn chọn Project > References để thêm reference Microsoft DAO 3.6 Object Library (hoặc phiên bản mới nhất) vào project. Giả sử trong cùng thư mục chứa ứng dụng này có một database mang tên ViDu.MDB, trong đó có một table mang tên tbCauTrucCoSan và table này có thể có hoặc không có record. Ta sẽ tạo một table mới có tên tbNew từ cấu trúc table tbCauTrucCoSan. Có thể sử dụng đối tượng TableDef để khai báo cấu trúc, nhưng viết mã lệnh hơi rối rắm, dài dòng. Ví dụ này dựa trên một cách làm đơn giản: dùng SQL để tạo một table tbNew từ table tbCauTrucCoSan, rồi xóa các record (nếu có) trong table tbNew. Trên form mặc định Form1, bạn vẽ một nút lệnh có tên cmdCheckCreateTable, rồi gõ đoạn mã 1 vào form. Bạn nên nhập một số record vào table tbCauTrucCoSan để kiểm tra cả hai trường hợp: có hoặc không có record. Sau khi tạo tbNew, bạn thử tạo lần nữa để kiểm tra hàm lTableCoRoi().

Đoạn mã 1

Dim dbViDu As Database ' Khai báo đối tượng Database mới Private Sub cmdCheckCreateTable_Click() Set wrkDefault = DBEngine.Workspaces(0) Set dbViDu = OpenDatabase(App.Path & "\ViDu.mdb") If lTableCoRoi("tbNew") Then MsgBox "Table tbNew có rồi!" Exit Sub End If sSQL = "SELECT * INTO tbNew FROM tbCauTrucCoSan;" dbViDu.Execute (sSQL) ‘ Tạo table mới sSQL = "DELETE * FROM tbNew;" dbViDu.Execute (sSQL) ‘ Hủy các record, nếu có dbViDu.Close End Sub Function lTableCoRoi(sTenTable As String) As Boolean Dim i As Integer lTableCoRoi = False For i = 0 To dbViDu.TableDefs.Count - 1 If UCase(dbViDu.TableDefs(i).Name) = UCase(sTenTable) Then lTableCoRoi = True Exit For End If Next End Function

Kết nối mạng, Sửa lỗi Autorun

Kết nối mạng

Đó hỏi: Khi tôi nối mạng LAN với máy tính B. Lúc đăng nhập vào máy tính B thì máy tôi hiện lên hộp thoại yêu cầu nhập Password cho User Guest của máy B. Làm sao để khắc phục?

Đây trả lời: Ở máy B, mở cửa sổ Group Policy (Run->gpedit.msc), vào Computer Configuration -> Windows Setting -> Security Setting -> Local Policies -> Security Options. Tìm mục “Network access: Sharing and Security model for local accounts” đổi giá trị thành “Classic-local users authenticate as themselves”, “Accounts: Limit local account use of blank to console logon only” thành “Disable”. Khởi động lại máy tính.

Có nên nâng cấp Windows XP SP1 lên XP SP2?

Đó hỏi: Tôi đang dùng hệ điều hành Windows SP1. Nếu như tôi nâng cấp lên hệ điều hành Windows SP2 thì tốc độ truy cập Internet và chạy các ứng dụng khác có được tăng lên đáng kể hay không? Mong được tạp chí giải đáp.

Đây trả lời: Windowns SP2 sửa các lỗi có ở phiên bản SP1, đồng thời thêm vào tiện ích Security Center nâng cấp khả năng bảo mật cho Windows và cải thiện sự ổn định khi chạy chương trình. Nâng cấp các bản Service Pack là nâng cao khả năng ổn định của máy tính chứ không gia tăng tốc độ các ứng dụng.

Sửa lỗi Autorun

Đó hỏi: Sau khi em cài lại hệ điều hành Windows thì không thấy có chức năng Autorun cho một số đĩa game, phần mềm. Ngay cả khi dùng các thiết bị nghe nhạc MP3, MP4 vào không hiện bảng chọn Autoplay. Xin hỏi, phải làm như thế nào để phục hồi chức năng nay?

Đây trả lời: Đối với Windows XP, bạn làm theo hai bước: Bước 1: Mở Windows Explorer, nhấp chuột phải vào ổ đĩa CD-ROM chọn Properties, trong thẻ Autorun chọn mục “Select an action to perferm”, nhấn OK. Bước 2: Mở Start -> Run, nhập lệnh “regedit”, vào “HKEY_CURRENT_USER -> Software -> Microsoft -> Windows -> CurrentVersion -> Policies -> Explorer -> “NoDriveTypeAutorun”, có giá trị mặc định 95 0 0 0, bạn thay đổi thành 91 0 0 0. Khởi động lại máy tính.

Tạo chương trình "quay số" bằng Access

Tạo chương trình "quay số" bằng Access

Đó hỏi: Trong Access em muốn tạo chương trình "quay số". Nghĩa là khi bấm nút "Bắt đầu", dãy số gồm 5 chữ số chạy hỗn loạn; bấm nút "Kết quả" thì đưa ra dãy số gồm 5 chữ số ngẫu nhiên từ những chữ số "hỗn loạn" đó. Xin quý báo giúp em!

Đây trả lời: Có 2 vấn đề cần giải quyết: • Để tạo hiệu ứng chữ số chạy hỗn loạn, bạn chỉ cần thay đổi liên tục trị của chữ số theo một chu kỳ khoảng 5% giây (hoặc ít hơn tùy bạn). Do vậy, trên form Access, bạn phải sử dụng thuộc tính TimerInterval và thủ tục xử lý tình huống On Timer. • Để tạo trị số ngẫu nhiên của một số nguyên trong khoảng từ M đến N, bạn sử dụng hàm Randomize và công thức: Int((N * Rnd()) + M). Ví dụ, bạn tạo form tương tự như hình 1, gồm 5 text box có tên lần lượt (theo thứ tự từ trái sang phải): txtSo1, txtSo2, txtSo3, txtSo4, txtSo5 (có thuộc tính Locked = Yes, để người sử dụng không thay đổi được trị của số, bảo đảm tính trung thực của kết quả) và 2 nút lệnh có tên cmdBatDau và cmdKetQua. Xong, bạn gõ vào đoạn mã 1. Bạn có thể "chế biến" thêm để khi bấm nút "Kết quả", các số từ từ dừng lại (bằng cách tăng dần trị số của thuộc tính TimerInterval và đạt trị bằng 0 khi muốn số dừng lại ở kết quả cuối cùng).

Đoạn mã 1

Private Sub cmdBatDau_Click() Me.TimerInterval = 50 Randomize ' Khởi động bộ tạo số ngẫu nhiên End Sub Private Sub cmdKetQua_Click() Me.TimerInterval = 0 End Sub Private Sub Form_Timer() ‘ Tạo số ngẫu nhiên từ 0 đến 9 txtSo1 = Int((9 * Rnd()) + 0) txtSo2 = Int((9 * Rnd()) + 0) txtSo3 = Int((9 * Rnd()) + 0) txtSo4 = Int((9 * Rnd()) + 0) txtSo5 = Int((9 * Rnd()) + 0) End Sub

Hình 1: Form cần thiết kế