VisData Help

VisData Help is the online Help file for the Visual Basic version 4.0 data access sample application.

This Help file includes information on all VisData menu items, dialogs, and forms.  Many of the features on the forms, menus, and commands are described in this Help file, such as the ability to select SQL statements from a QueryDef and drop them onto the SQL Statement form.  It is recommended that you browse this Help file often to gain the most use of VisData.

Menus

Forms and Dialogs


Menus

File Menu	Utility Menu
Open Database Command	Query Builder Command
Close Database Command	Data Form Designer Command
Workspace Command	Global Replace Command
Errors Command	Import/Export Command
Properties Command	DBList/DBCombo View Command
New Database Command	Close Forms Command
Compact MDB Command
Repair MDB Command	Preferences Menu
Make VisData a VB Add-In Command	Open Last Database on Startup Command
	Show Performance Numbers Command
Jet Menu	Include System Tables Command
Attachments Command	Query Timeout Value Command
Relations Command	Login Timeout Value Command
Groups/Users Command
Multiuser Settings Command	Window Menu
SYSTEM.MDA Command
Forms and Dialogs


Forms
Forms and Dialogs

Main MDI Form	Query Builder Dialog Box
Tables/Queries Form	Join Dialog Box
SQL Statement Form
	Errors Collection Form
Attachments Form	Global Replace Dialog Box
New Attachment Dialog Box	DBList/DBCombo Dialog Box
Relations Dialog Box	Copy Table Structure Dialog Box
Multiuser Settings Dialog Box	Import/Export Dialog Box
Groups/Users/Permissions Dialog Box	Import Tables Dialog Box
New User/New Group Dialog Box	Data Source Type Selection Dialog Box
Set Password Dialog Box	Export Name Dialog Box
Data Control Form	Table Structure Dialog Box
Data Control Properties Dialog Box	Add Field Dialog Box
Dynaset/Snapshot Form	Add Index Dialog Box
Find Dialog Box
Table Form	Login Dialog Box
Seek Dialog Box	Open ODBC Data Source Dialog Box
Zoom Dialog Box
Data Grid Form	Property Form
	Add User Defined Property Dialog Box
Menus	Data Form Designer Command


Close Forms Command (Utility Menu)

Closes all recordset, property, or List/Combo forms.

This command closes all forms of the selected type so that you dont need to close them one at a time.  You can choose either Close All Recordset Forms, Close All Property Forms, or Close All List/Combo Forms.


Compact MDB Command (File Menu)

This command compacts a Jet .MDB file and creates an encrypted or decrypted file.  If you choose the same name for the destination file as the source, the source will be overwritten with the new file.

When you choose the Compact MDB command from the File menu, a submenu displays the following commands.

Commands	Description

2.0 MDB	Creates a Microsoft Access version 2.0 .MDB file with the same encryption status as the one youre compacting.

Encrypt	Creates an encrypted Microsoft Access version 2.0 .MDB file.

Decrypt	Creates an decrypted Microsoft Access version 2.0 .MDB file.

Version 1.1	Creates a Microsoft Access version 1.1 MDB with the same encryption status as the one youre compacting.  (Only available on 1.x .MDB files.)


Errors Command (File Menu)

Displays the data access Errors collection.

This command displays a form with a list box containing the current Errors collection of the DBEngine object.  The form can be left open, minimized, or closed at any time, but it must be refreshed with the Refresh button when new errors occur.


Close Database Command (File Menu)

Closes the current database.

This command will close all forms that contain data from the current database, as well as close the global database variable gdbCurrentDB.  This command is called internally by VisData when you choose the Open Database command from the File menu.


New Database Command (File Menu)

Creates a new database.

This command will create a new database for the database type selected from the menu.  If you choose Jet Engine MDB, a new Microsoft Access .MDB file (version 1.1 or 2.0) will be created.  For the ISAM data types, a directory will be created where the table files will be stored, and for the ODBC data type, a new data source will be registered in the ODBC.INI file.


Open Database Command (File Menu)

This command opens a database of the selected type.  In most cases, you should create an .MDB file and attach tables from other data source types.  However, it is necessary and useful to open a database directly to perform DDL (Data Definition Language) operations and to experiment with performance.

If you choose ODBC, a dialog box is displayed that lists the parameters needed to open an ODBC data source.  If the source you select does not exist, it can be created from this dialog using the RegisterDatabase method.


Global Replace Command (Utility Menu)

Performs a global replace on a table.

Use this command to create an SQL update statement to update a column in all of the records in a selected table that satisfy the conditions you define.  You could also use a simple expression builder to make the command more useful.  Using SQL update statements is much faster than walking through the rows of a Recordset and performing edits/updates.

The following table lists the items contained in the Record Replace dialog box.

Item	Description

Table List	Lists the tables from which you can select a table to update.

Field List	Lists the fields in the selected table from which you can select a field (column) to update.

Condition	Sets the criteria for the records you want to select and update (leave blank for all rows).

Replace With	Sets the replacement value for the column data.  Single quotation marks will be added for you if the field type is Text.


Import/Export Command (Utility Menu)

Performs import and export of all data types.

Use this dialog box to import tables from other databases or export tables and SQL query results to another database.  It demonstrates the use of the Select Into SQL syntax and the use of embedded connect strings to access two separate databases with the same statement.

The following table lists the items contained in the VisData Import/Export dialog box.

Item	Description

Import	Loads subsequent dialogs from which you can choose the data type and table that you can import from another database.

Export Table(s)	Exports all tables selected in the table list box.

Export SQL Results	Exports the results from the current SQL query in the SQL Statement window.


Include System Tables Command (Preferences Menu)

Includes or excludes the system tables in the Tables/Queries window.

This menu command allows you to include or exclude the system tables present in .MDB databases as well as system objects in servers, such as a SQL Server.  This command tests if a TableDef is a system object by reading the Attribute property and masking out the dbSystemObject value.


Attachments Command (Jet Menu)

Lists all of the attached tables in the current .MDB file.  Each attached table is listed with its respective connect string.

The following table lists the items contained in the Attachments dialog box.

Item	Description

New	Click this button to load the New Attachment Dialog Box.

ReAttach	You can select multiple tables and click the ReAttach button to perform the RefreshLink method on the selected items.

Clicking the right mouse button over any attached table will display its properties.


Groups/Users Command (Jet Menu)

Allows you to view and modify groups, users, permissions, and owners.

The following table lists the items contained in the Groups/Users/Permissions dialog box.

Item	Description

Users	Displays items in the Users and Groups Belonged To boxes.

Groups	Displays items in the Groups and Members boxes.

New	Adds a new User or Group with the New User/Group Dialog Box.

Delete	Removes the currently selected User or Group.

Groups Belonged To	Lists the Groups that the selected User belongs to.

Members List	Lists the members of the selected Group.

Set/Clear Password	Sets your password or clears another users password.  If the selected user name matches the logged in User, the Set Password Dialog Box will be displayed.

Tables/Queries	Lists the tables and queries for the current database.

Owner	Sets the owner of any Table or QueryDef in the Tables/Queries box.

Permissions	Clicking the Assign button assigns permissions to the current User or Group.  You can select the Read Design, Modify Design, Administer, Read Data, Update Data, Insert Data, and Delete Data check boxes. Multiple tables or queries can be selected in the Tables/Queries box to assign permissions for more than one item at a time.


Multiuser Settings Command (Jet Menu)

Use this command to fine-tune and test multiuser options.

The Multiuser Settings dialog box is displayed at the bottom of the main MDI form so that it can be used as a toolbar while you are testing multiuser options.  The values you enter in this dialog box will not be implemented until you click the Set for All Recordsets command button.

The following table lists the items contained in the Multiuser Settings dialog box.

Item	Description

Retry Count	Sets a global variable gnMURetryCnt, which is used in the DynaSnap, TableObj, and DataForm forms to retry a certain number of times when a locking error occurs on an edit or update.

Delay	This sets a global variable gnMUDelay, which determines how many seconds the program will wait for the locks to be cleared in each retry in the error handler for the DynaSnap, TableObj, and DataForm forms.  For example, if Retry Count is set to 3 and Delay is set to 5, then when a lock occurs, the error handler will retry every 5 seconds and repeat 3 times if the lock is still on.  After 15 seconds, an error will be displayed and the user must manually try the operation again.

Set for All Recordsets	This will set the current locking type on all open Recordset objects as well as set a global variable gnMULocking so that subsequent RecordSet objects are open with the same locking type.

Add RowsPerPage Prop	This command will add a user-defined property called RowsPerPage to every Jet TableDef in the current database and enter a value equal to the number of rows that will fit into the 2K page that Jet uses for locking.  This is then available by viewing the Properties sheet of a Table or Recordset opened after this command is executed.  This is very useful for determining when an entire Table may be locked due to a RowsPerPage value greater than the current number of rows.

Free Locks	This button executes the DBEngine.Idle dbFreeLocks method to give Jet a chance to catch up with changes made to the tables.


Relations Command (Jet Menu)

Displays the Relations dialog box, which lists all of the relations in the current database.  Select a relation in the list to view its properties.  None of the properties are updatable so they are not active in view mode.

Most of the values are bit fields in the Attributes property so the code that sets the option buttons and check boxes is a series of masking tests such as:

If (mrelFrmRel.Attributes And dbRelationUnique) = 0 Then

The following table lists the items contained in the Relations dialog box.

Item	Description

Relations	Lists the Relations in the current database.

New Relation	Activates all of the controls on the dialog box so that a new relation can be created.

Delete Relation	Deletes the currently selected relation.

Add Relation	Adds the newly entered relation.

Dont Add Relation	Cancels the new relation and goes back to view mode.

The other items, such as Join Type, One To One, and One To Many, are Relation properties that are described in the Visual Basic Help file (VB.HLP).


SYSTEM.MDA Command (Jet Menu)

Sets the SYSTEM.MDA location.

This command will make an entry in the [Options] section of the VISDATA.INI file for the selected SYSTEM.MDA file.  It enables you to create different SYSTEM.MDA files and set up the security for each one from the same application.


DBList/DBCombo View Command (Utility Menu)

Loads the DBList/DBCombo form.

This is one of the most complex forms in VisData.  It enables you to use the new DBList and DBCombo controls.  You can display and test a DBList or DBCombo control by clicking the appropriate option button.  The DBList or DBCombo control has a source Data control that determines what data is contained in the control.  This is set with the RowSource, ListField, and BoundColumn drop-down list boxes.  The target side of the control is determined by the DataSource and DataField drop-down list boxes.  These will set the Table and Field that will determine the currently selected item; you can select a new item from the list that can be stored back into the Table.  You can experiment with various scenarios, and since the dialog box is not modal, you can open as many as you like.

The following table lists the items contained in the DBList/DBCombo dialog box.

Item	Description

RowSource	Determines the source Table or QueryDef that is bound to the DBList or DBCombo control.

ListField	Determines the Field from the above RowSource that will be displayed in the DBList or DBCombo control.

BoundColumn	Determines the actual column that is synchronized with the ListField.  For example, you might choose a StateName field but actually bind to a StateID field.

DataSource	Determines the Table or QueryDef from which data will be read and to which data will be written.

DataField	Determines the Field in the RowSource that will be read and written.

MatchEntry	Determines the type of matching that will occur on the DBList control.  Basic performs normal Windows list matching where pressing M three times highlights the third item that starts with an M.  Extended matching searches for a match of each subsequent letter entered, so pressing MER would find an item that starts with MER.

Locked	Sets the Locked property on the DBList or DBCombo control to either prohibit or allow the data to be changed.

Refresh Lists	This command refreshes the Data controls on the form and performs the ReFill method on the DBList and DBCombo controls.


Login Timeout Value Command (Preferences Menu)

Displays a dialog box that prompts you to enter the login timeout value that will be used for ODBC connections.  It sets a global variable, glLoginTimeout, which is used by the Open Database (OpenDB) form.  The timeout value will be stored in VISDATA.INI for future use.


Open Last Database on Startup Command (Preferences Menu)

If this menu item is selected, when you run VisData, it will automatically load the last database that was open in the last session.


Properties Command (File Menu)

Displays properties of DBEngine, Workspace, or current Database.

This is the only way to view the properties of the DBEngine, Workspace and current Database.


Query Timeout Value Command (Preferences Menu)

Displays a dialog box that prompts you to set the default query timeout value for the current database that will be used for ODBC connections.  This sets a global variable, glQueryTimeout, which is used every time an ODBC data source is opened directly.  The timeout value is stored in VISDATA.INI for future use.


Repair MDB Command (File Menu)

Displays a dialog box that allows you to select a corrupt .MDB file to repair.  You cannot repair the current database (since it is open, it must not be corrupt).


Show Performance Numbers Command (Preferences Menu)

Shows or hides performance numbers.

If this menu item is selected, VisData will display performance values when loading the DynaSnap and DataForm forms.  Values in fractional seconds will be displayed for the time the query took to run, as well as the time it took to perform a MoveLast to get the record count of the Recordset.  This is very useful in comparing performance for the various types of Recordset types, PassThrough, and attached tables, as well as query fine-tuning.


Window Menu

Arranges or activates windows.

Use the items on this menu to arrange all of the child windows as well as make one of the three main windows (MDI Main, Tables/Queries, or SQL Statement forms) the active window for keyboard control of VisData.


Workspace Command (File Menu)

Displays a dialog box that prompts you to open a new workspace.

This allows you to log on as a different user so that you can test security, set passwords for new users, and set up the SYSTEM.MDA file within the same VisData session.  If possible, the current database will be reopened from the new workspace with the newly entered user name and password.


Add Field Dialog Box

Use this dialog box to add a field to the current TableDef.  In the Tables/Queries window, select a table, and click the Design button.  Then, in the Table Structure dialog box, click the Add Field button to display the Add Field dialog box.

The following table lists the items contained in the Add Field dialog box.

Item	Description

Add 	Appends the current Field definition to the current TableDef.

Close	Closes the form when you are finished adding fields.

All other items, such as Collating Order and Ordinal Position, are Field properties, and are described in detail in Visual Basic Help file VB.HLP..  Those that do not apply are dimmed.


Add Index Dialog Box

Use this dialog box to add an index to the current TableDef. To display this dialog box, in the Tables/Queries window, select a table, and click the Design button.  Then, in the Table Structure dialog box, click the Add Index button.

The following table lists the items contained in the Add Index dialog box.

Item	Description

Indexed Fields	Lists the indexes in the field selected in the Available Fields box.

Available Fields	Lists the fields in the current Table.

Add 	Appends the current Index definition to the current TableDef.

Close	Closes the form when you are finished adding indexes.

All other items, such as IgnoreNulls and unique, are Index properties.  They are described in detail in Visual Basic Help file VB.HLP.  Those that do not apply are dimmed.


Add User-Defined Property Dialog Box

Use this dialog box to add a user-defined property to the current object.  You can display this dialog box by clicking the Add UDP button in the Properties dialog box (available from the File menu).

User-defined properties are available for most data access objects.  If they are not available for the current item, an error will occur when you attempt to add one with this command.

The following table lists the items contained in the Add User-Defined Property dialog box:

Item	Description

Name	Sets the name of the new property.

Type	Selects the data type for the new property.

Value	Sets the starting value for the new property.  The value is required but may be changed at any time.


Copy Structure Command

Displays the Copy Table(s) dialog box in which you select a table structure to copy.  To display the Copy Table(s) dialog box, in the Tables/Queries window, select a table and then click the right mouse button.  Choose the Copy Structure command on the context menu.

The code attached to this command demonstrates some basic Data Definition Language (DDL) by walking through the fields and indexes for the selected TableDef and creating a new table based upon those fields and indexes.  Indexes are copied optionally.  If you choose to copy the data as well, the code demonstrates the use of transactions for bulk operations such as this one.  The use of transactions is highly recommended for performance and data integrity.

The following table lists the items contained in the Copy Table(s) dialog box.

Item	Description

Table List	Lists tables from which you can select one to copy from.

Target Database	Lists databases from which you can select the Database to copy the table(s) to.  If the current Database is entered, you will be prompted to enter a new name for the table.

Target Connect String	Sets the target databases Connect property.  This is only needed for non-MDB Database types.

Copy Indexes	Copies the indexes for the selected table.

Copy Data	Copies the data for the selected table.


Data Control Form

You can display this form by selecting the Data Ctrl option for the Form Type on the toolbar.  Then, click the Open button on the Tables/Queries window.

This form was designed to be stand-alone so that it may be added to other applications very easily.  There are comments throughout that describe what simple changes are needed to do this.  It can be very useful in creating a full featured form quickly.

The following table lists the items contained in the Data Control form.

Item	Description

Add	Adds a new record to the current Recordset.

Update	Updates the current record with new data entered in the bound controls.

Cancel	Cancels the AddNew operation.

Refresh	Executes the Refresh method on the Data control.

Find	Displays an input box where you can enter an expression to perform a FindFirst on a dynaset-type and snapshot-type Recordset and a Seek on a table-type Recordset.

Delete	Deletes the current record.

Close	Closes and unloads the form.

Field Names	Displays the name of each Field in the current Recordset.

Field Value	Displays and allows modification of the data in the current Field.  Clicking the right mouse button will display the Properties collection for the current Field.

Data Control	Displays the current record position.  Clicking the right mouse button allows you to change the properties of the Data control and its Recordset to test different characteristics of various combinations of settings in the Data Control Properties Dialog Box.


Data Control Properties Dialog Box

Allows you to view and modify the Data control properties for the current form.  To display this dialog box, click the right mouse button over the Data control on the current form.

This dialog box is very useful in experimenting with various combinations of settings for the parent forms Data control and its related objects, including the Database and Recordset objects.  This is the only place in VisData where you can set any of the various attributes, such as AppendOnly and ForwardOnly, of a Recordset.

The following table lists the items contained in the Data Control Properties dialog box.

Item	Description

Database Properties	Sets properties directly related to the Database associated to the Data control on the parent form.

Recordset Properties	Sets properties directly related to the Recordset associated to the Data control on the parent form.

Data Control Properties	Sets properties directly related to the Data control on the parent form.

OK	Resets the Data controls Recordset with the new values entered.

Cancel	Closes the dialog box without placing the Data control on the parent form.


Data Grid Form

This is a simple form with a toolbar at the top, a DBGrid control in the middle, and a Data control at the bottom.  It is useful for experimenting with the DBGrid control quickly and easily.  The form can easily be copied into any application.

To display the Data Grid form, select the Data Grid Form Type on the toolbar, and click the Open button on the Tables/Queries window.

The following table lists the items contained in the Data Grid form.

Item	Description

Refresh	Executes the Refresh method on the Data control.

Filter	Enables you to place a filter on the current Recordset.

Sort	Enables you to sort the current Recordset.

Close	Closes and unloads the form.

The other items are properties of the DBGrid control, and are described in the Visual Basic Help file VB.HLP.


Data Source Type Selection Dialog Box

Enables selection of a data source type for import and export.

This dialog box is displayed during the import and export commands so that you may select the data source type to import to or export from.


Dynaset/Snapshot Form

This form demonstrates the use of a scroll bar for record positioning in a dynaset- or snapshot-type Recordset.  One nice feature of this form is the zoom ability on text and memo type fields.  This is executed by double-clicking the field name of the data to zoom in.  It loads the Zoom Dialog and enables much easier viewing and modification of large chunks of text.

You can display this dialog box by selecting Dynaset or Snapshot as the Recordset type on the toolbar, and then clicking the Open button on the Tables/Queries window.

The following table lists the items contained in the Dynaset/Snapshot form.

Item	Description

Add	Adds a new record to the current Recordset.

Edit	Places the current record in edit mode.

Update	Updates the current record with new data entered in the bound controls.

Cancel	Cancels the AddNew operation.

Find	Displays the Find Dialog Box where you can enter information to perform a FindFirst on the current Recordset.

Del	Deletes the current record.

Filter	Places a filter on the current Recordset.

Sort	Sorts the current Recordset.

Prop	Displays the Properties collection for the current Recordset.


Export Name Dialog Box

Accepts an export table name.

This dialog box is displayed during the export so that you can enter a name for the exported data.


Find Dialog Box

Searches the dynaset or snapshot-type Recordset for a specified expression.

This dialog is really a simple expression builder used by the DynaSnap form.  Each DynaSnap form loaded has its own instance of a Find form so that the same expression may be modified until the desired record is found.

The following table lists the items contained in the Find dialog box.

Item	Description

Field	Selects the field to use for the FindFirst.

Operator	Selects the operator to use in the expression.

Expression	Sets the value to find.

OK	Executes the FindFirst.

Cancel	Closes the form without executing the FindFirst.


Import Tables Dialog Box

Displayed during an import operation, this dialog box prompts you to select the table(s) to import.

This dialog box displays a list of all of the tables in the selected Import Database and prompts you to select an item from the list.  You can only import one table at a time.


Join Dialog Box

Use this dialog box to add joins to the Query Builder.  You can display this dialog box by clicking Set Table Joins button in the Query Builder dialog box (available from the Utilities menu).

This dialog box prompts you to select a pair of Tables and the Field to join.  It simply saves you the time of entering the table1.field1=tablel2.field2 syntax in the query.  To achieve more complex queries, it is recommended you use Microsoft Access because its graphical query builder is much more powerful.

The following table lists the items contained in the Join Tables dialog box.

Item	Description

Table List	Lists tables from which you can select the pair of tables to join.

Clear All Joins	Clears the list in Query Builder.

Add Join	Adds the selected join to the query in the Query Builder.


Login Dialog Box

Use this dialog box to log on as a different user.

This dialog box is used when the initial CreateWorkspace call fails due to an invalid logon (user admin must have a password) or when you choose Workspace from the File menu.  You must enter a valid user name and password combination or choose Cancel.  If you cancel the opening instance of this dialog, VisData will close.  If you cancel after choosing Workspace  from the File menu, you will remain logged on.


Main MDI Form

This Main MDI form consists of a menu, a toolbar, a child window area, and a status bar.

The following table lists the items contained in the Main MDI form.

Item	Description

Form Type	Sets the type of form to open when another command needs a form to display a Recordset.  It can contain a Data control, no Data control, or a DBGrid control.

Recordset Type	Sets the type of Recordset to open when another command executes the OpenRecordset method.  This can be a dynaset-, snapshot-, or table-type Recordset.

Begin Transaction	Executes a BeginTrans method.

Rollback	Executes a Rollback method.

CommitTrans	Executes a CommitTrans method.

User	Displays the current users name.  Clicking the right mouse button over the user displays the properties of the User.


New Attachment Dialog Box

Prompts you to add an attached table to the current database.  You can display this dialog box by clicking the New button on the Attachments dialog box (available from the Jet menu).

The following table lists the items contained in the New Attachment dialog box.

Item	Description

Attachment Name	Sets the name of the attachment in the current Database.

Database Name	Sets the Database name of the Table to attach.

Connect String	Sets the Database Connect of the Table to attach.

Table to Attach	Sets the name of the Table to attach.  This is a drop-down combo box that will be filled with tables if the Attachment Name, Database name, and Connect String are properly entered.

Save Password	Sets whether or not to save the password with the attachment.

Open Exclusive	Sets whether or not to open the attachment exclusively.

Attach	Executes the code to create the new attachment.

Close	Closes the form when you are finished adding new attachments.


New User/New Group Dialog Box

Prompts you to add a new Group or User.  You can display this dialog box by clicking the New button on the Groups/Users/Permissions dialog box (available by choosing Groups/Users from the Jet menu).

The following table lists the items contained in the New User or New Group dialog box.

Item	Description

Name	Sets the name of the Group or User to add.

PIN	Sets the (Personal Identification Number) PIN of the Group or User to add.  This property is required and must be at least four characters long.

OK	Appends the new Group or User.

Cancel	Closes the dialog box without adding the new Group or User.


Open ODBC Data Source Dialog Box

Use this dialog box to open an ODBC data source with the user-supplied parameters.

The following table lists the items contained in the ODBC Data Source dialog box.

Item	Description

Data Source	This is a drop-down combo box that includes all of the currently registered data sources found in the ODBC.INI file in the Windows directory or the Windows NT registry.  It is filled by using the ODBC API call GetDataSource. This is the DSN clause in the connect string.

Database	This is the Database that will be opened.  If this is omitted, the default database for the specified user will be opened. This is the DATABASE or DBQ clause in the connect string.

UserName	This is the UID clause in the connect string.

Password	This is the PWD clause in the connect string.


Property Form

Displays the properties for a selected object.

The following table lists the items contained in the Property form.

Item	Description

Add UDP	Click this button to add a user-defined property to the current object by displaying the Add User Defined Property Dialog Box.  This will cause an error on objects, such as a Recordset and DBEngine, that do not allow user-defined properties.

Property Value	Clicking the right mouse button will display the values for the selected properties.


Query Builder Command

Use this dialog box to build, view, execute, and save SQL queries.

This is basically an expression builder with all of the components needed to make simple to very complex SQL queries.  Most of the dialog items are self-explanatory so only a few will be described below.

The following table lists the items contained in the Query Builder dialog box.

Item	Description

List Values	Adds all unique values for the chosen Field into the drop-down list.

Set Joins	Displays the Join Dialog Box so that you may more easily add a join to the current query.

Show SQL	Displays the SQL statement defined you entered.

Run Query	Opens a Recordset using the SQL statement you entered.

Copy SQL	Copies the SQL query to the SQL Statement window.

Save QDF	Creates a new QueryDef with the settings you define.


Seek Dialog Box

Use this dialog box to execute a seek for the Table form.

This dialog is used to invoke a Seek method on the current table using the current index.  It does not handle compound indexes so it is only effective when the index contains a single column.

The following table lists the items contained in the Seek dialog box.

Item	Description

Operator	This is used as the first argument to the Seek method.

Value	This is the value to seek.


Set Password Dialog Box

Use this dialog box to set the password for the current user.

This dialog enables you to change the password of the current user.  It is a typical Old, New, Confirm Password dialog box.


SQL Statement Form

Use the SQL Statement window to enter, modify, execute, and save SQL statements.

This form enables you to execute any valid SQL statement and save it as a QueryDef, or update the currently selected QueryDefs SQL property.  You can view the SQL statement from a QueryDef on the Tables form by either selecting it and clicking the Design button on the Tables/Queries window, or by dragging it from the Tables form and dropping it onto the multiple-line text box in the SQL Statement window.

The following table lists the items contained in the SQL Statement form.

Item	Description

Execute SQL	This is the default button and will be invoked if you press the ENTER key while this form is active. To put a carriage return into the SQL statement, press CTRL+ENTER.

Clear SQL	This simply clears the SQL Statement text box.  It does not copy the contents onto the Clipboard.

Save SQL	This command will prompt you to overwrite the SQL in a QueryDef if one is selected in the QueryDefs list on the Table form, or it will prompt you for a new name if you chose No to the above prompt or there is no QueryDef currently selected.


Table Form

Use the command buttons on this form (that look like the standard Data control) to perform moves on the table-type Recordset.  One nice feature of this form is the zoom ability on text and memo type fields.  This is executed by double-clicking the field name of the data to zoom in.  It loads the Zoom Dialog Box and enables much easier viewing and modification of large chunks of text.  Table-type Recordsets are ordered by the currently selected Index so there is a drop-down list box containing all available Indexes that may selected to establish the desired order and Seek Field.

The following table lists the items contained in the Table form.

Item	Description

Add	Adds a new record to the current Recordset.

Edit	Places the current record in edit mode.

Update	Updates the current record with new data entered in the controls.

Cancel	Cancels the AddNew operation.

Seek	Displays the Seek Dialog Box where you can enter information to perform a seek on the current table-type Recordset.

Del	Deletes the current record.

Filter	Places a filter on the current table-type Recordset and loads the newly filtered Recordset into a Dynaset/Snapshot Form.

Prop	Displays the Properties collection for the current Recordset.

Index	Selects the current Index to order by and Seek on.


Table Structure Dialog Box

Use this dialog box to create, view, and modify table structures.

This dialog box displays all of the properties of the fields and indexes contained in the current TableDef.  Some of the properties are read-write.  If they are read-only, they are not accessible by the mouse or keyboard.

The following table lists the items contained in the Table Structure dialog box.

Item	Description

Add Field	Displays the Add Field Dialog Box.

Remove Field	Removes the selected Field (this is only available with Jet database engine Tables).

Add Index	Displays the Add Index Dialog Box.

Remove Index	Removes the selected Index.

Build the Table	Appends the new TableDef to the current Database.

Print Structure	Prints the TableDef structure (not available on new TableDef objects).


Tables/Queries Form

This form is designed after the Microsoft Access Database Container.  It contains similar features such as a pop-up menu, Open, New, and Design buttons and lists either the Table or QueryDef objects in the current Database (QueryDef objects are only available in Jet database engine databases).

The following table lists the items contained in the Table form.

Item	Description

New	Loads the Table Structure form for Tables and the Query Builder form for QueryDefs.

Open	Opens a Recordset for Tables and row-returning QueryDefs or executes action queries.  Recordsets are of the Recordset Type  Form Type selected on the Main MDI form toolbar.

Design	Loads the Table Structure form for Tables and the copies the SQL contents of QueryDefs to the SQL form.

List Double-Click	Executes the Open command on the selected QueryDef or Table.

List Right Click	Displays a pop-up menu with commands to display the object properties, rename the object, delete the object, load the Copy Table Structure Dialog Box, remove all records from a Table, and pack an Xbase Table.


Zoom Dialog Box

Use this dialog box to view and modify text and memo data.

This is an expanded view of a text or memo field.  You can display this dialog box from the DynasSnap, TableObj, and DataForm forms by double-clicking a field or by pressing the F4 key.  If the Recordset is not updatable or is not in edit mode, you will only be able to view the data.  If it is updatable, you can make and save changes.

The following table lists the items contained in the Zoom dialog box.

Item	Description

Save	Saves the new text in the field.

Close w/o Changes	Cancels any changes made to the data.


Data Form Designer Dialog Box

Use this dialog box to create data forms and add them to the current Visual Basic project.

This is an Add-In utility that adds forms to the current Visual Basic project under development.  It is very useful for creating forms for browsing and modifying data from a simple Table to a complex Query.  It is only available when VisData has been launched from the Visual Basic Add-Ins menu.

The following table lists the items contained in the Data Form Designer dialog box.

Item	Description

Form Name	Sets the name of the form to add to the Visual Basic project.

RecordSource	Selects the record source for which you will create the form.  The user can select an existing Table or Query from the list or enter a new SQL statement.

Available Fields	Lists the Fields in the Table or Query selected or entered into the RecordSource combo box.

Included Fields	Lists the Fields to include on the form.  This list can be reordered by dragging and dropping items at different locations in the list.


Make VisData a VB Add-In Command (File Menu)

Registers VisData as an OLE Automation server as well as the small Add-In stub .EXE.

This command will do the following three operations:

1.	Registers the current VisData .EXE file (you cannot run this from the development environment).

2.	Registers the Add-In stub for 16- or 32-bit development (it must be in the same directory as the VisData .EXE file).

3.	Adds an entry in the VB.INI file in the appropriate Add-Ins section so that VisData will show up on the Add-Ins menu the next time Visual Basic is launched.

This enables you to launch VisData from Visual Basic  at any time.  You can also use VisData from any other Visual Basic application as an OLE Automation server.  This can be accomplished by executing the following two lines of code in any application:

Dim x As Object

Set x = CreateObject("VisData16.VisDataClass")