|
|
|
Quản lý
dữ liệu với ListView |
|
Đó hỏi: Trong VB, em dùng ListView để hiển thị
dữ liệu. Nhờ e-CHÍP chỉ giúp em làm sao khi bấm nút
"thêm mới một bản ghi" thì hộp TextBox tự động tăng
mã số lên cho em. |
|
<bienthanhson@> |
|
 |
|
Đây
trả lời: Để
minh họa tôi trình bày một ví dụ sử dụng ListView,
bạn có thể phát triển thêm, tùy nhu cầu.
Bạn tạo một database có tên QuanLy.MDB, trong đó có
một table có tên tblNhanVien với cấu trúc gồm 2
field: MaSo (Text, 3); Ten (Text, 32).
Tạo mới một project trong VB6 với kiểu Standard EXE.
Chọn Project > Components để thêm component
Microsoft Windows Common Controls 6.0 vào project.
Chọn Project > References để thêm reference
Microsoft ActiveX Data Objects 2.8 Library (hoặc
phiên bản mới nhất) vào project.
Trên form mặc định Form1, lần lượt vẽ một ListView
có tên lstNhanVien; 2 textbox lần lượt có tên:
txtMaSo (thuộc tính Enabled là False), txtTen. Thuộc
tính Text của các textbox được xóa trắng. Vẽ thêm 2
nút lệnh có tên cmdKetThuc và cmdThem như hình 1.
Đặt thuộc tính Name cho form là frmQuanLy.
Vì lstNhanVien cần liệt kê danh sách các nhân viên
gồm 2 cột thông tin Ma so và Ten, nên bạn phải sửa
đổi thuộc tính như sau: bấm phải chuột vào
lstNhanVien, chọn Properties để mở hộp thoại
Property Pages.
Trên tab Column Headers, bấm nút Insert Column để
thêm một cột có thuộc tính Text là Ma so, thuộc tính
Width là 1000; rồi thêm tiếp cột thứ hai có thuộc
tính Text là Ten.
Trên tab General, chọn mục FullRowSelect và
GridLines, chọn mục 3-lvwReport trong danh sách
View.
Chọn Project > Add Module để thêm một Module, đặt
thuộc tính Name cho module là mdlDungChung. Gõ đoạn
mã 1 vào module mới và gõ đoạn mã 2 vào form
frmQuanLy.
Trên form Quản lý nhân viên, bạn cứ việc gõ đầy đủ
tên nhân viên vào mục Ten mà không cần gõ mã số nhân
viên, chương trình tự động tính bằng cách: tìm ra mã
số lớn nhất (có dạng 001, 002, 003,…) rồi tăng lên 1
đơn vị, rồi bấm vào nút <Them> để thêm nhân viên,
lúc đó danh sách lstNhanVien bên trên sẽ hiển thị
nhân viên mới tạo. Muốn sửa đổi thông tin nhân viên
nào thì bấm kép vào dòng có thông tin nhân viên đó.
Nếu bạn muốn sử dụng database và table với tên khác
thì phải sửa lại các tên này trong đoạn mã 2. |
|
Đoạn
mã 1 |
|
Option Explicit
Public MaSoSize As Byte
Public DBConn As ADODB.Connection
Public Function LoadDatabase(ByVal DatabaseName As
String, _
Optional ByVal UserID As String, _
Optional ByVal Password As String) As
ADODB.Connection
Dim conData As ADODB.Connection
Set conData = New ADODB.Connection
conData.Provider = "Microsoft.Jet.OLEDB.4.0"
conData.ConnectionString = "Data Source = " &
DatabaseName
conData.CursorLocation = adUseClient
conData.Open , UserID, Password
Set LoadDatabase = conData
End Function
Public Function SelectNewMaSo(Cn As
ADODB.Connection, _
ByVal
TableName As String) As String
Dim Request As String, RS As ADODB.Recordset
Dim NewMaSo As Long
Request = "SELECT MAX(MaSo) FROM " & TableName
Set RS = Cn.Execute(Request)
If RS Is Nothing Then
NewMaSo = 1
Else
If RS.RecordCount = 0 Then
NewMaSo = 1
Else
RS.MoveFirst
If IsNull(RS.Fields(0).Value) Then
NewMaSo = 1
Else
NewMaSo = Val(RS.Fields(0).Value) +
1
End If
End If
End If
SelectNewMaSo = Format(NewMaSo, String(MaSoSize,
"0"))
End Function |
|
Đoạn
mã 2 |
|
Option
Explicit
' Liệt kê tất cả nhân viên trong ListView
Private Sub ListNhanVien()
Dim rsData As ADODB.Recordset
Set rsData = DBConn.Execute("SELECT MaSo, Ten
FROM tblNhanVien")
lstNhanVien.ListItems.Clear
If rsData.RecordCount > 0 Then
rsData.MoveFirst
Do Until rsData.EOF Or rsData.BOF
With lstNhanVien.ListItems.Add(, ,
rsData("MaSo").Value & "")
.SubItems(1) = rsData("Ten").Value &
""
End With
rsData.MoveNext
Loop
End If
End Sub
Private Sub cmdThem_Click()
Dim Request As String, NewMaSo As String, rsData
As Recordset
If cmdThem.Caption = "Them" Then
' Tính mã số cho nhân viên mới
NewMaSo = SelectNewMaSo(DBConn,
"tblNhanVien")
Me.txtMaSo.Text = NewMaSo
' Chuẩn bị thêm mới vào table
Request = "INSERT INTO tblNhanVien VALUES('"
& NewMaSo & "'," & _
"'" & Replace(Me.txtTen.Text, "'", "''")
& "')"
Else
' Chuẩn bị cập nhật vào table
Request = "UPDATE tblNhanVien SET Ten = '" &
_
Replace(Me.txtTen.Text, "'", "''") & "'"
Request = Request & " WHERE MaSo = '" &
Me.lstNhanVien.SelectedItem.Text & "'"
' Đổi caption thành Them
cmdThem.Caption = "Them"
End If
' Xử lý query
DBConn.Execute Request
ListNhanVien
lstNhanVien.Enabled = True
End Sub
Private Sub cmdKetThuc_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim rsData As ADODB.Recordset
' Nạp database
Set DBConn = LoadDatabase(App.Path &
"\QuanLy.mdb")
Set rsData = DBConn.Execute("SELECT MaSo FROM
tblNhanVien")
MaSoSize = rsData.Fields(0).DefinedSize ‘ Kích
thước cột mã số
' Đếm số nhân viên trong table
Set rsData = DBConn.Execute("SELECT Count(*)
FROM tblNhanVien")
' Nếu có nhân viên trong table thì liệt kê
If rsData.Fields(0).Value > 0 Then
ListNhanVien
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
DBConn.Close
End Sub
Private Sub lstNhanVien_BeforeLabelEdit(Cancel As
Integer)
Cancel = 1
End Sub
Private Sub lstNhanVien_DblClick()
If Not (lstNhanVien.SelectedItem Is Nothing)
Then
Me.txtTen.Text =
lstNhanVien.SelectedItem.SubItems(1)
Me.txtMaSo.Text =
lstNhanVien.SelectedItem ' Cột mã số
lstNhanVien.Enabled = False
cmdThem.Caption = "Cap nhat"
End If
End Sub |
|
Chạy
Norton Antivirus trong DOS |
|
Đó
hỏi: Em muốn
khởi động chương trình diệt virus symantec antivirut
để diệt virus trong DOS thì phải làm như thế nào?
Xin hướng dẫn chi tiết cho em. |
|
<hoangmyhi@> |
Đây
trả lời: Cách
đơn giản và nhanh nhất là bạn tìm mua đĩa CD boot
e-CHÍP ở các cửa hàng dịch vụ Tin học. Khởi động
bằng đĩa này rồi làm theo các bước sau: chọn “Khoi
dong DOS BootCD” > chọn “Quet Virus” > chọn “Norton
Antivirus” > chọn kiểu quét là quét toàn bộ file hay
chỉ quét file chương trình > chọn cách diệt là nhắc
nhở khi sửa hay xóa file hay tự động gỡ bỏ virus,
xóa file > chọn ổ đĩa để quét > sau khi quét ổ đĩa
đã chọn xong, bạn có thể cho quét ổ đĩa khác.
Chú ý: Phiên bản NAV chạy trong môi trường DOS chỉ
hỗ trợ ổ đĩa có định dạng FAT. |
|
 |
|
Bạn có thể chép thư mục
Dostool/NAV trên đĩa CD xuống ổ cứng, cập nhật các
file nhận dạng virus mới nhất cho NAV bằng cách tải
file exe cập nhật tại địa chỉ
http://securityresponse.symantec.com/avcenter/download/pages/US-N95.html
> giải nén file exe vào 1 thư mục tạm có sẵn trên
máy bằng dòng lịnh “[tên file exe] /dump c:\[tên thư
mục có sẵn]” (td: 20070623-007-i32.exe /dump d:\3) >
chép file virscant.dat và 9 file từ virscan1.dat đến
virscan9.dat từ thư mục tạm vào thư mục NAV để thay
thế các file cũ). Sau đó, bạn chạy trực tiếp NAV
trên ổ cứng bằng cách kích hoạt file NAVDX.EXE (gõ
lịnh navdx.exe /? để tham khảo thông số của lịnh). |
Đây
trả lời: Để gỡ
bỏ các thành phần không cần sử dụng của bộ Nero 7,
bạn vào Control Panel > Add or Remove Programs > bấm
nút Change or Remove Programs ở bên trái và tìm đến
chương trình Nero 7 trong khung liệt kê để bấm nút
Change > chọn Modify (hay mở Start > All Programs >
Nero 7 > Nero ProductSetup > chọn Modify your Nero
products).
Trong cửa sổ Custom Setup, bạn bấm phím phải chuột
vào từng thành phần muốn gỡ bỏ, thí dụ: Nero
StartSmart, Nero CoverDesigner... rồi chọn lịnh This
feature will not be available trong menu ngữ cảnh
(nếu muốn gỡ bỏ các thành phần con thì bạn bấm chuột
vào dấu + và chọn tương tự) > bấm Next để tiến hành
gỡ bỏ các thành phần đã chọn. |
|
LÊ HOÀN |
|
[Đầu trang] |
|
|
|