powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отдельный топик для Быкиса и П-Л по совету Вади
25 сообщений из 323, страница 7 из 13
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633173
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица SYS_User, держащая список этих пользователей связана как справочник (сторона один) с другими таблицами, в которых эти пользователи фигурируют на сторонах много.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633302
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сами схемы на скл (те что на картинке), функций схем как таковых не выполняют?
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633801
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если под "схемы" понимаются диаграммы, то нет. Они используются только для работы со структурой БД на сервере средствами EM. Таблицы, ключи, связи и т.п. вытряхиваются из сервера запросами, базирующимися на INFORMATION_SCHEMA.*
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633878
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ByKiSА сами схемы на скл (те что на картинке), функций схем как таковых не выполняют?ой
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633928
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это у тебе в 2005 черт-те-что вылезает.

Фамилии - у нормальных людей (на 2000) это пользователи.
dbo_ - стандартные роли БД
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633933
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что не фамилии и не dbo_ - это добавленные роли в данной БД.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633949
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сралями понятно :) А чё за бабарыки?
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633957
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633990
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз для тех кто в танке: это - фамилии, написанные латинницей. Они получаются из SQL сервера (логины=учетные записи домена Windows, допущенные до базы данных), форма где это происходит и код получения у тебя есть.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34633998
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и за то, что у тебя 2005 я не отвечаю!
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34634040
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А? Громче пожалуйста! Совсем не слышно

Типа схемы (не роли, не логины, не пользователи, а именно СХЕМЫ), которые я вижу в 2005 - это всего лишь мираж? ;) Тогда понятно боле-менее.

ЗЫ: Распаковал твой оригинальный файл на 2000, картинка таже. Тут схемы - тоже глюк?
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34634122
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2000 НЕТУ Schemas.
Есть Server->Security->Logins
Есть Server->Database...->Users
Есть Server->Database...->Roles

В Server->Security->Logins подключаются нужные логины из домена Виндоуз.

Есть Server->Database...->Roles в дополнение к стандартным dbo_... добавляешь свои роли по вкусу. Настройка ролей у меня происходит в специальной форме, автоматически. Роли копируются в специальные таблицы в БД SYS_Role.

В Server->Databse...->Users заводятся пользователи, которые соответсвуют логинам в предыдущем пункте. Одновременно в этом пунке свежезаведеные пользователи втыкаются в нужные роли. Пользователи и их вхождение в роли тоже копируются в таблицы в БД SYS_User, SYS_RoleUser.

Я сам в администрировании сервера не силен, так, азы только, спрашивай лучше на специализированном форуме. Купи книжку про SQL сервер.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34634196
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Купил, вот и появились непонятки со схемами ;)
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34634474
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ByKiS
Схема - это как некий контейнер, в рамках которого содержатся различные объекты сиквела. При создании пользователя от логина в базе данных создаётся схема для него, где он владелец (владельца потом можно поменять). В рамках разных схем в одной БД у объектов одного типа могут быть одинаковые названия (в рамках одной схемы две вьюхи одного названия иметь не могут, равно как и все объекты с одинаковым типом). Схема может содержать объекты БД, которые принадлежат другому пользователю, а не владельцу схемы. Подробнее в БОЛ.
В 2005 со схемами много чего нового в плане разрешений.

P.S. Удобно разделять по схемам объекты, которые принадлежат разным предметным областям.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34634537
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этого я не знал - вот и запутался. Прояснилось :)
BOLIn previous versions of SQL Server, database users and schemas were conceptually the same object. Beginning in SQL Server 2005, users and schemas are separate, and schemas serve as containers of objects.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34649321
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БыкисЕщё бы меню в метаданные засунуть...
ПЛОт этого я никуда не денусь. Но из общего перечня нерешеных задач эта - не самая горячая.Дяденька, подскажи как это делать?
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34649355
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Элемениарно - при загрузке приложения создается меню. Все параметры при создании нового итема меню можно взять из таблички.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34649363
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вот что не ладится - меню делать надо по ролям, так? Вроде так. Для каждой роли своё меню. Вроде так. Некоторые пункты есть и у админиов, и у производства и у манагеров.
Если юзер в нескольких ролях - то не получается у меня придумать как делать меню.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34649456
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждая роль имеет вес (важность). Задавай по максимальному весу.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34676287
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи как у тебя форма грузиться из метаданных? В смысле как какой кодой она устанавливает роль пользователя и как потом подставляет нечто в источник данных?
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34676480
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлЁ?!
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34676489
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
Private Sub Form_Timer()

    Me.TimerInterval =  0 : Me.OnTimer = ""

    'Загрузка списков огранизаций для данной роли
    modSYS.SetList Me!lstSort, "CustomerOrderBy"
    modSYS.SetList Me!lstFilter, "CustomerFilter"
    Me!optFilter = False
    Me!optFilter.Enabled = False
    Me!btnQuickFind.Enabled = False
    
    Dim id, s
    If modForm.GetObjectByArgs("CheckData", Me.OpenArgs, s) Then
        Me!lstFilter.Enabled = False
        Me!btnAddCustomer.Enabled = False
        Me!btnDeleteCustomer.Enabled = False
    End If
    If modForm.GetObjectByArgs("iCustomerTypeID", Me.OpenArgs, id) Then
        Me!lstFilter = id
    End If

    'А внутри данной ф-ии грузится сам источник формы.
    Call RequeryData
    
    Dim ctl As Control
    If modForm.GetObjectByArgs("FieldList", Me.OpenArgs, s) Then
        For Each ctl In Me!grData.Form.Controls
            If _
                ctl.ControlType = acCheckBox Or _
                ctl.ControlType = acComboBox Or _
                ctl.ControlType = acTextBox _
            Then
                If ctl.ColumnOrder > Me!grData.Form.FrozenColumns Then
                    If InStr( 1 , s, ctl.ControlSource) >  0  Then
                        ctl.ColumnHidden =  0 
                    Else
                        ctl.ColumnHidden = - 1 
                    End If
                End If
            End If
        Next ctl
    Else
        For Each ctl In Me!grData.Form.Controls
            If _
                ctl.ControlType = acCheckBox Or _
                ctl.ControlType = acComboBox Or _
                ctl.ControlType = acTextBox _
            Then
                If ctl.ColumnOrder > Me!grData.Form.FrozenColumns Then
                    ctl.ColumnHidden =  0 
                End If
            End If
        Next ctl
    End If
    
    Me!grData.Visible = True
    Me.Repaint

    Call modForm.FindObjectByArgs(Me!grData.Form, "iCustomerID", Me.OpenArgs)

    Set DataGrid = Me!grData.Form
    DataGrid.OnDblClick = "[Event Procedure]"
    DataGrid.OnCurrent = "[Event Procedure]"
    
End Sub

Public Function MakeWhere() As String

    MakeWhere = ""
    If Me!optFilter Then
        If Me!txtQuickFind.value <> "" Then
            MakeWhere = _
                "(sCustomerName LIKE '%" & Me!txtQuickFind.value & "%' OR " & _
                "sCustomerReportName LIKE '%" & Me!txtQuickFind.value & "%' OR " & _
                "sCustomerFullName LIKE '%" & Me!txtQuickFind.value & "%')"
        End If
    End If

    Dim s
    If modForm.GetObjectByArgs("CheckData", Me.OpenArgs, s) Then
        If Len(MakeWhere) >  0  Then MakeWhere = MakeWhere & " AND "
        MakeWhere = MakeWhere & s
    ElseIf Not IsNull(Me!lstFilter) Then
        Dim sWhere
        sWhere = Me!lstFilter.Column( 2 )
        If InStr( 1 , sWhere, "{LIST}") >  0  Then
            sWhere = Replace(sWhere, "{LIST}", Me!lstFilter)
        End If
        If Len(MakeWhere) >  0  Then MakeWhere = MakeWhere & " AND "
        MakeWhere = MakeWhere & sWhere
    End If
    
End Function

Public Function MakeOrderBy() As String

    MakeOrderBy = ""
    If Not IsNull(Me!lstSort) Then
        MakeOrderBy = Me!lstSort.Column( 2 )
    Else
        MakeOrderBy = ""
    End If
    
End Function

Public Function MakeSQL() As String
On Error GoTo err_label

    Dim sWhere As String, sOrderBy As String
    Dim sFormWhere As String, sFormSource As String, sFormOrderBy As String
    Dim sControlWhere As String, sControlOrderBy As String
    
    sWhere = ""
    sOrderBy = ""
    ' Внутри этой ф-ии проверяются пользователь и роль. Исходный код у тебя есть.
    modSYS.FormInfo "Customer", sFormSource, sFormWhere, sFormOrderBy
    sControlWhere = MakeWhere
    sControlOrderBy = MakeOrderBy
    
    If Len(sFormWhere) >  0  Then
        sWhere = "(" & sFormWhere & ")"
    End If
    If Len(sControlWhere) >  0  Then
        If Len(sWhere) >  0  Then
            sWhere = sWhere & " AND "
        End If
        sWhere = sWhere & "(" & sControlWhere & ")"
    End If
    
    If Len(sControlOrderBy) >  0  Then
        sOrderBy = sControlOrderBy
    Else
        If Len(sFormOrderBy) >  0  Then
            If Len(sOrderBy) >  0  Then
                sOrderBy = sOrderBy & ", "
            End If
            sOrderBy = sOrderBy & sFormOrderBy
        End If
    End If
    
    If Len(sWhere) >  0  Then sWhere = "WHERE " & sWhere
    If Len(sOrderBy) >  0  Then sOrderBy = "ORDER BY " & sOrderBy
    MakeSQL = "SELECT * FROM " & sFormSource & " " & sWhere & " " & sOrderBy
    
exit_label:
    Exit Function
err_label:
    Call modError.ErrorMessage(Err.number, Err.Description)
    Resume exit_label

End Function

Public Function RequeryData()
On Error GoTo err_label

    DoCmd.Hourglass True
    Me!lstSort.SetFocus
    Me!grData.Visible = False
    Me.Repaint: Me.Painting = False:

    With Me!grData.Form
        .RecordSource = MakeSQL
        Me!btnOpenForm.Enabled = .Recordset.RecordCount >  0  _
            And Not .Recordset.BOF And Not .Recordset.EOF
    End With
    DoEvents
    
    Me!grData.Visible = True
    Me!grData.SetFocus
    Me.Painting = True: DoCmd.Hourglass False

exit_label:
    DoCmd.Hourglass False
    Exit Function
err_label:
    Call modError.ErrorMessage(Err.number, Err.Description)
    Resume exit_label
    
End Function
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34676503
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Толи я поумнел, толи код простой - читаю и понимаю Гы!!!
Спасибо.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34676514
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ByKiSТоли я поумнел, толи код простой - читаю и понимаю
Нет, это я такой хороший код пишу.
...
Рейтинг: 0 / 0
Отдельный топик для Быкиса и П-Л по совету Вади
    #34676554
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит ещё месяца два назад код у тебя был ужасный! Я ничего не понимал
...
Рейтинг: 0 / 0
25 сообщений из 323, страница 7 из 13
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отдельный топик для Быкиса и П-Л по совету Вади
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]