Compare
-------

Q. I just downloaded Compare.  I was wondering, are there any updates to Compare that will handle Visual Foxpro 6 tables?  I tried one using the Foxpro 2.6 setting, but it wasn't recognized.
A. A work around for using Foxpro 6 tables is to save the tables as .dbf files, and open them using the dBASE IV setting.

Q. Will Compare retrieve data from spreadsheets?
A. Yes, via CompServ.  CompServ is the server for Compare (version 2.7 or later).  CompServ returns the results of SQL statements that you enter and execute from Compare.  Based on the connection string and SQL that you specify in Compare, CompServ retrieves data from a remote (or local) MS Access, SQL Server or other SQL database, and returns the data to Compare.  CompServ also serves up data from spreadsheets and text files.

Q. How do I implement CompServ?
A. 
- Run CompServ
- Click Passwords menu > Access...
- Click OK, without entering a user name or password, because the
defaults are blank
- Enter a user name/password in the resulting grid
- Click any menu to close the grid

- Run Compare
- Select Queries menu > Select/Define and Run Remote...
- Click the Connect button
- If you're on an LAN, or have an IP address from a cable/DSL connection, enter the IP address.  If you're on a stand-alone system, enter 127.0.0.1 as your IP address.
- In the Password Access dialog box, enter the user name and password
you (previously) entered in the grid in CompServ.
- The Execute button should become enabled.  Eh Voila!  Enter your connection string and SQL statement to retrieve data.

Q. Where can I get samples of SQL connection strings.
A. Here: http://www.able-consulting.com/ADO_Conn.htm
A. Here: http://www.asp101.com/articles/john/connstring/default.asp

Q. When I execute a SQL command on a remote system, I get an "invalid..." massage.  What's up?
A. Try adding a semi-colon to the end of the connection string.

Q. Why do I get this message: "The Microsoft Jet Database engine cannot find the input table or query 'Table1'.  Make sure it exists and that its name is spelled correctly."
A. This message means that the name of the file you are trying to open is NOT in the eight-dot-three format (i.e. a maximum of 8 characters for the name, and a max. of 3 chars. for the extention).  Rename the file, then try to open it again.

Q. I keep getting this error: "No current record."  Why?
A. If a file has an index, Compare will not work properly.  After a record is changed, even if the change is not in a field that's in the indexed column, a "No current record" error will be generated.  To overcome this, open the file in compare, select the Quries menu > Define and Run Local..., then enter and execute the following SQL statement:
select * into tableName from table1 order by indexedFieldName;
- this will create tableName in compare's database (comparer.mdb)

Next, open comparer.mdb using MS Access, and export tableName as a .dbf file.  The
records will be in the order that you desire, minus the indexed file, and processing
will be error free.

Q. How does Compare deal with Null (blank) fields which are involved in criteria settings?
A. 
- When the "Compare; Replace/Delete Method" is "Parallel records; one record only", a criteria such as: If File A.Quantity is less than 11 (File B's data) is processed as "Quantity < 11 Or IsNull(Quantity)".  i.e. if the data in the Quantity field is less than 11 or blank, the specified action will be performed.  Null Fields will be processed regardless of the number of specified criteria.
- When the "Compare; Replace/Delete Method" is NOT "Parallel records; one record only", a criteria such as: If File A.Quantity is less than 11 (File B's data) is processed as "Quantity < 11 Or IsNull(Quantity)" IF ONLY ONE CRITERIA IS SPECIFIED, or, if more than one criteria is specified AND THE CONJUNCTION IS "Or".  If more than one criteria is specified and the conjunction is "and", the specified action will only be performed if Quantity is less than 11.
