1.
How do I add custom properties to my parts?
To add one or more properties to your parts, you simply add a
column to the Parts table in the Parts.mdb file. You must have
Access 97 to make changes to the database. The next time you open
PartLife, your new column name will appear as a new row in the
"Other properties" section of the part editor form.
2. How can I find the PartHistory records that are
causing the warnings after I recalculate mileage?
There are two ways to identify the PartHistory records that are
causing duplicate miles warnings. First, printing one if the two
reports dealing with duplicated history. The second is to click the
buttons on the bottom of the PartHistory form by clicking "Maintain
| Part use history" on the menu.
Since the
duplicates are detected by looking in the MilesLog table, and the
MilesLog table is re-generated only during a re-calculation,
PartHistory table changes will not affect the parts listed in the
form until after a recalc is performed.
3. Why is my "Maintain" menu item grayed out?
The menu item "Maintain" is grayed out if the command line
parameter "AllowMaint" is not found when PartLife starts. To add
"AllowMaint" to the command line, open the properties of the icon
you use to start PartLife and in the "Target" field, after the
program path, put "AllowMaint" (no quotes).
4. The size of my Parts.mdb file seems too large for
the amount of data I have in it. How can I make it smaller?
Access keeps the space used by deleted records in the file until
the file is compacted. If you are not using replication, a simple
compaction will remove this unused space from the file. If you are
using replication, the deleted records are not removed until all
replicates in the replica set have been synchronized to the
generation in which the records have been deleted. All replicates
means all replicates that were ever created. For this reason, it's
important to not create replicates and delete them as if they were
simple copies of the database. If you delete a replicate, you will
never be able to sync with that replicate.
Most of the space
taken up by deleted records is in the MilesLog and PartTotal
tables. These tables are used when calculating miles on parts and
get created and deleted often. To compact a database that has
missing replicates, and reclaim this space, you must delete the
tables at the design master, and then replicate through the replica
set. Once that is done, compacting the design master or the
replicates will reduce the size of the Parts.mdb file.
5. I've created some duplicate PartHistory records.
What's the easiest way to remove the duplicates?
The easiest way to remove the duplicate records is to open the
duplicate with the PartHistory editor and delete the record. To
open a PartHistory record in the editor, double-click in the row
selector to the left of the row in the PartHistory form.
If you have a
significant number of duplicates, and have Access 97, you can
create and run the following query. It will list for you the
records which have more than one record with the same PartID,
InstalledOnId and start and stop laps. Once you have the records
listed, delete ALL BUT ONE of the records in the list. Since all
the records are being shown to you, you must leave one in place to
record the fact that the part was in use. It's a good idea to make
a back up copy of both your Parts.mdb and Main.mdb files before you
attempt this process.
To create the
query, open the Parts.mdb in Access. Create a new query, and change
to the SQL view by clicking on the drop-down arrow of the toolbar
button at the left of the toolbar. Select the SQL option. Select
any text you may see there, and delete it. Cut the following query
and paste it into the query window on the Access form:
SELECT DISTINCTROW [PartID],
[InstalledOnID], [StartLapStamp], [EndLapStamp], [ParentIsConfig],
[ID] FROM PartHistory WHERE [PartID] IN (SELECT [PartID] FROM
[PartHistory] As Tmp GROUP BY
[PartID],[InstalledOnID],[StartLapStamp],[EndLapStamp],[ParentIsConfig]
HAVING Count(*)>1 And [InstalledOnID] =
[PartHistory].[InstalledOnID] And [StartLapStamp] =
[PartHistory].[StartLapStamp] And [EndLapStamp] =
[PartHistory].[EndLapStamp] And [ParentIsConfig] =
[PartHistory].[ParentIsConfig]) ORDER BY [PartID], [InstalledOnID],
[StartLapStamp], [EndLapStamp], [ParentIsConfig];
When you run the query, you will see the records that are
duplicated. Delete ALL BUT ONE of the records.
6.
What can I change when I get the error "File sharing lock count
exceeded (Error 3052)" during a sync or replication?
This error is generated because Access used up all the resources
allocated for this purpose. This may occur as your database grows.
You can change the resources allocated for Access in the system
registry to prevent this error. Registry settings should only be
modified by someone who is familiar with them and has taken the
precautions noted below. If you don't have anyone available who is
experienced in manipulating the registry, call Advanced Racing
Systems for assistance. The default setting is 9500. We recommend
increasing this value to 19500.
WARNING: Using Registry Editor incorrectly can
cause serious problems that may require you to reinstall Windows
95. Microsoft cannot guarantee that problems resulting from the
incorrect use of Registry Editor can be solved. Use Registry Editor
at your own risk.
For information
about how to edit the registry, view the Changing Keys And Values
online Help topic in Registry Editor (Regedit.exe). Note that you
should make a backup copy of the registry files (System.dat and
User.dat) before you edit the registry.
Use Registry Editor to increase
the MaxLocksPerFile value under the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Jet
3.5
Note that this method changes the
Windows Registry setting for all applications that use the
Microsoft Jet database engine version 3.5.
In some cases
error 3052 will appear on the screen. In other cases, the error
will be shown as an error during sync when the error will read
"Changes in the design master that are being implemented in the
replica by this sync would cause a violation of database rules in
the replica set. Synchronization will not be complete until this
situation is corrected. Exceeding the file sharing lock count can
also cause this error." This is the standard response from Access
when a schema change at the design master is to be applied to the
replica and the change fails. To investigate the actual cause of
this error, open the Parts.mdb and Main.mdb files with Access, and
Access will allow you to see the actual error encountered.
7. What queries are needed by PartLife?
PartLife uses queries stored in the Parts.mdb database to
accomplish a number of tasks. The table below lists the queries
that are used by the various versions of PartLife V2.
2.0.90
1ZeroPartPeriod 1ZeroPartTotals
3MakePartTotal
3MakePartTotal2 3MakePartTotal2B 4UpdateParts
4UpdateParts2 4UpdatePeriod 4UpdatePeriod2
5UpdatePartSummary 5UpdatePartSummary2 5UpdatePeriodSummary2
6UpdatePartsFields 6UpdatePartsFields2 AyOnAsOf
ChOnAsOf DupedHistory DupedSessions
FindDupedParts FindHistoryFromMilesLogDupe
GetAssemblyComponents
GetAssemblyComponentsOld GetAssemblyComponentTypes
GetAssemblyItems
GetAssemblyRelationships GetAssemblyRelationshipsOld
GetChassisAssemblies
GetInventoryComponentTypes GetInventoryItems GetLooseParts
GetNonChassisAssemblies NicePartList ParentList
PartChngA PartChngC PartHistoryforDupedHistory
PartHistoryforDupedSessions PartRunHistory PartsNowOnConfig
PartsVerbose RemoveDots UpdateDots
8.
How do I convert my demo into the licensed product?
Once you purchase a PartLife license, you have two options for
converting the license from a demo to the real license. The first
requires you to be on the phone with the PartLife license
administrator while you both have your computers running. The
second allows you to e-mail your computer information to ARS and
receive a production license via return e-mail.
Regardless of the method you are
using, first go to the license update form in PartLife.
a) If your demo license has
expired, you will see the license update form when you try to run
PartLife.
b) If your demo license is still valid, start PartLife, and
navigate via the menus to "Maintain | Special | Preferences |
License update" to the license update form.
Option 1 - Live phone
update
Call Advanced
Racing Systems on 513-893-2778 or 513-305-7223. You will be asked
for the code entry number and the computer ID shown on the License
Update form. Your License Update Code will be read back to you.
Enter this code in the field provided and click the "Apply" button.
You will be asked to enter the name of your organization. This name
will appear on the splash screen and the "Help | About" form on
your computer.
Important: Be sure to stay on the License
Update form until you enter the License Update Code. If you close
and re-open the form, you will see a new Code Entry Number and the
number you receive from us will not work if it is based on the old
number.
Option 2 - E-mail
update
E-mail the
Computer ID number to cparks@advracing.com along with the name of your organization
that you would like to see on the splash and "Help | About"
screens.
You will receive an e-mail that has your license file attached.
Save the license file to your hard drive so we can import the file
from PartLife. The best place to put it is in the folder with
PartLife (C:\Program files\Advanced Racing Systems\PartLifeV2) but
any folder will do.
You will need to
again navigate to the License Update form and then click on the
"Import License" button. Select the license file you just received
from us and your license will be updated. It will take effect the
next time you start PartLife.
9. Now that I've created my database, how can I make
a copy of it to use for a separate project?
To make a clone of your current database, simply copy the two
database files - Main.mdb and Parts.mdb - to another folder or
computer. Cloning a database does not allow you to synchronize the
two databases in the future. Cloning is useful if you have created
the structure of your parts in the database and you wish to have
two completely independent databases. An example would be for two
teams competing in the same series, or two different series. If you
want multiple copies of the same database - for example one at the
track and one at the shop - that need to remain synchronized, then
the database should be replicated using the replication feature in
PartLife rather than cloning.
If you have not
replicated the database, the simple copy given above will create a
useable second database for you. However, if you have replicated
the database before making the copy, you will have to make the new
cloned copy a design master for the second team before PartLife
will operate properly. To do this, open Access, then open both the
Main.mdb. Using the "Tools | Replication" menu items convert the
cloned database into a design master for the second group. Repeat
this operation for Parts.mdb.
10. PartLife reports that a part I just made using
the "Copy" button does not exist. Where did it go?
This message is generated because PartLife knows the ID of the
part just created, and is attempting to display it to you, but
because you have a filter set that does not include the part or you
have clicked on a part name (causing only parts of that name to be
shown) and created a part of a different name, that does not exist
in the current view of the data. To find the part (and prevent this
from happening in the future) remove any filters you may have set,
and click on the configuration level in the outline at the left of
the screen. This will include all parts in the database in your
view and allow PartLife to locate the new parts you just made
regardless of their name.
11. I've got a boatload of parts in my database and
while it's easy to see which parts are installed somewhere (the row
is yellow even if the parent is not showing) knowing which assembly
has a full complement of components is not easy to see since they
are scattered all over the form. How can I see at a glance which
assemblies have parts installed on them?
While there is no flag available to show you if an assembly has
any parts on it or if it has a full complement of parts, you can
use a filter to make the parts installed to each assembly sort
together at the top of the forms - dot form or the main inventory
form. Just open the filter editor from the filter button on the
toolbar, and create a new filter (I named mine "Installed-on
order"). Leave the where clause "none" and change the order by
clause from "[Name], [SerialNo]" to "[InstalledOn] DESC, [Name],
[SerialNo]"
This will cause
your rows to appear in DESCending order (don't blame the goofy
abbreviation on me!) of parent ID. All the parts installed in each
column will appear together at the top of the form, with the
remainder of the parts following in their normal order. Cool, eh?
(cjp-16-Nov-99)
12. What are the steps for upgrading PartLife when
we have a number of users and a replicated database?
To upgrade your PartLife installation when you have replicated
databases is a little more complicated than just replacing the exe
as you would on a stand-alone installation due to the possibility
that PartLife may make changes to the design of the database. When
a new version of PartLife is run, it checks the database to see
what the last version was that used the database. If it was an
earlier version, PartLife will make any changes needed to make the
database current. If there are replicates, the changes cannot be
made in the replicate, but MUST be made in the design master first,
then when the databases are sync'd the design changes will be
propagated to the replicates. The steps to follow are:
Synchronize all
the replicates with the design master. Do this twice around. That
is, sync each replicate once to get all the changes updated in the
master, then sync each replicate again, to put the changes into
each replicate.
Install the new
PartLife upgrade on the computer that has the design master. If you
downloaded the self-extracting exe, you will have a file named
PartLife9999999 where 9999999 represents the version. (200110 would
be 2.00.110.)
Run PartLife on
the computer that has the design master. This will allow PartLife
to make and design changes in the design master.
Close PartLife and
re-open it, to ensure that the upgrade was successful.
Synchronize to
each of the replicates from the design master. This will move the
design changes to the replicates.
Replace the
PartLife.exe on each of the computers with the replicates.
Test PartLife on
all the computers that you copied the upgrade exe to. Watch for the
new version number on the splash screen as PartLife starts.
13.
I want to move some parts from the current PartLife database to a
different database because I'm starting a new season and only a few
of the parts will carry over. How can I do this without re-creating
each part and entering all of its session?
You may want to move parts and history from one Parts.mdb to
another Parts.mdb because the parts are no longer to be used and
you want to archive the parts and history, or, you may be making a
new database for a new season, and you want to start with a new
database and add in a few parts that will carry over.
To move parts to a
different database, you need to
move the parts in the parts
table and
move the corresponding history
in the PartHistory table.
The example below
will show you how to archive parts. To move existing parts to a new
season's database, you do the same thing, but you would take parts
that are useable and that match the names that you want to
move.
You can play
around with Access to get this done so it suits your needs. The
following queries will do the job to give you a start. If you want
to move the contents of the relationships table, you can imagine
what that would look like. This is not necessary since archived
parts are not to be used, and PartLife will clean up the orphan
relationships on it’s own.
Before you can run
the queries, you have to make the database. In Access, create a new
file in the folder you want (I used 'C:\ARS\DB\Archive\Parts.mdb'
as the archive folder and "C:\ARS\DB\Parts.mdb" as the active db in
the samples). Then, from the new database, do "File | Get external
data", and point to the mdb file that contains the tables you want
to move. Once there, if your new database does not contain the
Parts tables, highlight the tables to import. In options, set the
import to import the definitions only for the tables. If you made a
new database for a new season via PartLife (recommended), the
tables will already exist.
Then go to the
queries tab in the new database and add the following queries. When
you run them (in order), they will copy and delete the records that
have the Useable property set to False. Of course you are free to
use your own criteria. If you don't want to delete the parts from
the original database,
To archive unused
parts:
"CopyParts" query:
INSERT INTO Parts SELECT * FROM Parts IN 'C:\ARS\DB\Parts.mdb'
WHERE (((Parts.Useable)=False));
"CopyHistory" query:
INSERT INTO PartHistory IN 'C:\ARS\DB\Archive\Archive.mdb' SELECT *
FROM PartHistory WHERE PartID in (Select ID FROM Parts IN
'C:\ARS\DB\Parts.mdb' WHERE (((Parts.Useable)=False)));
"DeleteParts" Query:
Delete * FROM Parts WHERE (((Parts.Useable)=False));
"DeleteHistory" query:
DELETE * FROM PartHistory WHERE PartID not in (Select ID from
Parts);
To copy parts from last
season:
"CopyParts" query:
INSERT INTO Parts SELECT * FROM Parts IN 'C:\ARS\DB\Last
season\Parts.mdb' WHERE
(([Parts.Name]='name-of-part-here'));
Repeat above for
all parts needed. If you don't need all the serial numbers, either
delete the ones you don't need out of the new table after the copy,
or add a list of serial nos that you want to copy to the where
clause above between the last quote and the "));" like this:
INSERT INTO Parts SELECT * FROM
Parts IN 'C:\ARS\DB\2000 season\Parts.mdb' WHERE
(([Parts.Name]='name-of-part-here' and [Parts.SerialNo] IN
('1st-serialno', '2nd-serial-no', '3rd-serial-no') ));
The serial nos should be in single
quotes and should be separated by commas. You can add as many as
you feel like typing.
"CopyHistory" query:
INSERT INTO PartHistory SELECT * FROM PartHistory IN
'C:\ARS\DB\Last season\Parts.mdb' WHERE PartID in (Select ID FROM
Parts IN 'C:\ARS\DB\Last season\Parts.mdb' WHERE
(([Parts.Name]='name-of-part-here' and [Parts.SerialNo] IN
('1st-serialno', '2nd-serial-no', '3rd-serial-no') ));
As before, the
serial numbers are optional if you don't have any parts of a given
name that don't want to copy, but if you've typed in the where
clause for the part copy, you can cut-and-paste it into the history
copy.
In many cases you
don't need to have the history come with you if you can make the
total miles figure become the manual miles for the start of the new
season. Again, remembering the where clause options seen above, you
can set any collection of parts you can define in a where clause by
using the update query below:
Update Parts set [ManualMiles] =
[TotalMiles] where (and add your where clause here);
You can do this
update either before or after you copy the parts, but after may
make more sense if you don't have any history coming with the
parts. If you do it before you copy the parts, the next time that
database is re-calculated the manual miles will contain the old
sessions and the total will also include the sessions run.
14. What complications exist once parts
have been archived?
If you have moved parts to a different database, you will have to
be careful that PartLife does not assign the serial numbers of
these parts to new parts. This could happen if you choose to select
a part that has a serial number before that of an archived part. In
this case, when PartLife tries to make the new serial number, it
starts the search at the next highest number and continues to look
until it finds an unused number. If the search was started before
an archived part serial number, the archived part serial number
would be the one selected. To prevent this, select a part to copy
that has a serial number higher than any archived parts or change
the serial number to the correct number after PartLife makes the
new part.
15. My month and day keep swapping around if the day
is 12 or less. Why?
If you have selected a regional setting and then modified the
"short date" format to a style different from that of the selected
region, the month and day will be swapped around if the day of the
month is 12 or less. This is because all dates are stored
internally in Microsoft Access as "mm/dd/yy" and conversions are
done to display the date as you request. Some conversions check the
regional settings, others use the short date format when displaying
the date. If these two settings are in conflict, month and day
swapping will occur if it is not clear which is the month and which
is the day. Once the day is larger than 12, it can't be a month and
the swapping stops.
To prevent this behavior, ensure
that the regional selected and the short date format agree.
16. How do I install Access 97 when Access 2000 is
already installed?
If you already have Access 2000 on the computer, and you want to
add Access 97, there are some additional steps you must
follow.
When you try to
install Access 97, you have to avoid the "Microsoft Access can't
start because there is no license for it on this machine" error
message caused by the presence of the Hatten font, which is
installed by Access 2000 and Office 2000. Also, if the Access 97
installation finds a newer version of the Msaccess.exe file on the
computer, it will not install the 97 version of the Msaccess.exe
file.
1. Click Start, point to Find, and then click Files or Folders.
2. Find the Hatten.ttf file, and then rename it to Hatten.sav. You
must do this to avoid the "Microsoft Access can't start because
there is no license for it on this machine" error message when you
start Access 97.
NOTE: You can
find the Hatten.ttf file in the Fonts folder under the name,
Haettenschweiler.
3. Find the existing version of the Msaccess.exe file, and then
rename it to Msaccess.2k. Before you rename it, confirm that the
version of the Msaccess.exe file is 9.0x by right-clicking the
file, and then clicking Properties. Then click the Version tab
4. Install Access 97 or Office 97.
5. When prompted, click Change Directory to install Access 97 in a
folder other than the folder in which Access 2000 is installed. For
example, install the program in a folder named C:\Program
Files\Microsoft Office97\.
6. After the installation is finished, find the Msaccess.2k file
and rename it back to Msaccess.exe. Also, find the Hatten.sav file
and rename it back to Hatten.ttf.