Formularfeld einfrieren

08/01/2008 - 13:37 von Beatrice | Report spam
Hallo
Ich habe zwei Fragen.

1. Wie kann ich ein Datumsfeld einer Datenbank "einfrieren", sodass nur ich
mit Admin Rechten das Datum erfassen kann. Für alle anderen soll das Feld
inaktiv aber sichtbar sein.

2. Wie kann ich in einem Bericht jede zweite Zeile einfàrben, sodass der
Bericht übersichtlicher und besser lesbar wird ?

Besten Dank im voraus.
Gruss, Beatrice
 

Lesen sie die antworten

#1 Jörg Ackermann
08/01/2008 - 14:26 | Warnen spam
Hallo,

Beatrice meinte:


1. Wie kann ich ein Datumsfeld einer Datenbank "einfrieren", sodass
nur ich mit Admin Rechten das Datum erfassen kann. Für alle anderen
soll das Feld inaktiv aber sichtbar sein.



Versuche mal:

Im Formular Beim Laden:

Me!Datumsfeld.Enabled = IsUserAdmin()


In ein allg. Modul:

Public Function IsUserAdmin() As Boolean

Dim oGroup As Object
Dim oUser As Object

On Error GoTo ErrHandler
Set oUser = GetObject("WinNT://" & _
Environ("COMPUTERNAME") & "/" & _
Environ("USERNAME") & ",user")

For Each oGroup In oUser.Groups
If oGroup.Name = "Administratoren" Then
IsUserAdmin = True
Exit For
End If
Next
On Error GoTo 0

Set oUser = Noting
Exit Function

ErrHandler:
MsgBox "Kein WMI verfügbar.", vbInformation

End Function



2. Wie kann ich in einem Bericht jede zweite Zeile einfàrben, sodass
der Bericht übersichtlicher und besser lesbar wird ?



Im Bericht: (Name des detailbereichs anpassen)

Private Sub Detail1_Format(Cancel As Integer, FormatCount As Integer)
If FormatCount = 1 Then InvertRows Me!Detail1
End Sub


In ein allg. Modul:

Public Const gcWhiteRow = 16777215
Public Const gcGrayRow = 15724527

Public Sub InvertRows(objSection)

Static i As Long

If i Mod 2 = 0 Then
objSection.BackColor = gcWhiteRow
Else
objSection.BackColor = gcGrayRow
End If
i = i + 1

End Sub

Gruß

Ähnliche fragen