Zavrieť

Porady

Access 2007 tlac z formulara

Ahojte, potreboval by som znova poradit ohladom tlace OBJEDNAVKY z formulara tak, aby sa mi na zostave (resp. objednavke) nezobrazovali udaje zo vsetkych poli (iba niektore) a iba z aktualneho zaznamu. (nie cela databaza).
Otazka c.2
Ako nastavim pristupove hesla pre kazdeho uzivatela?
Otazka c 3
Chcel by som nastavit aj to, ak sa da zaznam ''ulozit'' tak aby zmrzol a nedal sa opravovat (menit) bez hesla.

DAKUJEM PEKNE ZA POMOC.
Andrej
Téma je uzavretá.
Usporiadať podľa času

PaloPa je offline (nepripojený) PaloPa

PaloPa
Ahoj Andrej

ad 1
Spôsobov "predfiltrovania údajov" je viacero, ja osobne pre reporty používam zapnutie vlastnosti "Filter" cez pomocný formulár, ktorý sa otvorí pred zostavou
Code:
Private Sub Report_Open(Cancel As Integer)
    Dim xSum, xTyp, xCDokl, xdat2
    Dim MyForm As String
    Dim xRecSrc1 As String, xRecSrc2 As String
    
    MyForm = "Zxx_Filter_Mesto"
    On Error GoTo errdsc
    DoCmd.RunMacro "Txx_Filter_Mesto.otvor"

    If ISLOADED(MyForm) Then
        Me.Filter = filter_text
        Me.FilterOn = (Len(Me.Filter) > 0)
    End If
errdsc:

End Sub
Podrobné vysvetlenie i príkladom - viď tu:
Výběr položek v sestavách
MS Access 2010 - filtrovanie údajov


ad 2
Tiež na dlhšie, ale skús si v pomocníkovi k Accessu preštudovať tému MDW súborov (bezpečnostý súbor - i heslami pre jednotlivých používateľov)

ad 3
Znova téma na dlhšiu debatu, ale veľmi jednoducho sa dá nastaviť cez vlastnosť AllowEdits (Vlastnosti pre celý formulár / záložka Data), cez VBA sa dá nastaviť napr. pri otváraní formulára, podľa prihláseného (CurrentUser()):

Code:
        
Private Sub Form_Load()
    If IsInGroup(CurrentUser(), "NaCitanie") = True Then
        Form.AllowAdditions = False
        Form.AllowEdits = False
        Form.AllowDeletions = False
    End If
End Sub
Tu je funkcia, cez ktorú sa dá detekovať, či User patrí do určitej skupiny:
Code:
Public Function IsInGroup(UsrName As String, GrpName As String) As Boolean
'Determines whether UsrName is a member of GrpName
   Dim grp As Group
    Dim IIG As Boolean
    Dim usr As User
    IIG = False

    For Each usr In DBEngine.Workspaces(0).Users
        If usr.Name = UsrName Then GoTo FoundUser
    Next

    GoTo IIG_Exit

FoundUser:
    For Each grp In usr.Groups
        If grp.Name = GrpName Then IIG = True
    Next

IIG_Exit:
    IsInGroup = IIG

End Function
Palo

Access 2007 tlac z formulara

Porady, ktoré by vás mohli zaujímať

Prihláste sa a sledujte len tie Porady, ktoré Vás zaujímajú.