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 96

Dùng BOF và EOF của Recordset trong VB6

Đó hỏi: Nhờ e-CHÍP hướng dẫn sửa đoạn mã lập trình VB6 của tôi (đoạn mã 1). Khi đang ở bản ghi đầu tiên, tôi bấm nút lệnh <Xem trước> thì không thấy xuất hiện thông báo, mà lại chuyển sang một bản ghi trắng, bấm lần nữa thì mới nhận được thông báo "Đây là bản ghi đầu tiên!". Tương tự, khi đang ở bản ghi cuối cùng, bấm nút lệnh <Xem sau> thì lại thấy bản ghi trắng, bấm lần nữa thì mới thấy thông báo "Đây là bản ghi cuối cùng!". Xin giải thích tại sao?

<wool0111@>

Đây trả lời: VB6 đã thực hiện đúng những gì bạn thể hiện trong đoạn mã 1. Chỉ có điều bạn sắp xếp các lệnh không đúng trật tự cần có để đáp ứng yêu cầu đặt ra.
BOF có nghĩa là đầu tập tin (Begin Of File), chứ không phải bản ghi đầu tiên, cho nên nó chỉ trả về trị True khi đã ở đầu tập tin, tức là: nếu đang ở bản ghi đầu tiên, phải MovePrevious một lần nữa thì mới đến vị trí đầu tập tin.
Tương tự, EOF có nghĩa là cuối tập tin (End Of File), chứ không phải bản ghi cuối cùng, cho nên nó chỉ trả về trị True khi đã ở cuối tập tin, tức là: nếu đang ở bản ghi cuối cùng, phải MoveNext một lần nữa thì mới đến vị trí cuối tập tin.
Do đó, bạn nên sửa đoạn mã 1 thành đoạn mã 2.

Đoạn mã 1

Private Sub cmdXemTruoc_Click()
If Adodc1.Recordset.BOF Then
  MsgBox ("Đây là bản ghi đầu tiên!")
Else
  Adodc1.Recordset.MovePrevious
End If
End Sub
Private Sub cmdXemSau_Click()
If Adodc1.Recordset.EOF Then
  MsgBox ("Đây là bản ghi cuối cùng!")
Else
  Adodc1.Recordset.MoveNext
End If
End Sub

Đoạn mã 2

Private Sub cmdXemTruoc_Click()
‘ Cứ cho nhảy lùi

Adodc1.Recordset.MovePrevious

‘ Rồi mới kiểm tra

If Adodc1.Recordset.BOF Then
  MsgBox ("Đây là bản ghi đầu tiên !")

  ‘ Về bản ghi đầu tiên nếu không lùi được

  Adodc1.Recordset.MoveFirst
End If
End Sub
Private Sub cmdXemSau_Click()

‘ Cứ cho nhảy tới

Adodc1.Recordset.MoveNext

‘ Rồi mới kiểm tra

If Adodc1.Recordset.EOF Then
  MsgBox ("Đây là bản ghi cuối cùng !")

  ‘ Đến bản ghi cuối cùng nếu không tới được

  Adodc1.Recordset.MoveLast
End If
End Sub

CHƯƠNG CAN CHÍP

Khôi phục mục chọn Show hidden files and folder

Đó hỏi: Em ẩn thư mục sau đó vào Tools/ Folder Option../View/. Nhưng chỉ có mục Do not Show hidden files and folders mà không có dòng Show hidden files and folder để em hiển thị lại thư mục đã ẩn. Xin e-CHÍP chỉ giùp em.

Đây trả lời: Cách khắc phục như sau:
1. Mở Start > Run, gõ lịnh Regedit và bấm OK để chạy chương trình Registry Editor.
2. Trong khung bên trái cửa sổ Registry Editor, bạn tìm đến khóa HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
3. Trong khung bên phải, tìm và xóa 2 khóa có tên CheckedValue và DefaultValue. Sau đó, lần lượt tạo lại 2 khóa này như sau:
- Bấm phím phải chuột vào vùng trống trong khung bên phải, chọn lịnh New/ DWORD Value trong menu ngữ cảnh > đặt tên cho khóa là CheckedValue > bấm kép chuột vào khóa mới tạo rồi gõ giá trị 1 vào ô Value data và bấm OK.
- Làm tương tự như trên để tạo khóa DefaultValue với giá trị là 2.

Khắc phục lỗi “onLookupfailed 551” của Firefox

Đó hỏi: Gần đây khi duyệt web bằng Firefox em thường thấy xuất hiện canh báo “onLookupfailed 551”. e-CHÍP hãy chỉ em cách khắc phục. 
<tambuiminhorbuiminhtam@>
Đây trả lời: Lỗi này xảy ra sau khi bạn đã cài phần mềm McAfee SiteAdvisor dành cho Firefox phiên bản cũ. Muốn khắc phục, bạn hãy vô hiệu (disable) thành phần này trong Tools > add-on của Firefox. Hay mở McAfee SiteAdvisor > Settings > bỏ chọn mục Enable Safe Browsing. Hay nâng cấp phiên bản McAfee SiteAdvisor và Firefox.

LÊ HOÀN

[Đầu trang]