DOCUMENT:Q171318 14-JUL-1997 [vbwin] TITLE :HOWTO: Bind Data Controls Across Multiple Forms PRODUCT :Microsoft Visual Basic for Windows PROD/VER:4.0 5.0 OPER/SYS:WINDOWS KEYWORDS:APrgDataAcc vb4all vb4win vb5all VBKBCtrl VBKBDB kbinfo ====================================================================== --------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual Basic Professional and Enterprise Editions for Windows, versions 4.0, 5.0 --------------------------------------------------------------------- SUMMARY ======= The information in this article demonstrates how to bind two Data Controls on separate forms and have the bound controls updated to scroll through the same recordset. MORE INFORMATION ================ With Microsoft Visual Basic, you can assign or set the RecordSet property of a Data Control to any other recordset, including an existing Dynaset, Snapshot, or Table object. In addition, you can update the bound fields of the Data Control to reflect changes in the recordset. This allows all bound fields on all open forms to scroll through the same recordset. Step-by-Step Example -------------------- 1. In Visual Basic, start a new project. Form1 is created by default. Add a data control (Data1) and two text boxes (Text1 and Text2) to Form1. 2. Using the following table as a guide, set the following properties of the controls on Form1: Control Property Value -------------------------------------- Data1 DatabaseName BIBLIO.MDB Data1 RecordSource Titles Text1 DataSource Data1 Text1 DataField Title Text2 DataSource Data1 Text2 DataField Year Published 3. Add the following code to the Load() event of Form1. Sub Form1_Load() Data1.Refresh ' Data control must be refreshed before ' showing form2. Form2.Show ' Load second form that refers to data control ' on this form. End Sub 4. Add a second form to the project. Form2 is created by default. Add a data control (Data1) and two text boxes (Text1 and Text2) to Form2. 5. Using the following table as a guide, set the following properties of the controls on Form2: Control Property Value ---------------------------------- Text1 DataSource Data1 Text2 DataSource Data1 6. Add the following code to the Form_Load event of Form2. Sub Form_Load () Text1.DataField = "Subject" ' Assign the bound field values. Text2.DataField = "Comments" Set Data1.Recordset = Form1.Data1.Recordset ' This is the key. End Sub 7. Press the F5 key to run the program. The two forms should display on the screen. When you click either Data Control to scroll through the recordset, the bound fields on both forms will scroll at the same time. ====================================================================== Keywords : APrgDataAcc vb4all vb4win vb5all VBKBCtrl VBKBDB kbinfo Version : 4.0 5.0 Platform : WINDOWS ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1997.