title image


Smiley Re: Die FE müssen nicht wissen ob User 1 oder ...
Ich hab schon verstanden, aber trotzdem was ist denn nun mit den Qurys und den tab's ? haben User nur über Forms darauf Zugriff, wenn nicht ist folgendes alles unnütz.



In dem Unsichtbaren Form (das in jedem FE sein sollte) kommt in die Timer Prozedur eine Anweisung die macht: If SpalteAnzahlUser in tblStatus > 0 and Ichbins = false Then

SpalteAnzahlUser um 1 reduzieren

Db.Close

End if



Die Formulare, mit denen die tab_1 geöffnet wird, oder wo ein Recorset mit tab_1 verwendet wird, bekommen eine Prozedur (die eben vor Öffnen von Tab_1 aufgerufen werdn muss)

die folgendes macht: den Maxwert von SpalteAnzahlUser in tblStatus um 1 erhöhen, bei Schliessen eine Prozedur die den Wert um 1 erniedrigt. Dies geschieht immer, egal ob ein Import ansteht oder nicht.



Wenn nun eines der FE'S den Import Started, dann muss in diesem FE, in einer LOKALEN TABELLE (nicht die Statustabelle) geschrieben werden "IchBinDasFeDasImportiertUndIhrNicht" oder meinetwegen nur ein Buchstabe.

Ausserdem diesen Buchstaben dann in die StatusTabelle, in die Spalte "WermachtImport" schreiben.

Dies kann man nun von dem IF im Timer aller FE's abgefragt, aber nur eines hat in zwei Tabellen diese Aussage"WermachtImport" (eventuell zur Sicherheit die "WermachtImport" auf Inhalt prüfen, nur was reinschreiben wenn leer, damit kein weiteres FE in den laufenden Import eingreifen kann)



Das Importstartende FE öffnet, wenn es den Befehl für diesen Import Prozess bekommt, ein Formular, das mit einem weiteren Timer arbeitet. Diese Timer-Prozedur wartet zunächst, bis alle anderen User raus sind, indem sie, wie oben beschr. die Statustable abfragt (alle paar sekunden)



In gewisser Weise wiederhole ich mich, aber denke, dass es sich so besser erklärt .Der immerlaufende-Timer wird nun also folgenden Hinweise bemerken: Es gibt eine Anzahl von Usern der tab_1, es soll einen Import geben, aber ich bin es nicht und wird nun entweder an den User einen Hinweis geben"Schlussmachen" oder DB.Close. Und dies wird nun bei allen FE'S geschehen ausser bei dem das den IMport macht denn dort bekommt der immerlaufende-Timer als einziger zweimal die AUssage "WermachtImport".



Gruss GreenSand

There's upstairs

mars-chroniken

















































geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: