    32	     Visual Bat 

     2.         Data 

      Data     , 
)     . 
      Data      
Microsoft Jel          
 ! . 
           Data  
     ,   
 v    . 

    2.1.      Visual Basic 

         Visual Basic  
   ,       
,      . 

    2.1.1.     Microsoft Jet 

        ()    Data    
      Microsoft Jet.  Jet 
        : 
          Jet.       
   Jet. Microsoft Access  Visual Basic    
   ;  Jet; 
         -   (ISAM).  
    Btrieve, dBASE, Microsoft Visual FoxPro, Paradox,  
    HTML; 
       ODBC-  .        
/,    ODBC, ,  Microsoft SQL 
Server,  Visual Basic      , 
   ODBC. 

    2.1.2.      

        ,  Visual Basic, : 
         Remote Data Source.    , 
       ODBC. Remote Data Source 
   Enjtejprjse; 
        ODBC.      
)!   (API) ODBC;     
 ; 
        Visual Basic SQL (VBSQL).    
  Microsoft SQL Server;      . 


     2.       Data	33 


    2.2.    

    3        
  . 
            . 
     . ,    
 ,     ,   ,  
  . 
            
Nwind.mdb,   Visual Basic (    
Relationships ( )  Microsoft Access): 


    ~~;~;        :    :~z^^,w;'<:;r '    :	:L""*       11 
    .    ja.;.wj.-w   !	t   ..                       m l     ._:      .;...   
   ,      m .....   H 
         _i.    '  ' ProducUD	""tjj Orderro                
OnterlD	^J- CushmerSD ^ 
    I        CompanyNarn            \       ProductName	; ProductTO	^   
CustomerlD	""'      CornpanyNarr 
    ContactName        ; * SupplierlD	;~' . ; UnitPrice	-: IT EmployeelD	ContactName 
    ContactTitle                "*. CategorylD	^Quantity	OrderDate	ContactTitle 
    ftddress         . '              QuantityPerUnit	Discount	RequiredDate	Address 
    City                -               UnitPrice		ShippedDate	,    
 icity 
    .  Region                          ; s 
UnitsInStock	fffjjts>'5i.j*5.m-	ShipVia	~"      Region 
    1       .' PostalCode    _      '. ] UnitsOnOrder	;                       
                  ;	t        Freight	! PostalCode 
    Country                       'x?' ReorderLevel	<   -       EmployeelD  
^	5hipName	| Country         
    Phone               -           ^Discontinued	i >     .  
LastName	ShipAddress	Phone           *\ 
    "'_____-            -,-, ^,,-,-,4            FirstName	ShipCity	' 
    ;,:*:^\,-!5%,;	Title	ShipRegion	,-;,";   ,,-4%^*.%, 
    ,	TitleOFCourteJ	shipPostalCode	i  
    Categuryro           '	BirthDate	ShioCnuntrv	!^ 
    :          CategoryName	HireDate	P           Y	CompanyName 
    !: Description          :	Address	]phor'e______ 
    Picture	City                J 
    _iU_______________________________r|_ 

    . 2.1.    . 

    2.2.1.   

      Nwind   ,  . , 
,  Orders (), Customers ()  Employees (). 
       Jet    ,    . 
 . 2.2     Employees. 

      

        ,    ( 
 ),      . 
    i ,   Employees     EmployeelD. 
    1        ,    
   . 
    i ,    Nwind  Orders   CustomerlD. 
    ,      ""  Customer, 
    
    ; Orders.          
 ,       , ,    
,      .     
      Orders   --. 

    34     D 
    

    ^1	able Structure	E3l 
    Table Name:                  (Employees 
    Field List:	Wame:                      JEmployeelD 
    FrnnlnvefilD                                        14 
    !	LastName	:                       |                          
    1	FirstName Title	Size;                       |                         
    TitleOfCourtesy BirthDate HireDate Address	CollatingOrderi       j         
             f~ " AllowZeroLength 
    '	City	OrdinalPosition;       |o                       Required 
    1	PostalCode	ValidationText;       1 
    1	Country                                             . HomePhone          
                         J^J	ValidationRule:        1 
    Add Field       j    Remove Field	DefaultValue:          1 
    Index List:	Name:                    jPrimaryKey 
    LastName PostalCode                                . 	r   
                       r,                          r, F                       
    Add Index      I   Remove Index	Fields:      |+EmployeeID 

    . 2.2.   (  Table Structure  
Visual Data Manager). 

     

          .  
!     ,     . 
,    Employees    
 . 
            . , 
: Employees     , ,    . 

     

          ,    
 ocyi   ,    . 
                
     . ,   Employees  
6i     EmployeelD. 

    2.3.     Data 

      Data  Visual Basic   
         
  
       ,     , 
    Data    Recordset.  
,    

     2.       Data 35 

 Data Form Wizard     ,  
   Data. 

    2.3.1.        Data 

      Data       
   Microsoft Jet.      
   . 
             
Data    : 
    1.    Data     , 
    ,     . 
    2.          
,  i            Data;    
   . 

        

              
          
.  |       , 
  -    ,   
   .     cjgjati^g^^cjj^eHHbix 
  Visual Basic,   (CheckBox),  (Image), 
 (Label),  (PictureBox),   (TextBox),  
 (ListBox),    (ComboBox)  OLE-. 
         ,   
 -!   Data     : 

    '       	(◗:  : 
    	________         ;     - DataSource = Datal 
    	|!                             -DataField = Last Name 
    | 41 Datal "	]    Data: 
    |        -,.	;      - DatabaseName = NWIND.MDB 
    '      - RecordSource = Employees 

    . 2.3.     Data    . 

          Data, , 
   ,     , 
    -   .     
     JTb      
Nwind ( - ).    . 

        Data 

        Data   : 
      1.   ,     , 
   .          DatabaseName. 
      2.  ,   ,   
 RecordSource ,            SQL. 

    36	    Dai 


    :      dBase, Paradox  Btrieve, 
   DatabaseName ^    , 
    Connect    . 


       

            Data,  
 !       Data   
,        . 
           Data: 
    1.       DataSource   
   Data (       Data). 
    2.         , 
 "     ,    DataField. 

    2.3.2.       Data 

     Connect 

     Connect    ,   . 
       ,   
 .	~ 

     Exclusive 

     Exclusive ,     
   .   Exclusive   True   
    ,      
  ,       . 

     Readonly 

     Readonly ,      
)      ,    
  Readonly  True. 

     Recordset 

     Recordset ?,    ,  
!  Data.       ,  
       . 

     BOFAction  EOFAction 

      ,      
 Date     EOF     True. 
    ,   EOFAction   Data   
vbAc tionAddNew    Data     
   ,     AddNew, 
:   .	"~~ 

     Refresh 

     Refresh   Recordset.     
  RecordSource,    Refresh,  
      ,    Refresh: 

     2.       Data	37 

    Datal.RecordSource = "SELECT * FROM Employees " & _ 
    "WHERE [Employee ID] = " & txtEmpID.text Datal.Refresh 

    2.3.3.  Recordset 

             , 
    Data.  ,  ""  
  Data   .	" ~"~ 

      Recordset? 

     Recordset    ,     
 Data.     ,    
  . 
          Recordset 
  Data.    Recordset  . 
        . 
    ,     Data 
        Recordset. 

        

            , 
      ,   EOF 
   Recordset.     EOF  BOF  
,    BOFAction  EOFAction. 
    ,   EOFAction  ,   
  .   EOFAction   EOF,   
   EOF     .    
     BOF   EOF   . 
       ,   BOF  EOF  
  Recordset ( ). 

        
    :	-                                               1                    
            . =      > -2.        _______ 
    4        6	-  
             ______ EOF   EOF   _ 
    ;	.            

    . 2.4.   Recordset. 

    _ Recordset    Data  
     Recordset  _01|,  
   :

    Datal.Recordset.MoveNext   '      
    fr"5atal.Recordset.EOF  Then Datal.Recordset.MoyeLast 

    38	    D


    2.3.4.     Recordset 

              
 Recordset.     , , 
 i>  . 

       EOF 

       EOF  Recordset ,    
          .   
    ,    ,   EOF  True. 

     AddNew 

            AddNew.  
  AddNew Visual Basic      
    EditMode   Data  dbEditAdd. 
           ,      
Mei UpdateRecord  Update        . 
       ,      : 

    Sub   cmdAdd_Click   () 
    Datal.Recordset.AddNew 


     UpdateRecord   Data 

             
UpdateRecord.  ,       
  : 

    Sub   cmdUpdate_Click   () Datal.UpdateRecord 


     CancelUpdate   Data 

       AddNew  Edit     
     ,    CancelUpdate. 
    ,      ,     
;   ,  CancelUpdate  ,   
           . 
     ,      : 

    Sub   cmdCancel_Click   () Datal.CancelUpdate 


     Delete 

            Delete.  
 *  ,       , 
     .	" " ~ 

    Sub   cmdDelete_Click   () 
    Datal.Recordset.Delete 
    Datal.Recordset.MoveNext 
    If  Datal.Recordset.EOF  Then Datal.Recordset.MoveLast 
    End   If End  Sub 


     2.       Data	39 

    :         
 . ,    Nw/nd  , 
  ,         .  
    -1      .  
 " "  4 "  
   ". 

    2.3.5.  Data Form Wizard 

    Data Form Wizard    Visual Basic,  
   ie           
  Data.  Data Form Wizard    
   (   )    
 "   . 
       Data Form Wizard,    Add-In 
Manager   ia Add-lns    Add-In Manager   
;  .  -   Data Form Wizard    
Add-lns,    . 

    Available Add-lns;	OK        1 
    LJ Microsoft DataTools	Cancel      I j VB ActiveX Control Interface Wizard 
                           ' 
    I] VB ActiveX Document Migration Wizard .] VB Add-In Toolbar	Help        I 
    11 VB Application Wizard	' 
    I] VB Property Page Wizard [.] VB Wizard Manager 
    t 
    1 
     
    -	""""" 

    . 2.5.  Add-In Manager. 


    2.3.6.    Data Form Wizard 

        Data Form Wizard    
     Orders () and Order Details ( 
)   Nwind.mdb.     "--" 
    (. . 2.1). 
    1.    Standard EXE. 
    2.  Add-In Manager,  Data Form Wizard. 
    3.   Add-lns  Data Form Wizard. 
    4.   Data Form Wizard,     : 

    	____                  ________                    ______ 

    Database Format (  )_________ _Access_______________ 
Database Name (  )___________ <> \Nwind.mdb_______ 


    40	    Dal 

    	 

    Form Layout ( )____________ Master/Detail___________ Master 
Record Source (  	 Orders 
"")________________________________________________ Master Fields ( 
  "")                   OrderlD, CustomerlD, EmployeelD, __  
  ___________________________ OrderDate, ShipName_______ Detail Record Source 
(                Order Details 
"")______________________________________________ Detail Fields ( 
 "")__________    Order Details Record Source 
Relation (   )       OrderlD______________ Available 
Controls (  )     Select All_____________ Form Name 
( )_________________ frmOrders____________ 

    5.    Project Properties  frmOrders  Startup Object. 
    6.  . 
         (    
  ): 

    '    	fl024?l                     JWJET               
  J5 ' ' '""" ""             |Q4.CR94    ~"    jVins 
etalcools Chevalier I     I     OrderlD|     ProductlDl                 
UnitPricel     Quantity!        Discount! 
     J       J                   
    [ I -<I^^"~~_"_2~^	' 

    . 2.6.       "--". 

             
       . 
      ,  Data Form Wizard.    
 ;        : 
    )   DatabaseName  RecordSource   Data. 
    )      Data,   
< Reposition,  ,    "--" 
  .	" 
    )  DataSpurce  DataField    . 


     2.       Data	41 

    )      Click     . 
    ) _1   DBGrid. 

    2.4.    Data 

      Data   ,   
     : Validate, Reposition  
Error.        
   Data. 

    2.4.1.  Validate 

        ,       , 
   Validate.     
 ,  Visual Basic      
           
  . 
     Validate        
 . 
       Validate   : Private 
Sub Data1_Validate (Action As Integer, Save As Integer) 

     Action 

     Action  ,    Validate. 
 Validate        : 
    	 MoveFirst, MovePrevious, MoveNext, MoveLast; 
    	 AddNew; 
    	 Update; 
    .   	 Delete; 
    '   	 Find; 
    	  Bookmark; 
    	  ; 
    	 . 
       ,     Action 
 vbDataActionCancel. 

     Save 

     Save ,    .  Save  True, 
   .   ,   
Save  False.        
   ;    .    , 
 . 

Private Sub Datal_Validate( Action As Integer, Save As Integer) 
Dim  iResponse  As   Integer 
If  Save  =  True  Then 
    iResponse   =  MsgBox   ("   ?",   vbYesNo) 
If   iResponse  =  vbNo  Then Save  =   False 
    Datal.UpdateControls   '          
End   
If End   
If End  Sub 


    42	   D, 


    2.4.2.  Reposition 

     Reposition        
      . 
      ,  Visual Basic    
           . 
       ,        
    AbsolutePosition  Recordset:	 

    Private  Sub  Datal_Reposition() 
    Datal.Caption   =   "      "   &  _ 
    Datal.Recordset.AbsolutePosition  +   1 End  Sub 

         ,   
        -,  
      . 
    ,         - 
    , ,    
  GJ   .      
   ,       Reposition. 
        Reposition    
 / 

Private   Sub  Datal_Reposition () 
    Datal.Caption=Datal.Recordset.AbsolutePosition 
    If Datal.Recordset("EmployeelD") > 5   Then '      > 5 
	Optionl.Value   =  True   '     -    
    Else 
    	Option2.Value = True ' ,  -  
    End If 
    Datal.Caption  =   "      "   &  _ 
    Datal.Recordset.AbsolutePosition  +   1 
End  Sub 

    ,   ,   : 

               [^ '   ~71'	  
                             [	**"  
    .,....,..,	! f  
    !                   (	[ 
    I                1      J     1     
 1 1 .ijTjT  7	T"TQ 
    | 

    . 2.7.   Reposition. 


     2.       Data	43 

    2.4.3.  Error 

     Error ,      
 Data      .    
  Data      Error. 
    ,          
 Data,     ,   
Data   .       
   ,   Error. 
        ,       
.         
 Data,     . 

    /eod      

       Error      ,  
     Data,  , 
Visual Basic          . 
           ,  
  Response  ErrorQ       
   ,     : 

Private   Sub   Datal_Error(DataErr  As   Integer,   Response  As   Integer) 
If  DataErr = 3022 Then '      -   
	MsgBox   "       " 
	txtEmpID.SetFocus 
	Response   =    
Else 
    Response  =   1   '          
End  If 
End Sub 


    2.5.     ActiveX 

          , Visual Basic 
      ActiveX. 

    2.5.1.   DBGrid 

        (DBGrid),      
  ,      
     . 

         

    DBGrid    ActiveX,       
  ,       Recordset.  
 DataSource   DBGrid    
 Data,   , DBGrid   
;         . 
     ,      DBGrid, . 
 . 2.6,        (DBGrid)   . 


    44         Acth 

        DBGrid  : 
    1.   Project  Components. 
    2.   Controls   Components (. . 1.3)  
Microsoft Data Boi Grid Control   OK  Apply. 
             
    .        
(  ).        
  .  ,       
  nepi . 
             Row  Col. 
      ,    
 , ,     .    
 ,      Data 
   , ,   . 
         ,     
  ,   Value   Column (. ). 
     ,   DBGrid     
!  .      ,  
 (*),      . 
          DBGrid  ;  
ynpaei       .   
  i   Column,     
     Edit   .   
,  ?          
 .       ,    
 . 
      DBGrid   ,   
. [ ,   True   AllowUpdate, 
     .   
    . 
       : 
    1.    DBGrid   . 
    2.     Properties. 
    3.    Property Pages   Columns. 
        ,    , 
      . 
          DBGrid,   
           
   Retrieve Fields. 

          

             
! Columns   DBGrid. : 

    MsgBox DBGridl.Columns(DBGridl.Col).Text 

          DBGrid,   
   Recordset. ,    DBGrid 
      Data'1,    
 : 


     2.       Data	45 

    Da tal.Recordset.Edit 
    Datal.Recordset.Fields("Product Name") = "" 
    Datal.Recordset.Update 
    

      BeforeUpdate 

     BeforeUpdate   ,     
  DBGrid     Data.   
   ,    . 

    2.5.2.   MSFIexGrid 

      MSFIexGrid   
  -       .    
 DBGrid; ,  -        Data, 
  MSFIexGrid       . 
      MSFIexGrid       
      . 
          ,     

OrderlD      ( )   Order Details ( ). 
    ..^^.__^ProduciipJ	Q^pT^ej"^ua^^	Discount 3 
    !	11	14                12	0 ^J 
    10248!	42	9.8                10	0 
    !	72	34.8                 5	0 
    ^111>      m      10         
    ,B	|              51             4Z4J      _       40                 0 
    -1-'41	'~7.7J~~"~~~ 10                 
    10250f	51             4Z4r35             0.15 __J              65          
   16.8                15             0.15 zl 
    US Datal	J_5 

    . 2.8.      MSFIexGrid. 
    
      : 
    1.    MergeCells  ,   . 
    2.   True    MergeRow ()  MergeCol () 
   ,   . 
    ,      Order Details,   , 
    MSFIexGrid,   : 

Private   Sub   Form_Load() 
    MSFlexGridl.MergeCells = flexMergeFree 
    MSFlexGridl.MergeCol(0)    = True      
End  Sub 

       MSFIexGrid      
 Components ( Project | Components). 


    46     Activ 

    2.5.3.   DBCombo 

          (DBCombo)   
 ^ (DBList)        
   .       
    . 
    ,        
,     DBList    
       Shippers (  Nwind.mdb). 

         

             
 . 
    ,         
(  ),       , 
  !   . 
        ,     
DBComt           
Products,  *  : 

     Forml	^^^^^^LdQl^y	1 
      -  N- 		* 
    JDncle Bob's Organic Dried Pears 
    [Produce                 _?j 
    13 
    |7 
    	<	 	> 1 | 
    
    
    	4		__       ]1 
    /, 
    / 
    : 
    RowSource=DatCategor ~ 'List Field=Categogy Name 
    : 
    /DataSource=DatProducfv DataField=Categoryld (  Products) 
BoundColumn=Categoryld (  Categories) 

    . 2.9.  DBCombo     . 


        DBCombo 

     ,        
 DBCombo,    RowSource    
 Data,    ListField   .	' " " " " 
             
.  ,      ,  
  ~-,    DataSource  
DataField.    ,   
,        BoundColumn. 
          DBList  DBCombo  
    Data     ,   
 ListField /. RowSource,       
,   DataSource  DataField. 


     2.       Data	47 

     :     

         

DataSource      
   Data,     
     .

DataField	
    , 
  DataSource.       
      .

RowSource       
    Data,      
.

BoundColumn 
   ,   RowSource.    
   ,   DataField,       
    DataSource. 

ListField	
    ,  RowSource,   
   . 

    I	.11 

     ListField  ,    . 
   Data,   DataSource,  
 ,  ,      
 .     ,  , 
  BpundColumn,     
 Data,   DataSource  DataField.  
,     ()    
(RowSource.ListField)    (RowSource.BoundColumn     
)           

    DataSource.DataField   . 


