LƯU RECORSET RAT ẬP TIN

Một phần của tài liệu Làm quen với visual basic (Trang 91)

I. BÀI TẬP HƯỚNG DẪN

LƯU RECORSET RAT ẬP TIN

Chương 6 ĐỐI TƯỢNG DỮ LIỆU ACTIVEX Mục tiêu:

LƯU RECORSET RAT ẬP TIN

Bước 1: Trước khi bắt đầu, cần kiểm tra tập tin DataLink của bài 6-2 có được tạo ra hay là không?

Bước 2: Tạo một dự án mới trong VB ở thư mục Basic\Bt6-4.

Bước 3: Tham chiếu đến thư viện ADO bằng cách chọn Project\References\ActiveX Data Object 2.0 Library. Chọn OK.

Bước 4: Thêm một điều khiển mở rộng vào hộp công cụ Toolbox nhờ chọn Project\Components. Chọn Microsoft Common Dialog Control 6.0 và Microsoft DataGrid Control 6.0. Chọn OK.

Trang 92 5 4 3 2 1 Hình VI.8: Lưu Recordset ra tập tin 1: TextBox:

Name: txtSQL; MultiLine: True. 2: CommandButton:

Name: cmdTT; Caption: Thực thi. 3: CommandButton:

Name: cmdLuu; Caption: Lưu tập tin 4: CommandButton:

Name: cmdMo; Caption: Mở tập tin 5: DataGrid: Name: grdResult

Ngoài ra, chương trình còn có sử dụng hộp thoại mở & lưu tập tin; do đó, ta thêm vào một Common Dialog vào ứng dụng với thuộc tính Name: dlgFile.

Bước 6: Khi chương trình thực thi, mỗi khi người dùng nhập vào một câu lệnh SQL vào TextBox rồi nhấp chọn Thực thi, câu SQL này sẽ thực thi và hiển thị kết quả ở lưới bên phải. Do đó sự kiện cmdTT_Click dược xử lý như sau:

Private Sub cmdTT_Click()

Dim m_RecordSet As ADODB.Recordset Set m_RecordSet = New ADODB.Recordset m_RecordSet.CursorLocation = adUseClient m_RecordSet.CursorType = adOpenStatic m_RecordSet.Open txtSQL.Text, _

"File Name=C:\Program Files\Common Files\System\OLE DB\Biblio.udl" Set grdResult.DataSource = m_RecordSet

End Sub

Bước 7: Lưu RecordSet vào tập tin sẽ được thực hiện nhờ hàm Save. Ở đây, ta sử dụng hộp thoại CommonDialog để mở và lưu tập tin. Sự kiện cmdLuu_Click được xử lý:

Private Sub cmdLuu_Click() On Error GoTo xuly

Dim m_RecordSet As ADODB.Recordset Set m_RecordSet = grdResult.DataSource

Set grdResult.DataSource = Nothing

Dim strFileName As String

dlgFile.Filter = "Record Set Files (*.dat)|*.dat" dlgFile.ShowSave

strFileName = dlgFile.FileName

' Luu cac mau tin

m_RecordSet.Save strFileName Exit Sub

xuly:

MsgBox Err.Description, vbCritical + vbSystemModal, "Loi" End Sub

Bước 8: Mỗi khi tập hợp mẩu tin được lưu lên tập tin, chúng sẽ không phụ thuộc vào vào các nối kết với nguồn dữ liệu. Để mở dữ liệu được lưu, sử dụng hàm Open với tên tập tin là đối số. Sự kiện cmdOpen_Click được xử lý:

Private Sub cmdMo_Click() On Error GoTo xuly Dim strFileName As String

dlgFile.Filter = "Record Set Files (*.dat)|*.dat" dlgFile.ShowOpen

strFileName = dlgFile.FileName

Dim m_RecordSet As ADODB.Recordset Set m_RecordSet = New ADODB.Recordset m_RecordSet.Open strFileName (adsbygoogle = window.adsbygoogle || []).push({});

Set grdResult.DataSource = m_RecordSet Exit Sub

xuly:

MsgBox Err.Description, vbCritical + vbSystemModal, "Loi" End Sub

Bước 9: Chạy chương trình, nhập câu lệnh SQL vào TextBox, nhấp Thực thi. Sau đó lưu tập mẩu tin này lên đĩa. Mỗi khi muốn mở lại tập tin nào đó, sử dụng Mở tập tin.

II. BÀI TP T LÀM

1) Sử dụng ADO, thiết kế Form nhập liệu cho bảng THangHoa (hình dưới). Ở đây thay vì hiển thị MaLoai, ta lại hiển thị TenLoai:

Hình VI.9: Form nhập liệu

2) Sử dụng ADO, thiết kế Form nhập liệu cho bảng TNhanVien.

3) Sử dụng ADO, thiết kế Form cho phép nhập (sửa, xóa) thông tin về một phát sinh về một mặt hàng nào đó trong ngày. Lưu ý: Trường STT là kiểu AutoNumber (Access), Ngay: lấy ngày hệ thống (hàm Now).

Một phần của tài liệu Làm quen với visual basic (Trang 91)