PDA

Vollständige Version anzeigen : Öffnen eines Berichtes II


carpediem
04.05.2001, 09:19
Hallo,

kann ich das Öffnen eines Berichtes auch so gestalten, dass ein bestimmter User, welcher Eingaben tätigt, den Bericht für die anderen User freischaltet.
Also der Bericht darf erst geöffnet werden, wenn man die Freigabe erteilt.
bzw. andersherum, solange Eingaben eingegeben werden soll der Bericht gesperrt werden.

Geht das?

gloria
04.05.2001, 09:49
Hallo
füg doch einfach eine Aktion bei verlassen der Eingabemaske ein z.B. den Button für den Berichtdruck erst aktivieren - Oder hab ich Dich falsch verstanden ...

Ciao gloria

carpediem
04.05.2001, 09:55
Hallo gloria,

im Prinzip ist das richtig, aber die anderen User öffnen den Bericht über ein Menü und nicht aus dem Eingabeformular. Deshalb muss ich den Bericht selbst sperren.

ExtraDry
04.05.2001, 10:09
Hi,

wie sieht es mit einer Passwort-Abfrage aus?
Wenn ein User diesen Bericht öffnen will muss er ersteinmal ein Passwort eingeben.

cya
ExtraDry

Alexander Jan Peters
04.05.2001, 10:19
<font color="#000000" size="2" face="Tahoma">Hallo,

wie ist das denn in Deiner Db mit den Benutzern geregelt, benutzt Du das Sicherheitssystem von Access oder eine eigene "softe" Variante?

Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></font>

carpediem
04.05.2001, 10:28
Bei einem Passwort kann der Bericht ja auch jederzeit geöffnet werden.
Ich will aber das der Bericht erst geöffnet werden kann, wenn die Eingabe fertiggestellt ist.

Ich verwalte die Benuter mit den von Access zur Verfügung stehenden Tools

WAG
04.05.2001, 10:31
Hi,
bleib doch bei der Variante mit der Uhrzeit. Merke Dir die Uhrzeit in einer Tabelle oder wo auch immer. Setze die Uhrzeit zu Beginn der Eingaben auf 24 Uhr und nach Beendigung der Eingaben auf 0 Uhr.
Oder sperre für die Dauer der Änderungen eine Tabelle für Parallelzugriff und frage den Status der Tabelle vor dem Druck ab.

Dieter

gloria
04.05.2001, 12:24
hi carpediem,
kannst du den Bericht während der Eingabe umbenennen und erst bei verlassen wieder den "richtigen" Namen vergeben ??

Ciao glori

carpediem
04.05.2001, 18:19
Hallo,
danke für die ganzen Hinweise,

werde die einzelnen Lösungsvorschläge mal umsetzten und schauen was dabei rauskommt.

Allen ein schönes Wochenende

carpediem
07.05.2001, 10:05
Ich habe das jetzt wie folgt gelöst:

Bei Öffnen des Eingabeformulars wird mit Hilfe folgenden Codes ein Index gesetzt

Private Sub Form_Open(Cancel As Integer)
Dim AktuelleDB As DATABASE
Dim MeineDB As Recordset
Dim test As Integer

Set AktuelleDB = CurrentDb
Set MeineDB = AktuelleDB.OpenRecordset("Tabelle TagesberichtIndex", dbOpenDynaset)

With MeineDB
.MoveFirst
.Edit
!Index = 1
.Update
End With

End Sub

Imm Bericht steht dann folgender Code:
Private Sub Report_Open(Cancel As Integer)
Dim AktuelleDB As DATABASE
Dim MeineDB As Recordset

Set AktuelleDB = CurrentDb
Set MeineDB = AktuelleDB.OpenRecordset("Tabelle TagesberichtIndex", dbOpenDynaset)

MeineDB.MoveFirst
If MeineDB!Index = 1 Then
MsgBox ("Der Bericht wird zur Zeit aktuallisiert, bitte versuchen Sie es später noch einmal")
DoCmd.CancelEvent
End If
End Sub

Sobald nun die Eingabe geöffnet wird, wird der Index auf 1 gesetzt und der Bericht kann nicht geöffnet werden, es erscheint nur ein Hinweis.

wenn jemand eine bessere Lösung weiss, bin ich für jeden Hinweis dankbar.