Een hele coole feature die is toegevoegd aan Jet 4.0-replicatie... de mogelijkheid om (zelfs gedeeltelijke) replica's te maken waarin data kunnen worden toegevoegd of gewijzigd, maar niet verwijderd. Helaas is het niet toegevoegd aan JRO (Jet and replication objects), het is niet opgenomen in de Replication Manager en er zijn geen wijzigingen aangebracht in DAO voor replicatie in deze versie.
De enige manier om deze nuttige beestjes toe te voegen is een van de volgende:
1) gebruik de Access gebruikersinterface (waarin geen programma-interface wordt getoond)
2) gebruik de meest recente TSI Synchronizer
3) gebruik een verborgen manier via de MakeReplica-methode van DAO!
Wat is deze verborgen manier? Nou, de derde (optionele) "Options"-parameter heeft twee gedocumenteerde keuzen voor deze bitmask:
Const dbRepMakePartial = 1
Const dbRepMakeReadOnly = 2
maar gissen en missen heeft aangetoond dat je deze ook samen kunt gebruiken of in plaats van de bovenstaande (definieer het gewoon ergens):
Const dbRepMakePreventDeletes = 4
Roep het volgende aan:
db.MakeReplica "c:\foo.mdb", "", _ dbRepMakePreventDeletes Or dbRepMakePartial
en je kunt een gedeeltelijke replica maken waarin geen verwijderingen kunnen voorkomen!
Om de bruikbare constanten nog even af te ronden: je kunt *elk* van de volgende kiezen (ze kunnen niet worden gecombineerd) om de zichtbaarheid van replica's te bepalen. Let op: JRO heeft ook een manier om dit te doen, maar ik hou graag alles in eigen hand:
Const dbRepGlobalReplica = &H1000
Const dbRepLocalReplica = &H2000
Const dbRepAnonymousReplica = &H4000
(Standaard worden replica's globaal gemaakt als je niets opgeeft. Deze zijn zichtbaar voor alle andere replica's in de set. Locale replica's zijn alleen bekend voor de replica die ze heeft aangemaakt. Anonieme replica's zijn voor niemand zichtbaar. Ze kunnen alleen worden gesynchroniseerd met hun parent - bijvoorbeeld bruikbaar voor Internetsites waarin je niet alle replica's van klanten wilt nalopen.)
De recentste TSI Synchronizer bevat al deze nieuwe features van Jet 4.0 in synch40.dll. Maar als je de TSI Synchronizer nog niet gebruikt, is de DAO-oplossing een gemakkelijke, snelle manier om het proces van het aanmaken van replica's uit te breiden.