=?Utf-8?B?SmFjayBhdCBSZWxheGVk?=
When you start the process of synchronising one database with
another, you are asked which databse you wish to synchronsie with.
The dialogue box shows ALL names of databases that you have
previoulsy synchronsied with and this list can become quite long
(an dyou cannot always see the full names)- is there any way of
getting rid of the history as it were. I realise ofcourse you can
browse to the right database.
What do you mean "history?" The list is of all active, valid
replicas, and it should be. If you have replicas in the list that
are no longer active, then you've made a mistake somewhere.
You shouldn't create replicas that you intend to discard.
Cleaning them out is not too difficult, but it's kind of annoying.
To get a replica to be deleted from MSysReplicas (which is the
ultimate source of that list, though it only lists the replicas that
are theoretically accessible to you, i.e., ones on your local
machine, and ones that it knows have been accessible through network
shares, though it can't tell if they're accessible to *you*), you
have to attempt to synchronize with it. This means you need:
1. a PC with the same name as the defunct replica was stored at.
2. a drive letter and folder that is exactly the same as the one
where the defunct replica was stored.
If you have c:\replicas\MyDeadReplica.mdb on the same PC you're
working from, then you need to attempt to synch with it. If Jet
doesn't find it, it will mark the replica in MSysReplicas as with a
value in the DELETED column (I don't know the meaning of all the
values that are used there -- a non-null value means the replica has
been deleted from the replica set).
If it's not on your present machine and was accessed via a network
share, then it should be presented to you in the dropdown list by
its UNC name, e.g., something like
\\MyOtherPC\Replicas\SomeReplica.mdb. To delete that from the
replica set, you need to have a network connection (i.e., LAN) to
\\MyOtherPC and it needs to have an accessible share folder called
"Replicas."
Now, you may not have that other PC in your office, but as long as
you have one other PC connectible by LAN, you can rename that other
PC, create the share, and then attempt the synch with it.
I cleaned up an old replica set that had defunct replicas scattered
over 6 defunct PCs, and I did it with only two PCs, my own, and an
old P120 that is still running just fine.
Now, all that said, it may be that one attempted synch doesn't
actually remove the replica. This is because they may have been more
than one replica with exactly the same name at the same location.
Each replica has its own ReplicaID, but more than one ReplicaID can
be associated with a file name/PC. If you look in MSysReplicas and
sort by replica name, you may see mulitiple entries there with
exactly the same file name/path on the same PC. To delete those,
you'll have to attempt to synch with them once for every listing in
MSysReplicas.
And it gets more annoying: sometimes different replicas have
different knowledge of replicas, and one replica may list only 3
copies in one location, while another lists 5 (I've never quite
figured out why this is, because MSysReplicas is supposed to list
every replica that's ever been used). Thus, you may delete 3 dead
replicas from your first one, only to find that there are still 2 in
the list the next time you synch with that second replica.
So, the upshot of that is that you may need to do this whole process
from more than one of your replicas.
Did I mention it's annoying?
Last of all, let me repeat what I said above:
You shouldn't create replicas that you intend to discard.
If you find that you need to do that, you should clean them up as
soon as you discard them so that you don't end up with the kind of
mess you have right now that is getting in the way of easy
synchronizing.