Tự học lập trình cơ sở dữ liệu với Visual Basic 5 trong 21 ngày ấn phẩm 2



tải về 0.58 Mb.
trang12/13
Chuyển đổi dữ liệu26.04.2018
Kích0.58 Mb.
#37160
1   ...   5   6   7   8   9   10   11   12   13

Đối với ví dụ này, bạn sẽ mở tập tin là chỉ đọc ( read-only). Hãy thực hiện các thay đổi trong thủ tục OpenDB kể cả các biến đặt thuộc tính RaeadOnly là True. Khi bạn làm xong, đoạn mã của bạn trông như đoạn mã sau :


Public Sub OpenDB()

Dim cDBName As String ` declare a string variable

Dim cTblName As String ` declare a string variable

Dim bExclusive As Boolean ` declare true/false var

Dim bReadOnly As Boolean ` declare true/false var
cDBName = "c:\tysdbvb5\source\data\books5.mdb" ` point to database

cTblName = "Authors" ` point to authors table

bExclusive = True ` set to exclusive open

bReadOnly = True ` set to read only

`

Data1.DatabaseName = cDBName ` set database property



Data1.RecordSource = cTblName ` set recordsource property

Data1.Exclusive = bExclusive

Data1.ReadOnly = bReadOnly

`

Data1.Refresh ` update data control properties



End Sub
Bây giờ, hãy lưu công việc của bạn trước khi nhập thêm mã. Việc thiết lập thuộc tính Options và tất cả các thuộc tính bạn đã đặt trong đoạn mã trước liên quan đến cơ sở dữ liệu mà Visual Basic đang truy cập. Thuộc tính Options của điều khiển dữ liệu của Visual Basic cho phép bạn đặt các thuộc tính của Dynaset được mở trong thuộc tính RecordSource của điều khiển dữ liệu. Có một vài lựa chọn mà có thể được đặt trong thuộc tính Options của điều khiển dữ liệu. Trong bài học của ngày hôm nay, bạn sẽ học về ba lựa chọn được sử dụng thông thường.
Đây là ba giá trị của Options cho điều khiển dữ liệu mà nó được đưa ra ngày hôm nay :
+ dbDenyWrite.
+ dbReadOnly.
+ dbAppendOnly.
Ba lựa chọn đó là các hằng số thực sự của Visual Basic mà nó được định nghĩa trước trong ngôn ngữ. Chúng như là các biến của Visual Basic, ngoài ra chúng có một biến đơn, đặt giá trị mà không thể được thay đổi. Bảng 4.1 cho bạn biết ba hằng số và các giá trị số của chúng.
Bảng 4.1 : Các giá trị lựa chọn của Dynaset :
Việc thiết lập chọn lựa dbDenyWrite ngăn cản những người sử dụng khác từ việc thay đổi dữ liệu trong Dynaset trong khi bạn có mở nó ( tương tự như thuộc tính cơ sở dữ liệu Exclusive ). Thuộc tính dbReadOnly ngăn cản bạn từ việc thay đổi dữ liệu trong Dynaset (tương tự như thuộc tính cơ sở dữ liệu ReadOnly). Thuộc tính dbAppendOnly cho phép bạn thêm dữ liệu mới đến Dynaset nhưng không cho phép bạn thay đổi hoặc xoá các bản ghi.
Việc đặt dbReadOnly làm tăng tốc độ xử lý của Dynaset và nó thuận tiện cho việc phát ra những hiển thị và thông báo. dbDenyWrite là hữu ích khi bạn muốn làm các thay đổi lớn đến Dynaset và muốn ngăn cản những ngưòi sử dụng khác từ việc truy cập các bản ghi trong Dynaset cho đến khi bạn làm xong các thay đổi của bạn. Việc sử dụng lựa chọn dbAppendOnly cho phép bạn tạo các mục dữ liệu thông thường mà giới hạn người sử dụng đúng đến việc thêm các bản ghi không có việc xoá hoặc thay đổi.
Bây giờ bạn hãy thêm đoạn mã để đặt thuộc tính Options của điều khiển dữ liệu. Bạn sẽ lưu ý rằng bạn không có một thuộc tính cho từng ba chọn lựa. Bạn đặt chúng từng cái một như thế nào ? bạn làm điều này bằng cách thêm vào các hằng số và đặt kết quả trong thuộc tính Options của điều khiển dữ liệu.
Cho ví dụ, nếu bạn muốn mở Dynaset cho việc thêm vào các bản ghi mới, hãy đặt thuộc tính Options của điều khiển dữ liệu đến dbAppendOnly. Nếu bạn muốn mở Dynaset để không cho phép mọi người cập nhật và cho phép dữ liệu chỉ đọc cho người sử dụng hiện thời, hãy đặt thuộc tính Options đến dbDenyWrite và dbReadOnly.
Bây giờ, hãy đặt các lựa chọn của điều khiển dữ liệu đến DenyWrite và ReadOnly. Khi bạn làm xong, thủ tục của bạn trông như sau :
Public Sub OpenDB()

Dim cDBName As String ` declare a string variable

Dim cTblName As String ` declare a string variable

Dim bExclusive As Boolean ` declare true/false var

Dim bReadOnly As Boolean ` declare true/false var

`

cDBName = "c:\tysdbvb5\source\data\books5.mdb" ` point to database



cTblName = "Authors" ` point to authors table

bExclusive = True ` set to exclusive open

bReadOnly = True ` set to read only

`

Data1.DatabaseName = cDBName ` set database property



Data1.RecordSource = cTblName ` set recordsource property

Data1.Exclusive = bExclusive

Data1.Options = dbDenyWrite + dbReadOnly

Data1.ReadOnly = bReadOnly

`

Data1.Refresh ` update data control properties



End Sub
Bây giờ bạn đã hoàn thành xong thủ tục cho việc mở cơ sở dữ liệu BOOKS5.MDB và việc tạo một Dynaset từ bảng Authors. Cơ sở dữ liệu và Dynaset sẽ được mở riêng cho truy cập chỉ đọc. Chỉ có một thứ là thiếu. Bạn đầu tiên chắc chắn thủ tục OpenDB được thực hiện ! Hãy đặt đoạn mã sau trong thủ tục Form_Load :
Sub Form_Load ()

OpenDB ` open the database, set dynaset

End Sub
Bây giờ hãy lưu đề án của bạn và chạy chương trình. Nếu bạn nhận được một thông báo lỗi, hãy xem lại đoạn mã ví dụ và sau đó làm các thay đổi cần thiết trước khi tiép tục đoạn tiếp theo, ở đó bạn sẽ thêm một vài thủ tục để làm rõ các phương thức của điều khiển dữ liệu làm việc thế nào.
Các phương thức của điều khiển dữ liệu.
Hầu hết các điều khiển của Visual Basic đã kết hợp các phương thức. Mỗi phương thức có thể được nghĩ như một hàm hoặc sử lý cái mà bạn có thể nói chương trình chạy. Điều khiển dữ liệu của Visual Basic có một vài phương thức. nhưng chỉ có ba cái là liên quan đến cơ sở dữ liệu. Đây là danh sách :
+ Refresh.
+ UpdateControls.
+ UpdateRecord.
Bạn đã sử dụng phương thức Refresh trong ví dụ đã có rồi của ngày hôm nay. Phương thức này được sử dụng trong bất cứ thời điểm nào bạn thay đổi thuộc tính nào của điều khiển dữ liệu và bắt buộc (force) nó xây dựng lại Dynaset. Những cập nhật tươi (refresh) này không chỉ là các thực hiện và các thuộc tính của Dynaset nhưng cũng là các bản ghi trong tập hợp. nếu các bản ghi được thêm vào bảng bởi người sử dụng khác sau khi chương trình của bạn đã tạo Dynaset. Việc dùng phương thức Refresh chắc chắn làm Dynaset cuả bạn chứa hầu hết các bản ghi gần đây.
Phương thức UpdateControls được sử dụng để cập nhật bất kỳ các điều khiển boud input nào. Việc sử dụng phương thức UpdateControl là giống như việc đọc bản ghi hịên thời và việc đặt các giá trị trong các trường của bảng vào các điều khiển nhập trên một form. Việc này xảy ra tự động mỗi lần bạn bạn ấn các nút mũi tên trên điều khiển dữ liệu. Nhưng bạn có thể bắt buộc việc cập nhật xảy ra bất cứ khi nào trong khi xử lý mục dữ liệu Nó là cái đặc biệt thuận tiện nếu bạn muốn làm lại ( undo) các thay đổi của người sử dụng đến một bản ghi.
Bây giờ, hãy thêm một trường đơn vào form và kiểm tra phương thức UpdateControls. Hãy thêm một điều khiển textbox voà form và đặt thuộc tính DataSource là Data1. Bạn sẽ đặt thuộc tính DataField sử dụng mã Visual Basic. Tham khảo hình 4.2 cho biết vị trí và kích cỡ của điều khiển.
Hình 4.2 :
Bây giờ hãy thêm thủ tục mới sau (BindControls) vào form của bạn. Hãy nhớ, để chèn một thủ tục bạn cần sử dụng lệnh Add Procedure... từ thực đơn Tools sau khi bạn đã kích đúp vào form. Thủ tục mới này liên kết textbox đến trường trong Dynaset sử dụng thuộc tính DataField của textbox.
Public Sub BindControls()

Dim cField1 As String

`

cField1 = "Name"



`

Text1.DataField = cField1

End Sub
Bây giờ, hãy thêm thủ tục BindControls vào sự kiện Form_load để chắc chắn rằng nó được gọi khi chương trình chạy. Sự kiện Form_Load của bạn trông như sau :
Sub Form_Load ()

OpenDB ` open the database, set dynaset

BindControls ` link controls to data fields

End Sub
Bạn cần thêm một nút lệnh vào form để làm hoạt động phương thức UpdateControls. Hãy đặt một nút trên form và đặt thuộc tính Name của nó là cmdRestore và thuộc tính Caption là &Restore. Ngoài ra, hãy thêm đoạn mã sau vào sự kiện cmdRestore_Click :


Private Sub cmdRestore_Click()

data1.UpdateControls ` restore textbox values

End Sub
Form của bạn trông như hình 4.3.
Bây giờ hãy lưu và chạy đề án. Khi bản ghi đầu tiên được nạp lên, hãy soạn thảo trường. Hãy thay đổi tên và thêm các thông tin thêm đến trường. Trước khi bạn kích một nút mũi tên, hãy ấn nút Restore. Bạn sẽ nhìn thấy dữ liệu trong textbox trở lại giá trị ban đầu được đọc vào trong nó khi bạn khởi động chương trình lần đầu.
Hình 4.3 : Thêm một nút Restore vào form :
Bây giờ, hãy thêm một nút mà sử dụng phương thức UpdateRecord. Phương thức UpdateRecord nói Visual Basic hãy lưu các giá trị của các điều khiển bound input ( textbox trong đề án này ) đến Dynaset. Xem hình 4.4 để biết vị trí và kích cỡ của nút.
Hình 4.4 : Thêm nút Update vào form.
Việc sử dụng phương thức UpdateRecord để cập nhật Dynaset mà không dịch chuyển con trỏ của bản ghi. Bây giờ, hãy thêm một nút lệnh vào form, đặt thuộc tính Name của nó là cmdUpdate và thuộc tính Caption là &Update và sau đó hãy đặt dòng mã sau vào sự kiện cmdUpdate_Click :
Private Sub cmdUpdate_Click()

data1.UpdateRecord `write controls to dynaset

End Sub


Chú ý : Nó là quan trọng để nhớ sự khác nhau giữa phương thức UpdateControls và phương thức UpdateRecord. Phương thức UpdateControls đọc từ đối tượng dữ liệu và viết đến các điều khiển của form. Nó cập nhật các điều khiển. Phương thức UpdateRecord đọc từ các điều khiển của form và viết đến đối tượng dữ liệu. Nó cập nhật các bản ghi.

Hãy lưu và chạy lại đề án. Thời điểm này, sau khi bạn soạn thảo textbox, hãy kích vào nút Update dữ liệu. Bây giờ, hãy chuyển đến bản ghi tiếp theo và sau đó quay lại bản ghi bạn đã soạn thảo. Bạn nhìn thấy gì ? Bản ghi đã không được cập nhật ! Nhớ rằng, trong thủ tục OpenDB bạn đặt thuộc tính ReadOnly của cơ sở dữ liệu là True và bật giá trị ReadOnly của thuộc tính Options. Bây giờ hãy thay đổi thủ tục OpenDB và thay đổi thuộc tính ReadOnly là False và thả các hằng số dbReadOnly và dbDenyWrite từ thuộc tính Options bằng cách thiết lập thuộc tính Options là 0.


Khi bạn chạy lại chương trình, bây giờ bạn có thể soạn thảo textbox, phục hồi giá trị cũ với nút Restore, hoặc lưu giá trị mới với nút Update. Bạn cũng có thể lưu giá trị mới bằng cách chuyển con trỏ của bản ghi.
Cái thực hiện cuối cùng này của điều khiển dữ liệu có thể là nguyên nhân của mootjvaif vấn đề. Nếu bạn thay đổi một trường và không muốn lưu những thay đổi, nhưng thay vì kích nút Restore, bạn muốn chuyển đến bản ghi tiếp theo ? Bạn có thể thay đổi cơ sở dữ liệu và không bao giờ hiểu nó ! Trong đoạn tiếp theo, bạn sẽ sử dụng một trong những sự kiện của điều khiển dữ liệu để giúp bạn tránh như một tình thế.
Các sự kiện của điều khiển dữ liệu.
Tất cả chương trình của Microsoft Windows chứa các sự kiện. Các sự kiện đó xuất hiện mỗi lần máy tính hiểu một người sử dụng kích một nút hoặc chuyển con trỏ đến một đối tượng trên form hoặc khi có xử lý nào khác xảy ra. Khi một sự kiện chiếm chỗ ( take place ), Hệ điều hành Windows gửi một thông điệp nói với tất cả các xử lý hiện thời đang chạy là một và thứ có thể xảy ra. Các chương trình của Windows có thể sau đó “lắng nghe ” các thông điệp hoặc hành động, dựa trên các mã chương trình của chúng.
Trong Visual Basic, bạn có thể tạo mã chương trình mà nó thực hiện mỗi lần một sự kiện xảy ra. Có ba sự kiện của điều khiển dữ liệu liên quan đến các hàm của cơ sở dữ liệu :
+ Reposition.
+ Validate.
+ Error.
Sự kiện Reposition xảy ra mỗi lần điều khiển dữ liệu chuyển đến một vị trí mới trong Dynaset. Sự kiện Validate xảy ra mỗi lần một điều khiển dữ liệu dời đến bản ghi hiện thời. Sự kiện Error xảy ra mỗi lần một cơ sở dữ liệu xuất hiện lỗi khi các nút mũi tên trên điều khiển dữ liệu được sử dụng để chuyển đến con trỏ bản ghi. Visual Basic tự động tạo các thủ tục cho tất cả các sự kiện kết hợp với một điều khiển. Khi bạn đặt một điều khiển trên form của bạn, Visual Basic tạo các thủ tục Data1_Reposition, Data1_Validate, Data1_Error.
Bây giờ, thêm một vài đoạn mã vào đề án nó sẽ nói với bạn khi nào một sự kiện xảy ra. Đầu tiên, bạn cần lấy một message box xảy ra mỗi lần bạn đặt lại vị trí con trỏ bản ghi sử dụng các nút mũi tên trên điều khiển dữ liệu. Để làm được điều này, hãy đặt đoạn mã sau trong sự kiện Data1_Reposition :
Private Sub Data1_Reposition()

MsgBox "Repositioning the pointer..."

End Sub
Tiếp theo, lấy một message box xảy ra mỗi lần bạn dời một bạn ghi sử dụng các nút mũi tên của điều khiển dữ liệu, hãy đặt đoạn mã sau trong sự kiện Data1_Validate :
Private Sub Data1_Validate(Action As Integer, Save As Integer)

MsgBox "Validating Data..."

End Sub
Bây giờ hãy lưu và chạy đề án. Bạn sẽ chú ý thấy thông điệp từ sự kiện Reposition sau khi chương trình bắt đầu. Đó là bởi vì con trỏ được đặt vào vị trí trên bản ghi đầu tiên trong Dynaset khi Dynaset được tạo lần đầu (Hãy xem hình 4.5).
Hình 4.5 : Sự kiện Reposition tại lúc bắt đầu của chương trình :
Sau khi bạn kích vào nút OK trong hộp thông điệp, bạn sẽ thấy form của Visual Basic với điều khiển dữ liệu. Hãy kích một trong các nút mũi tên. Bạn sẽ thấy thông điệp xảy ra từ sự kiện Validate. Thông điệp này gửi trước khi Visual Basic dời khỏi bản ghi hiện thời.( xem hình 4.6 ).
Hình 4.6 : Thông điệp của sự kiện Validate :
Sau khi bạn kích vào nút OK trong hộp thông điệp, bạn sẽ thấy lại thông điệp từ sự kiện Reposition. Đây là thông điệp của sự kiện được gửi khi Visual Basic đọc bản ghi tiếp theo.
Bạn có thể có chú ý rằng, header của sự kiện Validate chứa hai tham số : Action và Save. Hai tham số này có thể được sử dụng để học thêm về action là hành động đang xảy ra trên điều khiển dữ liệu và nó có thể cho phép bạn điều khiển hơn nữa có chăng người sử dụng nên được cho phép lưu dữ liệu mới đến Dynaset. Những tham số này được đặt bởi Visual Basic trong khi chương trình đang chạy. Bạn có thể đọc các giá trị trong các tham số này tại bất kỳ thời điểm nào trong chương trình. Còn bây giờ, bạn sẽ thăm dò tham số Action Đoạn mã tiếp theo thêm một thủ tục đến bước của sự kiện Validate xảy ra một message box mỗi lần kích các nút mũi tên của điều khiển dữ liệu.
Chỉ như các hằng số của thuộc tính Options, Visual Basic chũng cung cấp một bộ các hằng số đã định nghĩa cho tất cả các giá trị có thể của Action được thông báo trong sự kiện Validate. mặc dù những hằng số này dễ sử dụng, chúng không hữu ích cho những người sử dụng chương trình của bạn. Đoạn mã ví dụ sau cho bạn xem các hằng số này được chuyển vào một thông điệp thân thiện đang sử dụng một mảng xâu. Hãy thêm dòng sau đến đoạn định nghĩa chung của form.
Option Explicit

Dim VldMsg(4) As String ` declare message array


Bây giờ hãy thêm vào thủ tục sau, nó nạp một bộ các thông điệp vào trong mảng bạn đã định nghĩa trước. Những thông điệp này được hiện thị mỗi lần hành động tương ứng xảy ra trong sự kiện Validate. Chú ý rằng bạn đang sử dụng các hằng số đã định nghĩa của Visual Basic.
Public Sub MakeVldMsgArray()

VldMsg(vbDataActionMoveFirst) = "MoveFirst"

VldMsg(vbDataActionMovePrevious) = "MovePrevious"

VldMsg(vbDataActionMoveNext) = "MoveNext"

VldMsg(vbDataActionMoveLast) = "MoveLast"

End Sub
Hãy cập nhật sự kiện Form_load để gọi thủ tục MakeVldMsgArray. bạn có thể xem MakeVldMsgArray đã được thêm vào vị trí đầu tiên của sự kiện. Đây là đoạn mã :


Private Sub Form_Load()

MakeVldMsgArray ` create message array

OpenDB ` open the database, set dynaset

BindControls ` link controls to data fields

End Sub
Bây giờ cần thêm vào một ít mã mà nó sẽ thực hiện mỗi lần sự kiện Validate xảy ra. Đoạn mã này hiện thị một thông điệp đơn giản mỗi lần bạn kích vào các nút mũi tên của điều khiển dữ liệu. Các thông điệp hiện thời được xác định bởi giá trị Action mà Visual Basic chuyển đến sự kiện Validate. Giá trị Action là, tất nhiên, được xác định bởi các nút mũi tên trên điều khiển dữ liệu mà bạn kích trong khi chương trình đang chạy.
Bây giờ bạn phải thay đổi thông điệp của “ dữ liệu hợp lệ (validating data) ” mà bạn đã nhập trong ví dụ trước. Đây là đoạn mã mới :
Private Sub Data1_Validate(Action As Integer, Save As Integer)

MsgBox VldMsg(Action) ` message based on user action

End Sub
Hãy lưu và chạy chương trình để xem một message box. Có một vài hành động khác có thể xảy ra trong sự kiện Validate. Bạn sẽ khám phá các hành động này trong ngày thứ 5./
Điều khiển Text và điều khiển Label.
Không có các phương thức quan hệ cơ sở dữ liệu (database-related) hoặc các sự kiện kết hợp với điều khiển Text hoặc điều khiển Label. Và chỉ có hai thuộc tính của điều khiển Text và điều khiển Label mà nó quan hệ cơ sở dữ liệu.
+ DataSource.
+ DataField.
Thuộc tính DataSource là tên của điều khiển dữ liệu mà nó bảo vệ liên kết giữa bảng và điều khiển Text hoặc Label. Thuộc tính DataField nhận biết trường thực sự trong điều khiển dữ liệu. Bạn có thể đặt thuộc tính DataSource tại lúc chạy chương trình tại thời điểm thiết kế, bạn cũng đặt tương tự với DataField.
Các điều khiển Text cho bạn những khả năng để nhập thêm các trường đến các form dữ liệu của bạn mà nó tự động liên kết đến Dynaset đã được định nghĩa trong điều khiển dữ liệu. Các điều khiển nhãn dễ sử dụng khi bạn muốn hiện thị thông tin không có các ký tự mà những người sử dụng cập nhật nó. Bạn đã thêm một điều khiển Text vào đề án, do vậy bây giờ cũng thêm một điều khiển Label.
Bạn sẽ thêm một điều khiển Label để hiện thị trường AuID ( author ID ) của bảng Authors. Nó sẽ cho người sử dụng cơ hội nhìn thấy author ID nhưng không cập nhật nó. Hãy thêm một điều khiển nhãn đến form và đặt thuộc tính DataSource của nó là Data1. Ngoài ra cũng đặt thuộc tính BorderStyle là FixedSingle để làm nó trông tương tự một điều khiển Text box. Hãy tham khảo hình 4.7.
Hình 4.7 : Thêm một điều khiển nhãn.
Bây giờ hãy cập nhật thủ tục BindControls để đặt thuộc tính DataField của điều khiển Label. Đoạn mã của bạn trông như sau :
Public Sub BindControls ()

Dim cField1 As String

Dim cField2 As String

`

cField1 = "Name"



cField2 = "AuID"

`

Text1.DataField = cField1



Label1.DataField = cField2

End Sub
Bây giờ hãy lưu và chạy đề án. Bạn sẽ nhìn thấy các điều khiển Label chứa các giá trị được lưu trong trường AuID của Dynaset. Khi bạn dời qua Dynaset bằng việc sử dụng các nút mũi tên, điều khiển Label được cập nhật chỉ khi điều khiển Text được cập nhật.


Điều khiển Checkbox.
Điều khiển Checkbox về cơ bản giống như điều khiển Text. Nó không có các sự kiện, các phương thức đặc biệt của cơ sở dữ liệu quan hệ và nó có hai thuộc tính quan hệ : DataSource và DataField. Sự khác nhau giữa hai điều khiển Text box và Control box là dữ liệu được hiện thị trên form và được lưu trong Dynaset như thế nào.
Các Checkbox có kiểu Boolean. Bạn sẽ nhớ rằng các trường đó chỉ có thể là -1 hoặc 0. Các checkbox không hiện thị 0 hoặc –1. Bằng cách kích checkbox, bạn có thể thực sự cập nhật giá trị Boolean của trường Dynaset.
Sử dụng hình 4.8 như một chỉ dẫn, thêm một điều khiển checkbox vào form. Đặt thuộc tính DataSource là Data1 và thuộc tính Caption của nó là Under Contract. Bạn không cần đặt thuộc tính DataField tại thời điểm này. Những cái này được làm bằng cách thay đổi thủ tục BindControls.
Hình 4.8 : Thêm điều khiển Checkbox :
Bây giờ, hãy cập nhật thủ tục BindControls để liên kết điều khiển Checkbox đến trường Contracted trong bảng Authors. Khi bạn làm xong, thủ tục BindControls trông như sau :
Public Sub BindControls ()

Dim cField1 As String

Dim cField2 As String

Dim cField3 As String

`

cField1 = "Name"



cField2 = "AuID"

cField3 = "Contracted"

`

Text1.DataField = cField1



Label1.DataField = cField2

Check1.DataField = cField3

End Sub
Hãy lưu và chạy đề án. Bạn nhìn thấy một vài Checkbox được bật và một vài được tắt. Bây giờ bạn đã có điều khiển Checkbox !
Điều khiển OLE.
Điều khiển OLE của Visual Basic không có các sự kiện, phương thức mà chỉ có hai thuộc tính cơ sở dữ liệu quan hệ :
+ DataSource.
+ DataField.
Như điều khiển Checkbox, điều khiển OLE duy nhất tác động đối với việc hiện thị dữ liệu Điều khiển OLE được sử dụng để hiện thị các đối tượng OLE mà được lưu trong tệp tin MDB bởi Microsoft Access. Điều khiển này không thể sử dụng để hiện thị các ảnh nhị phân được lưu trực tiếp đến một tập tin MDB bằng một ứng dụng khác Access.
Bây giờ, hãy thêm điều khiển OLE vào form và ép nó đến một trường trong bảng Authors Hãy thả một đối tượng OLE lên form và lựa chọn nút Cancel trên trong hộp hội thoại Insert Object khi bạn nháy kiều Object. Bây giờ, đặt thuộc tính DataSource của điều khiển OLE là Data1 và thuộc tính SizeMode là 1 – Tham khảo hình 4.9 để đặt kích cỡ và vị trí. Chúng ta sẽ ép điều khiển này đến trường Cover với mã Visual Basic trong đoạn sau, do vậy để thuộc tính DataField rỗng.
Sau khi bạn thêm điều khiển vào form. Hãy cập nhật thủ tục BindControls để ép điều khiển OLE đến trường Cover trong bảng Authors. Khi bạn đã làm xong thủ tục trông như sau :
Public Sub BindControls ()

Dim cField1 As String

Dim cField2 As String

Dim cField3 As String

Dim cField4 As String

`

cField1 = "Name"



cField2 = "AuID"

cField3 = "Contracted"

cField4 = "Cover"

`

Text1.DataField = cField1



Label1.DataField = cField2

Check1.DataField = cField3

OLE1.DataField = cField4

End Sub
Hình 4.9 : Thêm điều khiển OLE :


Hãy lưu và chạy đề án. Bạn sẽ nhìn thấy các biểu tượng được hiện thị trên góc đỉnh bên phải của form ( chỉ cho một vài bản ghi đầu tiên ). Các biểu tượng đó được lưu trong trường nhị phân của cơ sở dữ liệu. Chú ý rằng bạn không phải làm bất kỳ sự tưởng tượng “việc nạp” của picture vào điều khiển OLE, bởi vì điều khiển dữ liệu liên kết những thuận tiện đó cho bạn.
Khi bạn chạy hoàn thành xong đề án.Nó trông như hình 4.10.
Hình 4.10 : Hoàn thành đề án :
Bạn đã hoàn thành xong một form mà nó chứa các điều khiển đối với những xử lý Text, Numberic,Boolean, và các kiểu đối tượng OLE được trong một cơ sở dữ liệu.
Những quy tắc chung cho việc thiết kế các form chuẩn.
Bây giờ bạn biết sử dụng các điều khiển dữ liệu của Visual Basic như thế nào, nó là thời điểm bạn học về thiết kế form. Microsoft khuyến khích những nhà phát triển bám chặt vào một tập các quy tắc chung. Trong đề án này, bạn sẽ tập chung vào việc bố trí và thiết kế form chuẩn. chúng ta sẽ định nghĩa những nguyên tắc cho diện mạo của thiết kế form sau :
+ Điều khiển vị trí và khoảng trắng.
+ Sắp xếp các nhãn.
+ Những font chuẩn.
+ Sử dụng màu sắc.
Bộ nguyên tắc đây sẽ được sử dụng trong suốt những đề án còn lại trong quyển sách này.


Chú ý : Những kiểu nguyên tắc được sử dụng trong quyển sách này được dính chặt trông và cảm thấy như của Microsoft Windows 95. Thậm chí nếu bạn vẫ sử dụng Windows 3.1 chúng tôi khuyến khỉnh bạn chấp nhận các bố trí chuẩn của Windows 95 bởi vì nhiều người đang sử dụng chương trình của bạn có thể đã và đang chạy Windows 95 trên các PC khác.

Каталог: file -> downloadfile5 -> 169
file -> CỘng hòa xã HỘi chủ nghĩa việt nam độc lập Tự do Hạnh phúc
file -> CỘng hòa xã HỘi chủ nghĩa việt nam độc lập Tự do Hạnh phúc
file -> TIÊu chuẩn quốc gia tcvn 7790-5 : 2008 iso 2859-5 : 2005
file -> Qcvn 81: 2014/bgtvt
file -> UỶ ban nhân dân cộng hòa xã HỘi chủ nghĩa việt nam
file -> VIỆn chăn nuôi trịnh hồng sơn khả NĂng sản xuất và giá trị giống của dòng lợN ĐỰc vcn03 luậN Án tiến sĩ NÔng nghiệp hà NỘI 2014
downloadfile5 -> Đề tài báo cáo Thực trạng hoạt động quản trị bán hàng và 1 số giải pháp nhằm nâng cao công tác quản trị bán hàng tại công ty A. D. A
downloadfile5 -> English 12 – Vocabulary + Grammar review cách nhận biết từ loại

tải về 0.58 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   5   6   7   8   9   10   11   12   13




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương