Khi sử dụng Visual Basic (VBasic), điều khiến bạn hài lũng cú lẽ là số lượng "đồ nghề" dồi dào của nú trong Tool Box. Bạn đang thiết kế một form cho ứng dụng cú xử lý đến cơ sở dữ liệu và
đang phõn võn sẽ đặt vào đấy Data control hay DBGrid? Chưa hết, bạn cần những thao tỏc nào trờn form để quyết định sẽ cú bao nhiờu nỳt lệnh? Muốn cú nhiều thao tỏc, ắt phải cần càng nhiều nỳt lệnh mà việc lập trỡnh cho cỏc nỳt lệnh cú khi khụng đơn giản. VBasic cú tiện ớch hỗ trợ trong trường hợp bạn cần một form cú khả năng duyệt từng record trong một Table cựng với những thao tỏc thờm, xúa, sửa, di chuyển, dũ tỡm và xếp thứ tự. Dĩ nhiờn, tiện ớch ấy cũng tự động phỏt sinh mó lệnh cho cỏc thao tỏc. Đú là trỡnh Data Manager vốn được xem là "trị giỏ gia tăng" cú sẵn trong VBasic 4.0. Nhưng kể từ phiờn bản VBasic 5.0, trỡnh tiện ớch ấy được "lột xỏc" hoàn toàn và gọi bằng tờn mới là Visual Data Manager (VisData).
Với chức năng núi trờn, tiện ớch này khỏc với hệ Microsoft Access ở chỗ nú cho phộp bạn tạo bất cứ CSDL nào: Access, dBase, FoxPro hay Paradox. Và vỡ đú là trỡnh quản trị dữ liệu nờn VisData sẵn lũng chấp nhận những chỉ thị SQL nếu bạn muốn cú cỏc queries trong CSDL. Nếu đú vẫn chưa phải là lý do để bạn sử dụng VisData, thỡ hóy tưởng tượng bạn đang viết một ứng dụng bằng VBasic, nhưng cũng cần đến những thụng tin về một CSDL nào đú bằng cỏch sử dụng MS- Access ở chế độ Inactive Window, bạn cú tin rằng tốc độ mỏy của bạn sẽ chậm lại khụng? Và nếu VBasic của bạn cũng đang cần đến CSDL mà MS-Access đang mở thỡ sao? Hẳn bạn phải đúng CSDL đú trong MS-Access. Duy trỡ một cửa sổ MS-Access trống rỗng trong chế độ Inactive là một sự phớ phạm tài nguyờn của mỏy và thời gian của bạn. Bạn cú sẵn lũng "xài sang" những thứ đú khụng?
VisData cũn cú những chức năng liờn quan đến việc sử dụng CSDL phõn tỏn. Nghĩa là một CSDL dựng trong mụi trường mạng. Tuy nhiờn trong bài này, chỳng ta chỉ xột đến những chức năng của nú trờn mỏy đơn.
Gọi sử dụng VisData
Từ trong menu chớnh của VBasic, bạn cú thể gọi sử dụng VisData bằng lệnh: Add-Ins, Visual Data Manager. Cõy lệnh mụ tả qua Hỡnh 1.
Hỡnh 1. LƯnh gọi VisData
Hỡnh 2. Cưa sỉ VisData
Menu và thanh cụng cụ của VisData tương đối đơn giản. Menu File gồm những lệnh liờn quan đến mở/tạo lập, bảo trỡ CSDL. Menu Utilities phản ỏnh hai tiện ớch quan trọng là trỡnh Query Builder giỳp xõy dựng SQL trực quan và bộ Data Form Designer giỳp tự động tạo form nếu bạn đang dựng VBasic và muốn VisData hỗ trợ tạo form để xử lý dữ liệu trong table. Cỏc nỳt cụng cụ chia thành ba nhúm. Nhúm thứ nhất giỳp người sử dụng xỏc định xem mỡnh sẽ mở/tạo một CSDL theo kiểu nào trong những kiểu Tableset, Dynaset, hay Snapshot. Nhúm nỳt cụng cụ thứ hai được dựng khi bạn muốn tạo một form và trong form đú sẽ đặt một Data control hay DBGrid control. Nhúm nỳt cụng cụ thứ ba dành cho những trường hợp dựng đến CSDL phõn tỏn. Trong VisData cú thể hiển thị hai cửa sổ Database Windows và SQL Statement.
Mở/Tạo lập CSDL
Đối với một CSDL đó cú sẵn, trước khi mở bạn hóy xỏc định VisData sẽ mở nú theo kiểu nào trong những kiểu Tableset, Dynaset, hay Snapshot. Những nỳt cụng cụ cho trong Hỡnh 3 cho biết nỳt nào giỳp bạn làm việc đú. Bạn sẽ dựng lệnh File.Open Database để mở CSDL hay lệnh File.New nếu muốn tạo một CSDL mới.
Hỡnh 3. Quy định kiĨu CSDL sẽ mở
Hỡnh 4. Cây lƯnh mở/tạo CSDL
Trường hợp muốn tạo CSDL FoxPro, bạn phải khai bỏo đường dẫn cho CSDL sẽ tạo trong hộp thoại như VisData trỡnh bày ở Hỡnh 5.
Hỡnh 5. Khai bỏo đường dẫn khi tạo CSDL FoxPro
Nếu muốn tạo CSDL .MDB của MS-Access, bạn sẽ khai bỏo tờn của CSDL trong hộp thoại như Hỡnh 6.
Hỡnh 6. Tạo CSDL .MDB cđa MS-Access
Giả sử bạn muốn tạo một CSDL dưới format của Access 7.0 cú tờn magazin.mdb trong đĩa D:\, lỳc đú vựng làm việc của VisData sẽ cú hai cửa sổ Database Window và SQL Statement. Cửa sổ Database Window là nơi thể hiện về cỏc properties của bản thõn CSDL này và của những đối tượng trong CSDL như Table, Query, ... Những properties này được thể hiện dưới dạng cõy thư mục. Cửa sổ SQL Statement là nơi để phỏt những chỉ thị SQL với những nỳt lệnh Execute thi hành chỉ thị, nỳt lệnh Clear để xúa chỉ thị và nỳt lệnh Save để lưu chỉ thị SQL hiện hành dưới một tờn, tờn đú được gọi là QueryDef. Hỡnh 7 minh họa những mụ tả trờn.
Hỡnh 7. Cưa sỉ Database và SQL Statement
Tạo một Table
Bạn cú thể tạo một table bằng lệnh SQL phỏt ra trong cửa sổ SQL Statement theo dạng lệnh: CREATE TABLE Table (Field1, Type(Size),...) và sau đú bấm vào nỳt lệnh Execute để thi hành. Vớ dụ muốn tạo Table Writer cho CSDL magazin.mdb, bạn cú thể nhập vào dũng lệnh: Create Table Writer (writerid Text(5), Name Text(25), Title Text(32), ReceiveDate Date time)
Bõy giờ trờn màn hỡnh sẽ hỏi bạn đõy cú phải là một chỉ thị PassThrough SQL khụng, bạn nhớ trả lời "No" vỡ một chỉ thị PassThrough SQL sẽ dành riờng cho ODBC xử lý. ở đõy chỳng ta chưa bàn đến ODBC là gỡ.
Với một table vừa khai bỏo xong, bạn cú muốn xem những properties của bảng này? Hóy bấm vào dấu Aà+' kế bờn tờn của bảng trong cửa sổ Database Window. Bạn muốn nhập liệu vào bảng? Hóy nhấn đỳp vào tờn của bảng. Lỳc đú một bộ duyệt nội dung sẽ thể hiện dưới dạng form như trong Hỡnh 8.
Hỡnh 8. Form nhập liƯu và duyƯt bảng Writer
Cỏc nỳt lệnh liờn quan đến những thao tỏc trờn record; cỏc hộp Text box để nhập nội dung cho từng trường và thanh trượt để duyệt nội dung từng record.
Xin lưu ý tựy bạn đang mở bảng theo kiểu nào trong những kiểu TableSet, DynaSet hay SnapShot và cú đặt Data Control vào form hay khụng mà hỡnh thức của form nhập liệu cú thay đổi đụi chỳt về cỏc nỳt lệnh trong form. Nhưng điều đú sẽ khụng làm bạn lỳng tỳng khi sử dụng form. Dưới đõy, chỳng tụi sẽ mụ tả đụi nột về việc sử dụng form trong trường hợp mở bảng theo kiểu DynaSet và trong form khụng cú Data Control.
Sử dụng form nhập liệu
Sau khi đó làm xuất hiện form nhập liệu như Hỡnh 8, hẳn bạn cũng muốn nhập một số record đầu tiờn cho bảng. Form khụng cho phộp bạn nhập nội dung cỏc trường vào hộp text box. Bạn hóy bấm chuột vào nỳt lệnh Add để bắt đầu. Hỡnh 9 minh họa form nhập liệu.
Hỡnh 9. Nhập nội dung record
Khi nhập xong, bạn bấm chuột vào nỳt lệnh Update để ghi nhận hoặc Cancel trong trường hợp ngược lại. Để chỉnh sửa nội dung record, dựng Edit; để loại bỏ record hiện hành trong form, dựng Delete; để thay đổi record hiện hành, dựng Move và cung cấp độ dời tớnh từ record hiện hành. Độ dời là một số nguyờn dương hay nguyờn õm tựy theo bạn muốn dời về hướng đầu bảng hay cuối bảng. Bạn cú muốn xếp thứ tự bảng theo một trường nào đú khụng? Chỉ cần nhấn chuột vào nỳt lệnh Sort và khai bỏo tờn trường mà bạn muốn dựng làm khoỏ. Hỡnh 10 là hộp thoại mà bạn sẽ cung cấp tờn khúa sắp xếp.
Hỡnh 10. Khai bỏo khúa sắp xếp cho bảng.
Nếu muốn dũ tỡm một record nào đú, thay vỡ sử dụng thanh trượt, bạn dựng nỳt lệnh Find và chọn khúa dũ tỡm, chọn toỏn tử và chọn giỏ trị cho khúa dũ tỡm. Với những record trựng khúa dũ tỡm thỡ sao? Liệu VisData chỉ cú khả năng tỡm duy nhất một record đầu tiờn trựng khúa? VisData chấp nhận dũ tỡm cả những record trựng khúa khỏc nếu ở lần dũ tỡm sau bạn chọn nhiệm ý Find Next. Hỡnh 11 minh họa cỏch dựng lệnh Find để dũ tỡm record liờn quan đến tỏc giả Knuth,D.
Hỡnh 11. Khai bỏo biĨu thức dò tỡm.
Cuối cựng là thao tỏc lọc những record thỏa món một điều kiện cho trước mà với những bạn quen dựng Fox thỡ đú là chỉ thị SET FILTER. Chẳng hạn, bạn muốn lọc tất cả những record về tỏc giả Knuth,D., hóy nhấn chuột vào nỳt lệnh Filter rồi cung cấp điều kiện lọc record vào hộp thoại như Hỡnh 12 chỉ ra.
Hỡnh 12. Lọc những record theo một điỊu kiƯn
Sử dụng chỉ thị SQL
VisData cũng cú khả năng chạy những chỉ thị SQL nếu bạn nhập dũng lệnh vào cửa sổ SQL Statement rồi bấm chuột vào nỳt lệnh Execute để thi hành. Khi cú hộp thoại hỏi bạn chỉ thị SQL sắp thi hành cú phải là một SQLPassThrough hay khụng, bạn nhớ chọn "No". Nếu khụng bị bắt lỗi, Queries thu được sẽ là một form. Để làm vớ dụ, bạn thử mở CSDL Biblio.mdb (là CSDL cài đặt theo VBasic) bằng lệnh File.Open và phỏt chỉ thị chọn tờn, địa chỉ, mó của những nhà xuất bản của thành phố New York. Bạn cú nhập dũng lệnh SELECT Name, Address, PubID FROM Publishers WHERE City="New York" hay khụng?
Nếu muốn thử cụng cụ tạo Query, chẳng hạn như wizard, hóy dựng lệnh Utility.Query Builder. Bạn muốn chọn cỏc bảng và trường cần cho Query, dĩ nhiờn phải chọn trong hai hộp liệt kờ Tables và Fields to Show. Để cung cấp điều kiện cần truy vấn, bạn cú thể dựng cỏc hộp combo Field Name, Operator, Value. Nếu trong điều kiện cần những toỏn tử And, Or bạn dựng hai nỳt And into Criteria, và Or into Criteria.
Hỡnh 13. Tạo Query bằng wizard thụng qua Query Builder
Tạo form và sinh mó cho ứng dụng
Giả sử trong một CSDL mới, bạn đó tạo một bảng cú tờn Reader với cỏc trường ReaderID TEXT(5), Name TEXT(25), Address TEXT(255) và đang định tạo form nhập record cho bảng này với mó lệnh bằng VBasic. Từ VisData, bạn mở CSDL đú, quyết định sẽ mở CSDL theo kiểu nào trong những kiểu TableSet, DynaSet hay SnapShot. Và bạn sẽ đặt đối tượng Data Control hay DBGrid vào trong form tương lai. Bạn chọn những ấn định đú bằng nỳt cụng cụ như mụ tả ở Hỡnh 2. Sau đú bạn sẽ lấy lệnh Utility. Data Form Designer. Hỡnh 14 cho thấy những gỡ bạn phải khai bỏo để tạo lập một form: nhập tờn của table vào hộp RecordSource, nhập tờn form vào hộp Form Name w/o Extension, và chọn cỏc trường mà bạn muốn thể hiện trong form. Cỏc trường này được chọn từ hộp list box Available Fields để chuyển vào Include Fields. Cụng việc chấm dứt bằng nỳt lệnh Build the Form. Bõy giờ cú thể đúng VisData bằng lệnh File.Exit để trở về VBasic. Hẳn bạn sẽ ngạc nhiờn với form mới tạo với những chi tiết khỏ chuyờn nghiệp. Thớch thỳ hơn nữa khi chuyển sang màn hỡnh Code, bạn sẽ thấy mó lệnh đó cú sẵn.
Hỡnh 14. Hộp thoại cđa Data Form Designer
Đến đõy bạn cú thể núi gỡ về phiờn bản mới của VBasic? Đỏng để nõng cấp phải khụng?