Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДР_М (2).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.59 Mб
Скачать
    1. Q_Фамилия_и_о

SELECT [LAST_NAME] & " " & Left([FIRST_NAME] ,1) & "." & (Left([SECOND_NAME],1) + ".") AS FIO, Работники_склада.ID as ID

FROM Работники_склада;

UNION SELECT [FAMILIY] & Replace(" " & Left([NAME],1) & "."," .","") & Replace(" " & Left([OTCHESTVO],1) & "."," .","") AS FIO, [Объект физическое лицо].ID_FIZICHESK_FACE AS ID

FROM [Объект физическое лицо]

WHERE ((([Объект физическое лицо].UVOLEN)=false));

    1. Q_Фамилия_Имя_Отчество

SELECT [LAST_NAME] as FAMILY, [FIRST_NAME] as NAME, [SECOND_NAME] AS OTCHESTVO, Работники_склада.ID

FROM Работники_склада;

UNION SELECT [Объект физическое лицо].FAMILIY, [Объект физическое лицо].NAME, [Объект физическое лицо].OTCHESTVO, [Объект физическое лицо].ID_FIZICHESK_FACE AS ID

FROM [Объект физическое лицо]

WHERE ((([Объект физическое лицо].UVOLEN)=false));

    1. Qout_Заказ_обедов_свод

SELECT Т_обеды_свод.KOD_FL AS Таб№, q_Фамилия_И_О.FIO AS [ФИО Сотрудника], [OBED_DAY]/2*Forms!Отчет_по_обедам_F!PRICE+[OBED_ALL]*Forms!Отчет_по_обедам_F!PRICE AS Сумма

FROM Т_обеды_свод INNER JOIN q_Фамилия_И_О ON Т_обеды_свод.KOD_FL = q_Фамилия_И_О.ID

WHERE (((Т_обеды_свод.KOD_FL)>0));

    1. Qsys_Использование строк в запросах

SELECT DISTINCT MSysObjects.Name

FROM [sys_Использование строк в запросах], MSysObjects INNER JOIN MSysQueries ON MSysObjects.Id = MSysQueries.ObjectId

WHERE (((MSysObjects.Flags)<>3) AND ((MSysObjects.Type)=5) AND ((MSysQueries.Expression) Like "*" & [find] & "*")) OR (((MSysObjects.Flags)<>3) AND ((MSysObjects.Type)=5) AND ((MSysQueries.Name1) Like "*" & [find] & "*")) OR (((MSysObjects.Flags)<>3) AND ((MSysObjects.Type)=5) AND ((MSysQueries.Name2) Like "*" & [find] & "*"))

ORDER BY MSysObjects.Name;

    1. Qt_права

SELECT [Объект меню].ID, [Объект меню].NAIMEN AS [Объект меню], IIf([MODE],"+",Null) AS админ, q_Фамилия_И_О.FIO AS Предоставил

FROM Т_Права_доступа_F INNER JOIN (Настройка_раб_места_УРВ INNER JOIN ((Пользователи_права LEFT JOIN [Объект меню] ON Пользователи_права.KOD_MENU = [Объект меню].ID) LEFT JOIN q_Фамилия_И_О ON Пользователи_права.KOD_FL_ADM = q_Фамилия_И_О.ID) ON Настройка_раб_места_УРВ.KOD_PLACE = Пользователи_права.KOD_PLACE) ON Т_Права_доступа_F.KOD_FL = Пользователи_права.KOD_FL

GROUP BY [Объект меню].ID, [Объект меню].NAIMEN, IIf([MODE],"+",Null), q_Фамилия_И_О.FIO

ORDER BY [Объект меню].NAIMEN, IIf([MODE],"+",Null);

  1. Формы

    1. Вход_F

Private Sub BUT_ENTER_Click()

Dim NEW_PASS, NEW_PASS_2 As String

Dim q() As String, i As Integer

If Me![KOD_PLACE].ListIndex < 0 Then MsgBox "Выберите польлозвателя", , Me.Caption: Exit Sub

If Me![KOD_FL].ListIndex < 0 Then MsgBox "Выберите польлозвателя", , Me.Caption: Exit Sub

If IsItMDE() Then

Select Case CheckPassword(Me![PASS], Me![KOD_FL])

Case PASS_WRONG: Me![PASS].SetFocus: Exit Sub

Case PASS_EMPTY: OpenForm "Пароли_операторов_F", , , , , , Me![KOD_FL], , False: Exit Sub

Case PASS_OK

End Select

End If

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "UPDATE Настройка_раб_места_УРВ " & vbNewLine

q(i) = q(i) & "SET Настройка_раб_места_УРВ.KOD_USER = " & Me![KOD_FL] & "," & vbNewLine

q(i) = q(i) & " Настройка_раб_места_УРВ.KOD_PLACE = " & Me![KOD_PLACE] & "," & vbNewLine

q(i) = q(i) & " Настройка_раб_места_УРВ.NUM_COMPUTER = " & DLookup("NUM_COMPUTER", gWORK_PLACE)

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "INSERT INTO Активные_пользователи ( KOD_USER, [COMP] )" & vbNewLine

q(i) = q(i) & "SELECT Настройка_раб_места_УРВ.KOD_USER, Настройка_раб_места_УРВ.NUM_COMPUTER" & vbNewLine

q(i) = q(i) & "FROM Настройка_раб_места_УРВ LEFT JOIN " & vbNewLine

q(i) = q(i) & " Активные_пользователи ON (Настройка_раб_места_УРВ.KOD_USER = Активные_пользователи.KOD_USER) AND " & vbNewLine

q(i) = q(i) & " (Настройка_раб_места_УРВ.NUM_COMPUTER = Активные_пользователи.COMP)" & vbNewLine

q(i) = q(i) & "WHERE Активные_пользователи.KOD_USER Is Null"

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "UPDATE Активные_пользователи INNER JOIN " & vbNewLine

q(i) = q(i) & " Настройка_раб_места_УРВ ON (Активные_пользователи.COMP = Настройка_раб_места_УРВ.NUM_COMPUTER) AND " & vbNewLine

q(i) = q(i) & " (Активные_пользователи.KOD_USER = Настройка_раб_места_УРВ.KOD_USER) " & vbNewLine

q(i) = q(i) & "SET Активные_пользователи.BEG_TIME = Now(), Активные_пользователи.EXIT = False"

If Not ExecuteTrans("настройка", q) Then Exit Sub

SetTitle Me![KOD_PLACE].Column(1) & ", " & Me![KOD_FL].Column(0) & ", " & DLookup("NAIMEN", "Объект рабочее место", "NUM_COMPUTER=" & DLookup("NUM_COMPUTER", gWORK_PLACE))

Application.MenuBar = "Employee"

DoCmd.Close acForm, "Вход_F"

OpenForm "Учет_рабочего_времени_F"

'AvtoDelPravaOnProgravmm

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

SetLanguage Shift

End Sub

Private Sub Form_Open(Cancel As Integer)

Dim q() As String, i As Integer

Dim NUM_COMP As Variant

Application.MenuBar = "Вход"

CommandBars("Вход").Controls(1).VISIBLE = Not IsItMDE(CurrentDb)

If IsNull(Me.OpenArgs) Then Cancel = Not TablesAttach()

If Cancel Then DoCmd.Quit

Me![KOD_FL] = DLookup("KOD_USER", gWORK_PLACE)

Me![KOD_PLACE] = DLookup("KOD_PLACE", gWORK_PLACE)

Cancel = IsNull(Me![KOD_PLACE])

If Cancel Then MsgBox "Рабочее место не настроено!" & vbNewLine & "Не указано размещение!", vbCritical, Me.Caption: DoCmd.Quit

Cancel = Not GetNumComp(Me, NUM_COMP, IsItMDE())

If Cancel Then DoCmd.Quit

Cancel = IsNull(NUM_COMP)

If Cancel Then Exit Sub

i = i + 1: ReDim Preserve q(1 To i)

q(i) = "UPDATE DISTINCTROW Система, T_version" & vbNewLine

q(i) = q(i) & "SET Система.VERSION = T_version.TIME" & vbNewLine

q(i) = q(i) & "WHERE Система.VERSION Is Null Or" & vbNewLine

q(i) = q(i) & " Система.VERSION<T_version.TIME"

Cancel = Not ExecuteTrans("регистрация рабочего места", q)

If Cancel Then Exit Sub

'закрываем все формы

While Forms.Count > 1

If Not Forms(0) Is Me Then

CloseObject acForm, Forms(0).NAME, , True

Else

CloseObject acForm, Forms(1).NAME, , True

End If

Wend

While Reports.Count > 0: CloseObject acReport, Reports(0).NAME, , True: Wend

SetTitle

SetLanguage

End Sub

Private Sub Кнопка6_Click()

DoCmd.Quit

End Sub