THis is a commn problem with Access! An idea is to split the database into a backend which only contains the tables, and a front end which conttains the forms and reports etc. The backend is then placed on your network. The frontend can either be placed on the network where all users use the same database or (what I prefer) each user has their own front end.
The tables from the back end are linked into the frontend. This setup can help reduce the problems you are having but they CAN still occur
Terry har ret. Jeg er dog tilbøjelig til at foretrække at man placere hver frontend (formularer, rapporter m.m.) hos hver klient. Baglås-fejlen opstår nemlig netop når mange brugere har fat i den samme database. Hvis hver bruger har hver sin frontend, vil fejlen stort set aldrig optå. Og hvis den endelige opstår, så er det kun den enkelte klient som rammes. Problemet med denne løsning er at vedligeholde alle brugere, når der kommer nye versioner. Men dette kan løses på flere måder. F.eks.: 1) Automatisk opdatering af seneste version vha logon-script 2) Placere en .bat-fil på hver maskine, som brugeren skal dobbeltklikke på, når de får en mail om ny version (eller vedlægge bat-filen i mailen) Og endelig den elegante, men avancerede løsning: 3) Lave kode i databasen, som selv kontrollerer om der er en nyere version på nettet og herefter selv downloader den nyeste.
Hvordan checker vi nemmest om der er kommet en ny version af frontend.
Min tanke ide er, at frintend har en version variable, som den sammenligner med en versionvariable i backend i fe.sk tblversion, hver gang frontend åbnes.
Hvis frontend er nyere end backend, gemmes version fra frontend i backend. Hvis frontend er ældre popper en form op, om at det er tid at hente ny version på serveren
I have never had use for this. So I dont know what the easiest method is. The method you suggest yourself seems like a resonable solution though. You could also have a timer on a form which checks the table at regular intervals.
Du kunne f.eks. give den nyeste version en dato lig den dato den er rettet, så kan navnene på filerne jo sammenlignes. f.eks. hedder filen på netværket 20040216Client.mdb (eller mde?). og filen på pc-en 20040101Client.mdb. så er det jo til at se at der skal opdateres,
Jeg tror, at ved at gemme versionsnr i en variabel i en tabel f.eks. tblversion og lade klientprogrammet sammenligne sig sin variabel med værdien i datadelen. Den fortæller blot, at det er tid til opdatering af prgram.
Terry - jeg tror du tænker på noget andet - jeg bruger form timeren til at lukke klientprogrammer på nettet ned, når der er vedligehold på datadelen. jeg sætter en variabel til true (i f.eks. tblversion men en anden variabel). Når de enkelte programmers formtimer checker værdien - giver de en warning og minutet efter lukkes programmet ned. Indtil variablen er sat til false igen kan programmet i starte op, men bliver smidt af igen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.