|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
Доброго дня! Знаю, что подобные темы поднимались, но прочитав их более 10 так и не понял как решить вопрос-ребята общаются как опытные программисты, не понятно для новичка. Прошу помощи. цель - в таблице access фиксировать создателя и того, кто последний раз редактировал форму/таблицу. задача 1. определить имя пользователя, который открыл базу данных задача 2. при открытии формы внести в таблицу имя того, кто последний изменял её. задача 3. фиксировать кто создал новую строчку в таблице (через ввод новых данных в форме) - вообще не понимаю как сделать. Прочитав десятки тем и форумов вот, что сделал. Но это не работает. Option Compare Database Public Function ComputerName() As String Dim WshNetwork As Object Set WshNetwork = CreateObject("WScript.Network") ComputerName = WshNetwork.ComputerName End Function Private Sub Form_Open(Cancel As Integer) Me.Avtor = ComputerName End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:23 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
Не ваш вопрос , случаем? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:43 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
MrShin, не мой. А как пользоваться этим Environ("username")? Как его присвоить значению в столбце таблице "автор"? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:47 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
Имя компьютера можно получить проще: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:48 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
quickstar, чтоб внести в создаваемую/редактируемую запись имя создателя/редактора, надо на событии Form_BeforeUpdate присвоить полю значение вашей функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:51 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), здорово что Вы так хорошо разбираетесь, а можете прям кодом показать? я только учусь, еще не понимаю как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:56 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
quickstarКак его присвоить значению в столбце таблице "автор"? Надеюсь, форма у вас не свободная? Тогда просто в событии формы AfterUpdate пишем: Код: vbnet 1. 2. 3.
Ну или как в ответе на вопрос, можно макрос данных создать на таблицу, тогда значение бедет фиксироваться даже при прямом редактировании таблицы. Писать можно еще через запрос и через рекордсет ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:57 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
MrShin, спасибо. а как выглядит полный код? и как выглядит код, чтобы присвоить имя компа в нужный столбец нужной таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 15:57 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
MrShin Ну или как в ответе на вопрос, можно макрос данных создать на таблицу, тогда значение бедет фиксироваться даже при прямом редактировании таблицы. супер! а как код выглядит при таком сценарии? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 16:00 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
quickstarа как выглядит полный код? Это все, полный. Для изменения таблиц, не входящих в базу редактируемой формы я обычно использую SQL запросы: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 16:03 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
quickstarа как код выглядит при таком сценарии? Там не VBA код, а макрос, он в ответе приведен полностью. Только вместо GetFullUserInfo() пишете Environ("username") ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 16:06 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
MrShin, спасибо!!! Вы мастер!!! Код по записи автора работает!!! :-) извините, не увидел где GetFullUserInfo() вижу только CurrentDb.Execute "UPDATE Employees SET ReportsTo = 5 WHERE ReportsTo = 2", dbFailOnError и опять не понимаю, подскажите макрос в строке вышел - это полный код макроса? тогда не понимаю как он записывает в столбец "автор" все любые изменения таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2017, 16:32 |
|
Взять имя пользователя и вставить в строку таблицы - MS Access
|
|||
---|---|---|---|
#18+
quickstarизвините, не увидел где GetFullUserInfo() Я писал про ответ на SackOverflow и макросы данных. Они появились в Акцесс 2010, если у вас версия 2010 или позже, то имеет смысл читать дальше. Откройте таблицу в дизайнере, создайте макрос типа Before Change с текстом (если это можно так назвать, конечно): Код: vbnet 1. 2. 3.
У меня нет под рукой русского офиса, не могу сказать какие там пункты меню, почитайте справку насчет макросов данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2017, 07:58 |
|
|
start [/forum/topic.php?fid=45&msg=39383301&tid=1612814]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 142ms |
0 / 0 |