|
|
|
Lọc danh
sách trong VB6 |
|
Đó hỏi: Xin e-CHÍP chỉ giúp cho em cách làm sao
cho khi đánh vào một text box từ nào đó thì list box
sẽ hiện lên một danh sách có những từ gần giống
(tương tự như từ điển Lạc Việt, KZot,...). Em đang
xài VB6. |
|
<dora.y2k@> |
|
Đây
trả lời: Để
lọc danh sách phải sử dụng một query có điều kiện
Where dựa trên nội dung của text box và field có dữ
liệu cần lọc. Ví dụ, trong VB6, bạn tạo một project
mới theo kiểu Standard EXE. Trên form Form1 mặc
định, vẽ một text box có tên Text1, một list box có
tên List1. Dữ liệu trong List1 được lấy từ database
NWIND.MDB có sẵn trong thư mục cài đặt VB6. Bạn gõ
vào đoạn mã 1.
|
|
Bạn
nhấn F5 để chạy thử. Mỗi lần gõ một chữ cái, danh
sách sẽ được lọc, đồng thời tự động tìm đến mục có
từ đầu tiên (nếu có) giống với từ đang gõ (hình 1).
Bạn lưu ý, trong dòng lệnh đầu tiên của thủ tục
Text1_Change, ngay sau InStr(CompanyName là dấu
phẩy, một dấu nháy đơn và một dấu nháy kép; ngay sau
dấu & cuối cùng là một dấu nháy kép và một dấu nháy
đơn. |
|
Đoạn
mã 1 |
|
Option Explicit
Private Declare Function SendMessage Lib "User32"
Alias "SendMessageA" (ByVal _
hWnd As Long, ByVal wMsg As Integer, ByVal
wParam As String, _
lParam As Any) As Long
Const LB_FINDSTRING = &H18F
Private Sub Form_Load()
TaoList ("")
End Sub
Private Sub Text1_Change()
TaoList ("InStr(CompanyName,'" & Text1.Text &
"') <> 0")
List1.ListIndex = SendMessage(List1.hWnd,
LB_FINDSTRING, Text1, ByVal Text1.Text)
End Sub
Sub TaoList(sDieuKien)
Dim db As Database, rs As Recordset
Dim sSQL As String
Set db = OpenDatabase("C:\Program
Files\Microsoft Visual Studio\VB98\NWIND.MDB")
sSQL = "SELECT CompanyName " & "FROM Customers "
& _
IIf(sDieuKien = "", "", "WHERE " &
sDieuKien & " ") & _
"ORDER BY CompanyName;"
Set rs = db.OpenRecordset(sSQL)
With List1
.Clear
If Not rs.EOF Then
rs.MoveFirst
End If
Do While Not rs.EOF
.AddItem rs!CompanyName
rs.MoveNext
Loop
End With
End Sub |
|
Hình
1 - Lọc danh sách và tự động tìm |
|
 |
|
CHƯƠNG CAN CHÍP |
|
Cài Windows XP và Vista trên cùng 1 máy |
|
Đó
hỏi:
Hướng dẫn giúp em cài
Vista và XP trên cùng một máy, em đã cài Vista sau
cùng nhưng vẫn không có menu dualboot, có cách nào
khác để cài không? |
|
<maikhongquenaa12@> |
|
 |
Đây
trả lời:
Bạn có thể cài Windows
và Vista trên cùng 1 máy theo 2 cách dưới đây:
1. Đầu tiên bạn cài Windows XP, sau đó bạn vào XP để
cài Windows Vista - lưu ý là bạn bắt buộc phải cài
Windows Vista vào phân vùng NTFS và không được cài
đè vào thư mục của Windows XP – từ đĩa DVD. Chương
trình cài Vista sẽ tự động dò tìm hệ điều hành đang
có trên máy để tạo menu Dual boot. Cài 2 Windows
theo cách này đơn giản hơn nhưng mỗi khi có 1 hệ
điều hành bị trục trặc thì việc cài lại phức tạp hơn
và dễ có nguy cơ phải cài lại cả 2 Windows. Muốn xóa
bớt 1 Windows cũng không đơn giản chút nào. |
2. Bạn dùng Partition
Magic tạo 2 partition trong vùng Primary rồi lần
lượt active từng partition để cài từng hệ điều hành
(khi một partition được active thì partition còn lại
sẽ tự động ẩn) như cài trong 2 máy khác nhau. Sau
đó, bạn cài Boot Magic (có trong bộ Partition Magic)
trong 1 partition FAT của vùng Extanded để tạo menu
Dual boot hay chạy Pqboot.exe (cũng có trong bộ
Partition Magic) để chỉ định partition khởi động
trong môi trường DOS. Tham khảo trang Web
http://www.echip.com.vn/echiproot/html/2006/305tt/hoidap.html
để biết thêm thông tin.
Cài 2 Windows theo cách này thì phức tạp hơn, khi
cần chuyển qua lại 2 hệ điều hành cũng mắc công hơn
nhưng bù lại 2 Windows sẽ hoàn toàn độc lập không
ảnh hưởng lẫn nhau và việc cài đặt cũng như xóa từng
hệ điều hành rất dễ dàng. |
|
LÊ
HOÀN |
|
[Đầu trang] |
|
|
|