Autor Thema: Counter für Dokumente  (Gelesen 1168 mal)

Offline nafets

  • Frischling
  • *
  • Beiträge: 27
  • Geschlecht: Männlich
  • Tiggergrüsse aus Schiltach...
Counter für Dokumente
« am: 07.06.02 - 14:25:26 »
Hi @All,  ;D

habe eine Datenbank in der allgemeine Infos abgelegt werden. Die meisten User haben nur Lesezugriff. Ich möchte nun einen Zähler für den Lesezugriff auf die Dokumente einrichten. Hab mal was ähnliches im Forum gelesen für Ansichten, hab den Artikel aber nicht mehr gefunden.

Hat jemand ne Idee  ???

Gruß Stefan
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2 x 5.0.8 Server im Cluster NT 4.0 SP6a
19 x 5.0.8 Server

Clients:
1.200 User (NT4) 5.0.8

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Counter für Dokumente
« Antwort #1 am: 07.06.02 - 14:33:41 »
Hab hier eine Formel, die du in ein Feld "Berechnet beim Anzeigen" eifügen kannst.
Beim ersten Aufruf zeigt das feld eine Fehlermeldung;der
Fehler tritt dann auf, wenn du das Feld in ein schon bestehendes Dokument einfügst: Du musst die Dokumente in der DB erst refreshen, damit das Feld in allen Docs bekannt ist.


profilename := "Document History Usage Count"+ @Text(@DocumentUniqueID);
timestamp := @Now;
count := @GetProfileField(profilename; "Count");
@If(@IsNewDoc | @IsDocBeingSaved;
@Do(@Set("count"; 0));
count=0;
@Do(@Set("count";1); @SetProfileField(profilename; "TimeStamp"; timestamp));
@Do(@Set("timestamp";@GetProfileField(profilename; "TimeStamp")); @Set("count"; count+1)));

@SetProfileField(profilename; "Count"; count);
"This Document has been accessed " + @Text(count) + " time(s) since " + @Text(timestamp; "D0T1S2")



eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline nafets

  • Frischling
  • *
  • Beiträge: 27
  • Geschlecht: Männlich
  • Tiggergrüsse aus Schiltach...
Re: Counter für Dokumente
« Antwort #2 am: 07.06.02 - 15:00:02 »
hab so was ähnliches schon ausprobiert:

Im Postopen der Maske hab ich folgende Formel geschrieben:

_field := @Text(@DocumentUniqueID);
_exist := @GetProfileField("CounterProfil"; _field);
_value := @If( @IsNumber(@TextToNumber(_exist)); @Text(@TextToNumber(_exist)+1) ; "0");
@SetProfileField( "CounterProfil"; _field; _value)

Allerdings funktioniert das nur, wenn der User min. Autorrechte in der DB hat. Für Leser kommt beim Öffnen folgende Fehlermeldung:

Sie sind zur Durchführung dieser Aktion nicht berechtigt.

Werde deinen Code mal auprobieren
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
2 x 5.0.8 Server im Cluster NT 4.0 SP6a
19 x 5.0.8 Server

Clients:
1.200 User (NT4) 5.0.8

Offline Timo_Bakenecker

  • Frischling
  • *
  • Beiträge: 30
Re: Counter für Dokumente
« Antwort #3 am: 11.07.02 - 08:25:38 »
Hallo,

ja das Counter Problem, immer wieder gerne gesehen, da ich noch keine große Script Leuchte bin , habe ich das mal mit Profildokumenten versucht. Hat auch mal hingehauen, ist aber schon soo lange her ( Danke Alzheimer ! ) daß ich es beim letzten versuch nicht mehr hinbekommen habe !

Gruß,
Timo

P.S.  Werde ebenfalls mal Deinen Code testen Eknori, Danke :- ))
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz