Avatar billede Kim Neesgaard Seniormester
24. september 2002 - 13:59 Der er 12 kommentarer og
1 løsning

Tabeller i Access i et netværk

En .mdb eller .mde applikation ligger på et fælles drev i et netværk og denne applikation indeholder fx. Table1 og Form1, der modificerer Table1. Hvad sker der, når to eller flere brugere har Form1 åben - bliver der 'taget en kopi' af applikationen til hver enkelt bruger, således at tabeloperationer i Table1 ikke koliderer, mens brugeren har applikationen åben? Hvad sker der med Table1, når de forskellige brugere lukker deres applikation?
Avatar billede moses Praktikant
24. september 2002 - 14:05 #1
Tabellerne er fælles for alle brugere
Avatar billede 3xa Nybegynder
24. september 2002 - 14:06 #2
De kolliderer højst sansynligt
Avatar billede moses Praktikant
24. september 2002 - 14:06 #3
Queries, forms og reports tager hver bruger ud, som en kopi, hver gang de åbner dem.
Avatar billede moses Praktikant
24. september 2002 - 14:09 #4
Det er jo det smarte.
To brugere kan sidde med hver deres kopi af en form og opdatere på forskellige records i samme tabel samtidigt. (De kan dog ikke rette i samme record samtidigt.)
Lidt afhængigt af, hvilken slags recordset man har taget ud til brugen, vil han kunne se, når en anden bruger sletter en record. Han vil dog senest opdage det, når han forsøger at tilgå netop denne record.
Avatar billede moses Praktikant
24. september 2002 - 14:16 #5
Jeg har haft 20-30 brugere på samme access applikation. Da Access er en filbasseret database, er det smart, at have tabellerne i en fil og forms og alt det andet i en anden fil.
Der er dog fælder ved den slags realtidsprogrammering med flere brugere. Det kræver, at man bygger nogle semaphorer og lader være med at bruge en tabel til f.eks. mellemregninger (med mindre hver bruger får tildelt sin egen tabel).
Avatar billede Kim Neesgaard Seniormester
24. september 2002 - 14:44 #6
Det er faktisk lige den situation, jeg vil lande i: en fil til tabeller og en anden med det øvrige. Har du en henvisning til, hvordan man konkret bygger semaphorer?
Avatar billede hugopedersen Nybegynder
24. september 2002 - 14:45 #7
-> Moses
Det er jo en af de ting der er rigtig smart ved at have data i en fil og applikation i en anden. Man har mulighed for at lave alverdens mellemregninger og sammenligninger ved at lave lokale tabeller = tabeller der kun er tilgængelig for den enkelte bruger.  Rimelig 'smart' og brugbart.
Avatar billede moses Praktikant
24. september 2002 - 14:52 #8
Semaphorer er logik for burhøns - så er det bare en skam, at ingen af os her er burhøns og at burhøns ikke kan programmere ;-)

Nej - pjat. Det er logiske overvejelser over, hvilke ting, der kan ske, når to eller flere brugere er igang med de samme data.
En semaphor er såmænd blot en subrutine (eller funktion), som man skal igennem, for at kunne komme til disse data. Subrutinen sørger så for at holde styr på, hvem der er igang med hvad - og så junglerer den rundt med brugerne, så de alle får, hvad de vil have - bare ikke samtidigt.
Avatar billede moses Praktikant
24. september 2002 - 14:58 #9
>>> hugo
Det er rigtigt, men jeg har oftest brug for, at også den fil med forms osv. ligger centralt og er ens for alle brugerne. Blandt andet fordi ændringer kun skal laves ét sted.
Eksempelcis, så er dele af access programmet f.eks. til en programadministrator, som styrer slagets gang og kan ændre på såvel parametre, der ligger i tabelfilen men også i forms, der så også helst skal ligge centralt.
Hvis man vil bruge lokale tabeller, så kan man jo bare lade programmet lave endnu en access fil (måske midlertidigt for hver opstart), som så kan indeholde lokale parametre.
Avatar billede hugopedersen Nybegynder
24. september 2002 - 20:32 #10
>>> Moses
Det 'problem' klarer jeg ved at jeg sørger for at den fil brugerne kører ligger på deres 'homedir' ( i vores tilfælde H: )  Den fil jeg laver mine rettelser i har jeg så til at ligge et andet sted og hver nat har jeg så filserveren til at fyre et script af der opdaterer applikationen hos alle brugerne. Hvis det så skulle blive nødvendigt med en opdatering midt på dagen, har jeg mulighed for at sætte et flag i en setup tabel, som mine apps læser med jævne mellemrum og hvis den er sat, lukkes applikationen automatisk ned og kun en der har SYSOP rettigheder kan åbne den og rette flaget når der er kørt en manuel opdatering.
Alt dette lyder måske besværligt, men når proceduren er implementeret fungerer det rigtigt godt. Personligt har jeg meget dårlige erfaringer med at der er flere der har den samme frontend åbnet. Derfor denne procedure.
Avatar billede moses Praktikant
25. september 2002 - 21:32 #11
Det må jeg sige er en "overdrevet" stor omstændelig procedure. Jeg har aldrig haft problemer med at mange (20-30 brugere) benytter samme frontend på en gang.
Der er ikke ret stor belastning på filen, der jo kun skal levere en form eller et modul engang imellem - selvom brugeren vælter rundt i tonsvis af data !!
Avatar billede Kim Neesgaard Seniormester
26. september 2002 - 12:40 #12
Alt dette har gjort mig meget klogere på, hvordan Access opfører sig i et netværk. Jeg vil bruge en løsning, hvor hver bruger åbner en tabel med originalnavnet + netinitialer. Mange tak for hjælpen!
Avatar billede moses Praktikant
26. september 2002 - 13:36 #13
Selv tak!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester