home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / PVb5.0 / VB / SAMPLES / VISDATA / GRPSUSRS.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1997-01-12  |  24.7 KB  |  833 lines

  1. VERSION 5.00
  2. Begin VB.Form frmGroupsUsers 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "
  5.    ClientHeight    =   5010
  6.    ClientLeft      =   4380
  7.    ClientTop       =   1905
  8.    ClientWidth     =   5760
  9.    HelpContextID   =   2016088
  10.    Icon            =   "GRPSUSRS.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    LockControls    =   -1  'True
  13.    MaxButton       =   0   'False
  14.    MDIChild        =   -1  'True
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   5010
  17.    ScaleWidth      =   5760
  18.    ShowInTaskbar   =   0   'False
  19.    Begin VB.ComboBox cboOwners 
  20.       Height          =   315
  21.       Left            =   3360
  22.       Style           =   2  'Dropdown List
  23.       TabIndex        =   28
  24.       Top             =   2360
  25.       Width           =   2295
  26.    End
  27.    Begin VB.Frame fraPermissions 
  28.       Caption         =   "
  29.       Height          =   1695
  30.       Left            =   2520
  31.       TabIndex        =   16
  32.       Top             =   2760
  33.       Width           =   3135
  34.       Begin VB.CommandButton cmdAssign 
  35.          Caption         =   "
  36. (&A)"
  37.          Height          =   300
  38.          Left            =   120
  39.          MaskColor       =   &H00000000&
  40.          TabIndex        =   25
  41.          Top             =   1280
  42.          Width           =   1400
  43.       End
  44.       Begin VB.CheckBox chkDeleteData 
  45.          Caption         =   "
  46.          Height          =   255
  47.          Left            =   1680
  48.          MaskColor       =   &H00000000&
  49.          TabIndex        =   24
  50.          Top             =   1320
  51.          Width           =   1335
  52.       End
  53.       Begin VB.CheckBox chkInsertData 
  54.          Caption         =   "
  55.          Height          =   255
  56.          Left            =   1680
  57.          MaskColor       =   &H00000000&
  58.          TabIndex        =   23
  59.          Top             =   1000
  60.          Width           =   1335
  61.       End
  62.       Begin VB.CheckBox chkUpdateData 
  63.          Caption         =   "
  64.          Height          =   255
  65.          Left            =   1680
  66.          MaskColor       =   &H00000000&
  67.          TabIndex        =   22
  68.          Top             =   680
  69.          Width           =   1335
  70.       End
  71.       Begin VB.CheckBox chkReadData 
  72.          Caption         =   "
  73.          Height          =   255
  74.          Left            =   1680
  75.          MaskColor       =   &H00000000&
  76.          TabIndex        =   21
  77.          Top             =   360
  78.          Width           =   1335
  79.       End
  80.       Begin VB.CheckBox chkAdminister 
  81.          Caption         =   "
  82.          Height          =   255
  83.          Left            =   120
  84.          MaskColor       =   &H00000000&
  85.          TabIndex        =   20
  86.          Top             =   1000
  87.          Width           =   1455
  88.       End
  89.       Begin VB.CheckBox chkModifyDesign 
  90.          Caption         =   "
  91.          Height          =   255
  92.          Left            =   120
  93.          MaskColor       =   &H00000000&
  94.          TabIndex        =   19
  95.          Top             =   680
  96.          Width           =   1575
  97.       End
  98.       Begin VB.CheckBox chkReadDesign 
  99.          Caption         =   "
  100.          Height          =   255
  101.          Left            =   120
  102.          MaskColor       =   &H00000000&
  103.          TabIndex        =   18
  104.          Top             =   360
  105.          Width           =   1455
  106.       End
  107.    End
  108.    Begin VB.OptionButton optGroups 
  109.       Caption         =   "
  110.       Height          =   255
  111.       Left            =   1200
  112.       MaskColor       =   &H00000000&
  113.       TabIndex        =   2
  114.       Top             =   120
  115.       Width           =   975
  116.    End
  117.    Begin VB.OptionButton optUsers 
  118.       Caption         =   "
  119.       Height          =   255
  120.       Left            =   120
  121.       MaskColor       =   &H00000000&
  122.       TabIndex        =   1
  123.       Top             =   120
  124.       Value           =   -1  'True
  125.       Width           =   855
  126.    End
  127.    Begin VB.CommandButton cmdClose 
  128.       Cancel          =   -1  'True
  129.       Caption         =   "
  130. (&C)"
  131.       Height          =   375
  132.       Left            =   2160
  133.       MaskColor       =   &H00000000&
  134.       TabIndex        =   0
  135.       Top             =   4560
  136.       Width           =   1335
  137.    End
  138.    Begin VB.ListBox lstTablesQuerys 
  139.       Height          =   1530
  140.       ItemData        =   "GRPSUSRS.frx":030A
  141.       Left            =   2520
  142.       List            =   "GRPSUSRS.frx":030C
  143.       MultiSelect     =   2  'Extended
  144.       TabIndex        =   15
  145.       Top             =   480
  146.       Width           =   3135
  147.    End
  148.    Begin VB.PictureBox picUsers 
  149.       Appearance      =   0  'Flat
  150.       BorderStyle     =   0  'None
  151.       ForeColor       =   &H80000008&
  152.       Height          =   3975
  153.       Left            =   120
  154.       ScaleHeight     =   3975
  155.       ScaleWidth      =   2205
  156.       TabIndex        =   3
  157.       Top             =   480
  158.       Width           =   2205
  159.       Begin VB.CommandButton cmdPassword 
  160.          Caption         =   "
  161. (&S)"
  162.          Height          =   300
  163.          Left            =   15
  164.          MaskColor       =   &H00000000&
  165.          TabIndex        =   26
  166.          Top             =   3615
  167.          Width           =   2160
  168.       End
  169.       Begin VB.ListBox lstUsersGroups 
  170.          Height          =   990
  171.          ItemData        =   "GRPSUSRS.frx":030E
  172.          Left            =   0
  173.          List            =   "GRPSUSRS.frx":0310
  174.          MultiSelect     =   1  'Simple
  175.          TabIndex        =   12
  176.          Top             =   2400
  177.          Width           =   2175
  178.       End
  179.       Begin VB.CommandButton cmdDeleteUser 
  180.          Caption         =   "
  181. (&D)"
  182.          Height          =   300
  183.          Left            =   1080
  184.          MaskColor       =   &H00000000&
  185.          TabIndex        =   10
  186.          Top             =   1800
  187.          Width           =   1080
  188.       End
  189.       Begin VB.CommandButton cmdNewUser 
  190.          Caption         =   "
  191. (&N)"
  192.          Height          =   300
  193.          Left            =   0
  194.          MaskColor       =   &H00000000&
  195.          TabIndex        =   9
  196.          Top             =   1800
  197.          Width           =   1080
  198.       End
  199.       Begin VB.ListBox lstUsers 
  200.          Height          =   1530
  201.          ItemData        =   "GRPSUSRS.frx":0312
  202.          Left            =   0
  203.          List            =   "GRPSUSRS.frx":0314
  204.          TabIndex        =   4
  205.          Top             =   0
  206.          Width           =   2175
  207.       End
  208.       Begin VB.Label lblLabels 
  209.          Caption         =   "
  210.          Height          =   255
  211.          Index           =   1
  212.          Left            =   0
  213.          TabIndex        =   11
  214.          Top             =   2160
  215.          Width           =   2055
  216.       End
  217.    End
  218.    Begin VB.PictureBox picGroups 
  219.       Appearance      =   0  'Flat
  220.       BorderStyle     =   0  'None
  221.       ForeColor       =   &H80000008&
  222.       Height          =   3615
  223.       Left            =   120
  224.       ScaleHeight     =   3615
  225.       ScaleWidth      =   2205
  226.       TabIndex        =   5
  227.       Top             =   480
  228.       Visible         =   0   'False
  229.       Width           =   2205
  230.       Begin VB.ListBox lstGroupsUsers 
  231.          Height          =   990
  232.          ItemData        =   "GRPSUSRS.frx":0316
  233.          Left            =   0
  234.          List            =   "GRPSUSRS.frx":0318
  235.          MultiSelect     =   1  'Simple
  236.          TabIndex        =   13
  237.          Top             =   2400
  238.          Width           =   2175
  239.       End
  240.       Begin VB.CommandButton cmdDeleteGroup 
  241.          Caption         =   "
  242. (&D)"
  243.          Height          =   300
  244.          Left            =   1200
  245.          MaskColor       =   &H00000000&
  246.          TabIndex        =   8
  247.          Top             =   1800
  248.          Width           =   975
  249.       End
  250.       Begin VB.CommandButton cmdNewGroup 
  251.          Caption         =   "
  252. (&N)"
  253.          Height          =   300
  254.          Left            =   0
  255.          MaskColor       =   &H00000000&
  256.          TabIndex        =   7
  257.          Top             =   1800
  258.          Width           =   975
  259.       End
  260.       Begin VB.ListBox lstGroups 
  261.          Height          =   1530
  262.          ItemData        =   "GRPSUSRS.frx":031A
  263.          Left            =   0
  264.          List            =   "GRPSUSRS.frx":031C
  265.          TabIndex        =   6
  266.          Top             =   0
  267.          Width           =   2175
  268.       End
  269.       Begin VB.Label lblLabels 
  270.          BackColor       =   &H00C0C0C0&
  271.          Caption         =   "
  272.          Height          =   255
  273.          Index           =   2
  274.          Left            =   120
  275.          TabIndex        =   14
  276.          Top             =   2160
  277.          Width           =   2055
  278.       End
  279.    End
  280.    Begin VB.Label lblLabels 
  281.       Caption         =   "
  282.       Height          =   255
  283.       Index           =   3
  284.       Left            =   2520
  285.       TabIndex        =   27
  286.       Top             =   2400
  287.       Width           =   735
  288.    End
  289.    Begin VB.Label lblLabels 
  290.       Caption         =   "
  291.       Height          =   255
  292.       Index           =   0
  293.       Left            =   2520
  294.       TabIndex        =   17
  295.       Top             =   165
  296.       Width           =   2055
  297.    End
  298.    Begin VB.Line Line1 
  299.       BorderWidth     =   3
  300.       X1              =   2400
  301.       X2              =   2400
  302.       Y1              =   120
  303.       Y2              =   4440
  304.    End
  305. Attribute VB_Name = "frmGroupsUsers"
  306. Attribute VB_GlobalNameSpace = False
  307. Attribute VB_Creatable = False
  308. Attribute VB_PredeclaredId = True
  309. Attribute VB_Exposed = False
  310. Option Explicit
  311. '>>>>>>>>>>>>>>>>>>>>>>>>
  312. Const FORMCAPTION = "
  313. Const Label1 = "
  314. Const Label2 = "
  315. Const LABEL3 = "
  316. Const LABEL4 = "
  317. Const BUTTON1 = "
  318. (&N)"
  319. Const BUTTON2 = "
  320. (&D)"
  321. Const BUTTON3 = "
  322. (&S)"
  323. Const BUTTON4 = "
  324. (&A)"
  325. Const BUTTON5 = "
  326. (&C)"
  327. Const OPTION1 = "
  328. Const OPTION2 = "
  329. Const FRAME1 = "
  330. Const MSG1 = "
  331. Const MSG2 = "
  332. Const MSG3 = "
  333. Const MSG4 = "
  334. Const MSG5 = "
  335. Const MSG6 = "
  336. Const MSG7 = "
  337. Const MSG8 = "
  338. Const MSG9 = "
  339. '>>>>>>>>>>>>>>>>>>>>>>>>
  340. Dim mbSettingUser As Integer
  341. Dim mbSettingOwner As Integer
  342. Dim mbSettingPerm As Integer
  343. Dim mbLoading As Integer
  344. Dim mobjCurrObject As Object    '
  345. Private Sub cboOwners_Click()
  346.   On Error GoTo COErr
  347.   If mbSettingOwner Then Exit Sub
  348.   If (mobjCurrObject.Permissions And dbSecWriteOwner) = dbSecWriteOwner Then
  349.     '
  350.     mobjCurrObject.Owner = cboOwners.Text
  351.   Else
  352.     MsgBox MSG1, 48
  353.     Exit Sub
  354.   End If
  355.   Exit Sub
  356. COErr:
  357.   ShowError
  358. End Sub
  359. Private Sub chkAdminister_Click()
  360.   If mbSettingPerm Then Exit Sub
  361.   If chkAdminister.Value = vbChecked Then
  362.     '
  363.     chkReadDesign.Value = vbChecked
  364.     chkModifyDesign.Value = vbChecked
  365.     chkReadData.Value = vbChecked
  366.     chkUpdateData.Value = vbChecked
  367.     chkInsertData.Value = vbChecked
  368.     chkDeleteData.Value = vbChecked
  369.   End If
  370. End Sub
  371. Private Sub chkDeleteData_Click()
  372.   If mbSettingPerm Then Exit Sub
  373.   If chkDeleteData.Value = vbUnchecked Then
  374.     '
  375.     chkAdminister.Value = vbUnchecked
  376.     chkModifyDesign.Value = vbUnchecked
  377.   Else
  378.     chkReadDesign.Value = vbChecked
  379.     chkReadData.Value = vbChecked
  380.   End If
  381. End Sub
  382. Private Sub chkInsertData_Click()
  383.   If mbSettingPerm Then Exit Sub
  384.   If chkInsertData.Value = vbUnchecked Then
  385.     '
  386.     chkAdminister.Value = vbUnchecked
  387.   Else
  388.     chkReadDesign.Value = vbChecked
  389.     chkReadData.Value = vbChecked
  390.   End If
  391. End Sub
  392. Private Sub chkModifyDesign_Click()
  393.   If mbSettingPerm Then Exit Sub
  394.   If chkModifyDesign.Value = vbUnchecked Then
  395.     '
  396.     chkAdminister.Value = vbUnchecked
  397.   Else
  398.     chkReadDesign.Value = vbChecked
  399.     chkReadData.Value = vbChecked
  400.     chkInsertData.Value = vbChecked
  401.     chkDeleteData.Value = vbChecked
  402.   End If
  403. End Sub
  404. Private Sub chkReadData_Click()
  405.   If mbSettingPerm Then Exit Sub
  406.   If chkReadData.Value = vbUnchecked Then
  407.     '
  408.     chkAdminister.Value = vbUnchecked
  409.     chkModifyDesign.Value = vbUnchecked
  410.   Else
  411.     chkReadDesign.Value = vbChecked
  412.   End If
  413. End Sub
  414. Private Sub chkReadDesign_Click()
  415.   If mbSettingPerm Then Exit Sub
  416.   If chkReadDesign.Value = vbUnchecked Then
  417.     '
  418.     chkAdminister.Value = vbUnchecked
  419.     chkModifyDesign.Value = vbUnchecked
  420.     chkReadData.Value = vbUnchecked
  421.     chkUpdateData.Value = vbUnchecked
  422.     chkInsertData.Value = vbUnchecked
  423.     chkDeleteData.Value = vbUnchecked
  424.   End If
  425. End Sub
  426. Private Sub chkUpdateData_Click()
  427.   If mbSettingPerm Then Exit Sub
  428.   If chkUpdateData.Value = vbUnchecked Then
  429.     '
  430.     chkAdminister.Value = vbUnchecked
  431.     chkModifyDesign.Value = vbUnchecked
  432.   Else
  433.     chkReadDesign.Value = vbChecked
  434.     chkReadData.Value = vbChecked
  435.   End If
  436. End Sub
  437. Private Sub cmdAssign_Click()
  438.   SetPermissions True    '
  439. End Sub
  440. Private Sub cmdClose_Click()
  441.   Unload Me
  442. End Sub
  443. Private Sub cmdDeleteGroup_Click()
  444.   On Error GoTo DGErr
  445.   Dim i As Integer
  446.   If lstGroups.ListIndex < 0 Then
  447.     Beep
  448.     MsgBox MSG2
  449.     Exit Sub
  450.   End If
  451.   If MsgBox(MSG3, vbYesNo + vbQuestion) <> vbYes Then Exit Sub
  452.   gwsMainWS.Groups.Delete lstGroups.Text
  453.   i = lstGroups.ListIndex
  454.   lstGroups.RemoveItem i
  455.   lstUsersGroups.RemoveItem i
  456.   If lstGroups.ListCount > 0 Then
  457.     lstGroups.ListIndex = 0
  458.   Else
  459.     '
  460.     For i = 0 To lstGroupsUsers.ListCount - 1
  461.       lstGroupsUsers.Selected(i) = False
  462.     Next
  463.   End If
  464.   Exit Sub
  465. DGErr:
  466.   ShowError
  467. End Sub
  468. Private Sub cmdDeleteUser_Click()
  469.   On Error GoTo DUErr
  470.   Dim i As Integer
  471.   If lstUsers.ListIndex < 0 Then
  472.     Beep
  473.     MsgBox MSG4
  474.     Exit Sub
  475.   End If
  476.   If MsgBox(MSG5, vbYesNo + vbQuestion) <> vbYes Then Exit Sub
  477.   gwsMainWS.Users.Delete lstUsers.Text
  478.   lstUsers.RemoveItem lstUsers.ListIndex
  479.   If lstUsers.ListCount > 0 Then
  480.     lstUsers.ListIndex = 0
  481.   Else
  482.     '
  483.     For i = 0 To lstUsersGroups.ListCount - 1
  484.       lstUsersGroups.Selected(i) = False
  485.     Next
  486.   End If
  487.   Exit Sub
  488. DUErr:
  489.   ShowError
  490. End Sub
  491. Private Sub cmdNewGroup_Click()
  492.   frmNewUserGroup.UserOrGroup = 1
  493.   frmNewUserGroup.Caption = MSG6
  494.   frmNewUserGroup.Show vbModal
  495. End Sub
  496. Private Sub cmdNewUser_Click()
  497.   frmNewUserGroup.UserOrGroup = 0
  498.   frmNewUserGroup.Caption = MSG7
  499.   frmNewUserGroup.Show vbModal
  500. End Sub
  501. Private Sub cmdPassword_Click()
  502.   On Error GoTo CPErr
  503.   If lstUsers.Text = gwsMainWS.UserName Then
  504.     frmNewPassword.Show vbModal
  505.   Else
  506.     If MsgBox(MSG8, vbYesNo + vbQuestion) = vbYes Then
  507.       gwsMainWS.Users(lstUsers.Text).NewPassword vbNullString, vbNullString
  508.     End If
  509.   End If
  510.   Exit Sub
  511. CPErr:
  512.   ShowError
  513. End Sub
  514. Private Sub Form_Load()
  515.   On Error GoTo FLErr
  516.   Dim grp As Group
  517.   Dim usr As User
  518.   Dim i As Integer
  519.   Me.Caption = FORMCAPTION
  520.   optUsers.Caption = OPTION1
  521.   optGroups.Caption = OPTION2
  522.   fraPermissions.Caption = FRAME1
  523.   cmdNewUser.Caption = BUTTON1
  524.   cmdDeleteUser.Caption = BUTTON2
  525.   cmdNewGroup.Caption = BUTTON1
  526.   cmdDeleteGroup.Caption = BUTTON2
  527.   cmdPassword.Caption = BUTTON3
  528.   cmdAssign.Caption = BUTTON4
  529.   cmdClose.Caption = BUTTON5
  530.   lblLabels(0).Caption = Label1
  531.   lblLabels(1).Caption = Label2
  532.   lblLabels(2).Caption = LABEL3
  533.   lblLabels(3).Caption = LABEL4
  534.   mbLoading = True
  535.   For Each usr In gwsMainWS.Users
  536.     lstUsers.AddItem usr.Name
  537.     lstGroupsUsers.AddItem usr.Name
  538.     cboOwners.AddItem usr.Name
  539.   Next
  540.   For Each grp In gwsMainWS.Groups
  541.     lstGroups.AddItem grp.Name
  542.     lstUsersGroups.AddItem grp.Name
  543.     cboOwners.AddItem grp.Name
  544.   Next
  545.   If lstUsers.ListCount > 0 Then
  546.     lstUsers.ListIndex = 0
  547.   End If
  548.   If lstGroups.ListCount > 0 Then
  549.     lstGroups.ListIndex = 0
  550.   End If
  551.   GetTableList lstTablesQuerys, True, False, False
  552.   mbLoading = False
  553.   lstTablesQuerys.Selected(0) = True
  554.   Screen.MousePointer = vbDefault
  555.   Exit Sub
  556. FLErr:
  557.   mbLoading = False
  558.   ShowError
  559. End Sub
  560. Private Sub lstGroups_Click()
  561.   On Error GoTo GSErr
  562.   Dim i As Integer
  563.   mbSettingUser = True
  564.   For i = 0 To lstGroupsUsers.ListCount - 1
  565.     If IsMemberOf(lstGroups.Text, lstGroupsUsers.List(i)) Then
  566.       lstGroupsUsers.Selected(i) = True
  567.     Else
  568.       lstGroupsUsers.Selected(i) = False
  569.     End If
  570.   Next
  571.   mbSettingUser = False
  572.   Exit Sub
  573. GSErr:
  574.   ShowError
  575.   mbSettingUser = False
  576. End Sub
  577. Private Sub lstGroupsUsers_Click()
  578.   On Error GoTo GUErr
  579.   Dim usr As User
  580.   If mbSettingUser Then Exit Sub
  581.   If lstGroups.ListIndex < 0 Then
  582.     Beep
  583.     MsgBox MSG2
  584.     Exit Sub
  585.   End If
  586.   If lstGroupsUsers.Selected(lstGroupsUsers.ListIndex) Then
  587.     '
  588.     Set usr = gwsMainWS.CreateUser(lstGroupsUsers.Text)
  589.     gwsMainWS.Groups(lstGroups.Text).Users.Append usr
  590.     gwsMainWS.Users(lstGroupsUsers.Text).Groups.Refresh
  591.   Else
  592.     '
  593.     gwsMainWS.Groups(lstGroups.Text).Users.Delete lstGroupsUsers.Text
  594.     gwsMainWS.Users(lstGroupsUsers.Text).Groups.Refresh
  595.   End If
  596.   Exit Sub
  597. GUErr:
  598.   ShowError
  599. End Sub
  600. Private Sub lstTablesQuerys_Click()
  601.   SetPermissions False
  602. End Sub
  603. Private Sub lstUsers_Click()
  604.   On Error GoTo USErr
  605.   Dim i As Integer
  606.   mbSettingUser = True
  607.   For i = 0 To lstUsersGroups.ListCount - 1
  608.     If IsMemberOf(lstUsersGroups.List(i), lstUsers.Text) Then
  609.       lstUsersGroups.Selected(i) = True
  610.     Else
  611.       lstUsersGroups.Selected(i) = False
  612.     End If
  613.   Next
  614.   mbSettingUser = False
  615.   SetPermissions False
  616.   Exit Sub
  617. USErr:
  618.   ShowError
  619.   mbSettingUser = False
  620. End Sub
  621. Private Function IsMemberOf(rsGrp As String, rsUsr As String) As Integer
  622.   Dim usr As User
  623.   Dim grp As Group
  624.   Dim i As Integer
  625.   Set usr = gwsMainWS.Users(rsUsr)
  626.   For Each grp In usr.Groups
  627.     If grp.Name = rsGrp Then
  628.       IsMemberOf = True
  629.       Exit Function
  630.     End If
  631.   Next
  632.   IsMemberOf = False
  633. End Function
  634. Private Sub lstUsersGroups_Click()
  635.   On Error GoTo UGErr
  636.   Dim grp As Group
  637.   If mbSettingUser Then Exit Sub
  638.   If lstUsers.ListIndex < 0 Then
  639.     Beep
  640.     MsgBox MSG4
  641.     Exit Sub
  642.   End If
  643.   If lstUsersGroups.Selected(lstUsersGroups.ListIndex) Then
  644.     '
  645.     Set grp = gwsMainWS.CreateGroup(lstUsersGroups.Text)
  646.     gwsMainWS.Users(lstUsers.Text).Groups.Append grp
  647.     gwsMainWS.Groups(lstUsersGroups.Text).Users.Refresh
  648.   Else
  649.     '
  650.     gwsMainWS.Users(lstUsers.Text).Groups.Delete lstUsersGroups.Text
  651.     gwsMainWS.Groups(lstUsersGroups.Text).Users.Refresh
  652.   End If
  653.   Exit Sub
  654. UGErr:
  655.   ShowError
  656. End Sub
  657. Private Sub optGroups_Click()
  658.   picUsers.Visible = False
  659.   picGroups.Visible = True
  660. End Sub
  661. Private Sub optUsers_Click()
  662.   picGroups.Visible = False
  663.   picUsers.Visible = True
  664. End Sub
  665. Private Sub SetPermissions(rbAssign As Integer)
  666.   On Error GoTo SPErr
  667.   Dim lPermissions As Long
  668.   Dim lPermissions2 As Long
  669.   Dim bUncommon As Integer    '
  670.   Dim nCnt As Integer         '
  671.   Dim sUserGroup As String
  672.   Dim sObject As String
  673.   Dim i As Integer
  674.   mbSettingPerm = True
  675.   If rbAssign Then
  676.     '
  677.     If chkReadDesign.Value = vbUnchecked Then
  678.       lPermissions = 0
  679.     Else
  680.       If chkAdminister.Value = vbChecked Then
  681.         '
  682.         lPermissions = dbSecFullAccess Or _
  683.                        dbSecReadDef Or _
  684.                        dbSecWriteDef Or _
  685.                        dbSecRetrieveData Or _
  686.                        dbSecReplaceData Or _
  687.                        dbSecInsertData Or _
  688.                        dbSecDeleteData
  689.       Else
  690.         '
  691.         lPermissions = dbSecReadDef
  692.         If chkModifyDesign.Value = vbChecked Then
  693.           lPermissions = lPermissions Or dbSecWriteDef
  694.         End If
  695.         If chkReadData.Value = vbChecked Then
  696.           lPermissions = lPermissions Or dbSecRetrieveData
  697.         End If
  698.         If chkUpdateData.Value = vbChecked Then
  699.           lPermissions = lPermissions Or dbSecReplaceData
  700.         End If
  701.         If chkInsertData.Value = vbChecked Then
  702.           lPermissions = lPermissions Or dbSecInsertData
  703.         End If
  704.         If chkDeleteData.Value = vbChecked Then
  705.           lPermissions = lPermissions Or dbSecDeleteData
  706.         End If
  707.       End If
  708.     End If
  709.   End If
  710.   If optUsers.Value Then
  711.     '
  712.     sUserGroup = lstUsers.Text
  713.   Else
  714.     '
  715.     sUserGroup = lstGroups.Text
  716.   End If
  717.   If lstTablesQuerys.ListIndex = -1 Then
  718.     If mbLoading = False Then   '
  719.       Beep
  720.       MsgBox MSG9
  721.     End If
  722.     Exit Sub
  723.   End If
  724.   For i = 0 To lstTablesQuerys.ListCount - 1
  725.     If lstTablesQuerys.Selected(i) Then
  726.       nCnt = nCnt + 1
  727.       If lstTablesQuerys.ListIndex = 0 Then
  728.         '
  729.         gdbCurrentDB.Containers("Tables").UserName = sUserGroup
  730.         If rbAssign = False Then
  731.           lPermissions = gdbCurrentDB.Containers("Tables").Permissions
  732.         Else
  733.           gdbCurrentDB.Containers("Tables").Permissions = lPermissions
  734.         End If
  735.         ShowOwner gdbCurrentDB.Containers("Tables")
  736.         Set mobjCurrObject = gdbCurrentDB.Containers("Tables")
  737.       Else
  738.         sObject = StripConnect(lstTablesQuerys.List(i))
  739.         '
  740.         gdbCurrentDB.Containers("Tables").Documents(sObject).UserName = sUserGroup
  741.         If rbAssign = False Then
  742.           lPermissions = gdbCurrentDB.Containers("Tables").Documents(sObject).Permissions
  743.         Else
  744.           gdbCurrentDB.Containers("Tables").Documents(sObject).Permissions = lPermissions
  745.         End If
  746.         ShowOwner gdbCurrentDB.Containers("Tables").Documents(sObject)
  747.         Set mobjCurrObject = gdbCurrentDB.Containers("Tables").Documents(sObject)
  748.       End If
  749.       If nCnt > 1 Then
  750.         '
  751.         If lPermissions <> lPermissions2 Then
  752.           bUncommon = True
  753.         End If
  754.       End If
  755.       '
  756.       lPermissions2 = lPermissions
  757.     End If
  758.   Next
  759.   If rbAssign = False Then
  760.     If bUncommon Then
  761.       '
  762.       chkReadDesign.Value = 2
  763.       chkModifyDesign.Value = 2
  764.       chkAdminister.Value = 2
  765.       chkReadData.Value = 2
  766.       chkUpdateData.Value = 2
  767.       chkInsertData.Value = 2
  768.       chkDeleteData.Value = 2
  769.     Else
  770.       '
  771.       '
  772.       If (lPermissions And dbSecReadDef) = dbSecReadDef Then
  773.         chkReadDesign.Value = vbChecked
  774.       Else
  775.         chkReadDesign.Value = vbUnchecked
  776.       End If
  777.       If (lPermissions And dbSecWriteDef) = dbSecWriteDef Then
  778.         chkModifyDesign.Value = vbChecked
  779.       Else
  780.         chkModifyDesign.Value = vbUnchecked
  781.       End If
  782.       If (lPermissions And dbSecFullAccess) = dbSecFullAccess Then
  783.         chkAdminister.Value = vbChecked
  784.       Else
  785.         chkAdminister.Value = vbUnchecked
  786.       End If
  787.       If (lPermissions And dbSecRetrieveData) = dbSecRetrieveData Then
  788.         chkReadData.Value = vbChecked
  789.       Else
  790.         chkReadData.Value = vbUnchecked
  791.       End If
  792.       If (lPermissions And dbSecReplaceData) = dbSecReplaceData Then
  793.         chkUpdateData.Value = vbChecked
  794.       Else
  795.         chkUpdateData.Value = vbUnchecked
  796.       End If
  797.       If (lPermissions And dbSecInsertData) = dbSecInsertData Then
  798.         chkInsertData.Value = vbChecked
  799.       Else
  800.         chkInsertData.Value = vbUnchecked
  801.       End If
  802.       If (lPermissions And dbSecDeleteData) = dbSecDeleteData Then
  803.         chkDeleteData.Value = vbChecked
  804.       Else
  805.         chkDeleteData.Value = vbUnchecked
  806.       End If
  807.     End If
  808.   End If
  809.   mbSettingPerm = False
  810.   Exit Sub
  811. SPErr:
  812.   mbSettingPerm = False
  813.   ShowError
  814. End Sub
  815. Private Sub ShowOwner(vObj As Object)
  816.   On Error GoTo SOErr
  817.   Dim i As Integer
  818.   For i = 0 To cboOwners.ListCount - 1
  819.     If cboOwners.List(i) = vObj.Owner Then
  820.       mbSettingOwner = True
  821.       cboOwners.ListIndex = i
  822.       mbSettingOwner = False
  823.       Exit For
  824.     End If
  825.   Next
  826.   Exit Sub
  827. SOErr:
  828.   mbSettingOwner = True
  829.   cboOwners.ListIndex = -1
  830.   mbSettingOwner = False
  831.   ShowError
  832. End Sub
  833.