Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Запись по каким логином внесли данные  [new]
tuke
Member

Откуда:
Сообщений: 27
Всем доброго времени суток,

Доступ в базу данных осуществляется через ввода логина и пароля, и пользователь вводит данные в основную таблицу main через форму add.
Как сделать так чтобы в таблицу main хранились логины (в поле login) пользователей которые внесли записи. Логин и пароли хранятся в таблице tblUser


ссылка на файл - https://drive.google.com/open?id=16yCZ2ON0PB_xZcgVzyaPc7zq3MW9HMRu
Вход
логин: 111
пароль:123
9 сен 19, 05:24    [21966480]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
Agapov_stas
Member

Откуда:
Сообщений: 402
tuke,

Или сохранить в глобальную переменную id юзверя (не лучший вариант, по нескольким причинам) или же хранить id текущего пользователя в отдельной таблице (либо временной, либо история посещений).
9 сен 19, 12:58    [21966779]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1784
tuke,
Function Get_Environmental() As String
Dim sHostName As String
Dim sUserName As String
    ' Имя Контупера
    sHostName = Environ$("computername")
    ' Имя Юзверя
    sUserName = Environ$("username")
    Get_Environmental = sHostName & "     " & sUserName
End Function
9 сен 19, 13:59    [21966836]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
tuke
Member

Откуда:
Сообщений: 27
Agapov_stas, как реализовать? создал таблицу, потом как сделать чтоб логин туда записывался?
9 сен 19, 15:24    [21966959]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
tuke
Member

Откуда:
Сообщений: 27
ROI,
Файл работает на разных компьютерах. Каждый раз надо в коде имя компьютера менять?
9 сен 19, 15:26    [21966961]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1784
tuke
ROI,
Файл работает на разных компьютерах. Каждый раз надо в коде имя компьютера менять?

не надо менять имя контупера берется автоматом.
Environ$("computername")
вы хотя бы поиском пользуетесь?
9 сен 19, 15:37    [21966983]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 548
tuke, сохраняю в таблице в специальном раздельчике ник текущего пользователя и публичной функцией вытаскиваю его оттуда когда надо, этот ник записывается туда при входе. табличка локальная.
9 сен 19, 21:17    [21967282]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
Agapov_stas
Member

Откуда:
Сообщений: 402
tuke
Agapov_stas, как реализовать? создал таблицу, потом как сделать чтоб логин туда записывался?

У Вас есть событие кнопки по которому Вы проверяете валидность данных логин/пароль. Вот в нем и реализуйте добавление в таблицу текущего пользователя.
Что-то типа:

Private Sub Кнопка1_Click()
If IsNull(Me.txtLoginID) Then
 MsgBox "Введите логин", vbInformation, "Login Required"
 Me.txtLoginID.SetFocus
ElseIf IsNull(Me.txtPassword) Then
 MsgBox "Введите пароль", vbInformation, "Password Required"
 Me.txtPassword.SetFocus
Else
    'Процесс работы
    If (IsNull(DLookup("UserLogin", "tblUser", "UserLogin ='" & Me.txtLoginID.Value & "'"))) Or _
    (IsNull(DLookup("password", "tblUser", "Password ='" & Me.txtPassword.Value & "'"))) Then
        MsgBox "Неправильный логин или пароль"
    Else
        CurrentDb.Execute "INSERT INTO ВашаТаблица(ПолеИмяПользователя) VALUES ('" & Me.txtLoginID.Value & "')"
        DoCmd.Close
        DoCmd.OpenForm "main"
    End If
End If
End Sub


Единственное, Вам необходимо очищать эту самую таблицу при входе, к примеру на событие Form_Load, чтобы была всегда одна запись.
Private Sub Form_Load()
CurrentDb.Execute "DELETE * FROM ВашаТаблица"
End Sub


Достать текущего пользователя можно DLookUp-ом в необходимый момент.
10 сен 19, 09:31    [21967456]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
Agapov_stas
Member

Откуда:
Сообщений: 402
Только да, лучше хранить id пользователя. Мало ли какие данные понадобятся.
10 сен 19, 09:36    [21967461]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
tuke
Member

Откуда:
Сообщений: 27
Agapov_stas, Вы правы.
Добавил Ваш код Работает на логин, как изменить на ID логина?
11 сен 19, 06:37    [21968202]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
tuke
Member

Откуда:
Сообщений: 27
Agapov_stas, а что если с таблицы tblUser ID пользователя удалить и ключевым полем сделать UserLogin?
11 сен 19, 06:43    [21968204]     Ответить | Цитировать Сообщить модератору
 Re: Запись по каким логином внесли данные  [new]
tuke
Member

Откуда:
Сообщений: 27
Agapov_stas, Огромное спасибо, Заработал как хотел.
11 сен 19, 10:46    [21968341]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить