• Thứ Sáu, 27/05/2011 13:59 (GMT+7)

    Tạo form nhập liệu dùng VB 2005

    Câu hỏi :

    Tôi dùng VB 2005 lập trình với cơ sở dữ liệu Access 2003, gặp khó khăn trong việc tạo form nhập dữ liệu. Xin hỏi trong VB 2005 có Data form wizard không?



    Trả lời :

    Trong môi trường lập trình VB 2005, ta không cần đến tiện ích "Data Form Wizard" nữa vì từng phần tử giao diện trong form bất kỳ (ListBox, TextBox,...) đều có khả năng "data-binding" trực tiếp tới dữ liệu tương ứng trong database. Để demo việc tạo form để xem/hiệu chỉnh/thêm/bớt dữ liệu trực quan, chúng tôi sẽ viết 1 ứng dụng đơn giản, form ứng dụng có 1 đối tượng DataGridView và 1 đối tượng Button. Đối tượng DataGridView sẽ được dùng để hiển thị toàn bộ các record trong 1 bảng dữ liệu Access, nó cho phép người dùng xem/hiệu chỉnh/thêm/bớt dữ liệu trực quan. Đối tượng Button được dùng để giúp người dùng ra lệnh lưu các kết quả cập nhật trong DataGridView lên database tương ứng. Sau đây là qui trình điển hình để viết 1 ứng dụng này:

    1. Chạy Visual Studio 2005, chọn menu File.New Project để hiển thị cửa sổ New Project.

    2. mở rộng mục "Visual Basic" trong listbox "Project Types", chọn mục Windows rồi icon "Windows Application" trong listbox Templates, nhập tên Project là "UpdateTable", nhấn OK để máy hoàn thành việc tạo project.

    3. Khi cửa sổ thiết kế form hiển thị, vẽ lần lượt các đối tượng DataGridView và Button vào form (bằng cách chọn đối tượng tương ứng trong cửa sổ ToolBox rồi vẽ nó ở vị trí và kích thước mong muốn). Form sẽ có dạng:

    4. Tên mặc định của DataGridView là DataGridView1, tên mặc định của button là Button1. Chọn button để hiển thị cửa sổ thuộc tính của nó (thường ở dưới phải màn hình), hiệu chỉnh lại thuộc tính (Name) của nó thành btnUpdate, thuộc tính Text của nó thành "Update".

    5. Chọn button DataSource ở dưới cửa sổ Project (thường nằm trên phải màn hình), chọn lệnh "Add Project Data Source" để hiển thị cửa sổ "Data Source Config...".

    6. Chọn icon DataBase, click button Next, nhấn New Connection để hiển thị cửa sổ "Add Connection".

    7. Chọn mục "Microsoft Access Database File (OLE DB)" cho textbox DataSource, nhấn Browse để duyệt tìm và chọn file database chứa bảng dữ liệu cần truy xuất. Nhấn "Test Connection" để kiểm tra xem có truy xuất được không, nếu được thì nhấn Ok để đóng cửa sổ hiện hành lại.

    8. Đóng lần lượt các cửa sổ tới khi gặp cửa sổ chứa textbox "DataSet Name", hiệu chỉnh tên cho DataSet là MyDataSet. Duyệt trong danh sách các bảng của database, chọn bảng dữ liệu cần xử lý (giả sử file database của bạn có bảng dữ liệu tên Danhbadienthoai), nhấn Finish để hoàn thành việc định nghĩa data source cần dùng.

    9. Chọn đối tượng DataGridView để hiển thị cửa sổ thuộc tính của nó, duyệt tìm thuộc tính Data Source, nhấn chuột vào dấu “V” bên phải mục này rồi duyệt tìm và chọn bảng Danhbadienthoai. Đây là nguồn dữ liệu mà đối tượng DataGridView sẽ hiển thị cho người dùng làm việc với nó. Bây giờ bạn sẽ thấy ngay dưới form thiết kế có 3 phần tử mới được tạo ra: MyDataSet, DanhbadienthoaiBindingSource, DanhbadienthoaiTableAdapter. Qui trình tương tác dữ liệu giữa các phần tử như sau: DataGridView n DanhbadienthoaiBindingSource n MyDataSet n DanhbadienthoaiTableAdapter n file Database *.mdb của bạn. Khi ứng dụng chạy, mỗi khi người dùng hiệu chỉnh/thêm/bớt record trực tiếp trên DataGridView, nội dung được hiệu chỉnh/thêm/bớt chỉ được chứa cục bộ trong đối tượng DataSet tương ứng chứ chưa được lưu ngay lên database. Muốn lưu thông tin hiện có trong DataSet lên Database, chương trình cần phải thực hiện tường minh lệnh Update của đối tượng TableAdapter.

    10. Nhấn đúp chuột vào button Update để tạo hàm xử lý sự kiện click chuột cho nó rồi viết code sau vào thân hàm xử lý này:
    Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
    Me.DanhbadienthoaiTableAdapter. Update(Me.MyDataSet.Danhbadienthoai)
    End Sub

    11. Việc xây dựng ứng dụng hiện đã hoàn tất, hãy chọn menu Debug.Start Debugging để thử dịch và chạy thử ứng dụng. Nếu không có lỗi thì ứng dụng sẽ chạy và hiển thị ngay nội dung trong bảng Danhbadienthoai lên DataGridView, người dùng có thể duyệt xem/xóa/sửa/thêm mới record theo yêu cầu. Khi nào cần lưu lên database, hãy nhấn button Update.

    Chuyên mục: Lập trình