Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
1

Изменение записи несколькими пользователями

14.01.2021, 15:15. Показов 2237. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день
Борюсь с изменением записи несколькими пользователями. Фото во вложении.
Нашел интересный выход, но есть нюансы.
В Подчиненной форме на поле пишу код:

Visual Basic
1
2
3
Private Sub Примечание_Change()
    Me.Dirty = False
End Sub
Когда несколько пользователей изменяют запись поле плюс минус всегда показывает новое изминение.
Но ПРОБЕЛы не вводит.
Я умом понимаю почему, но как это обойти?
Миниатюры
Изменение записи несколькими пользователями  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2021, 15:15
Ответы с готовыми решениями:

Блокировка на открытие в рекордсете с несколькими пользователями
Всем привет, есть ленточная форма с рекордсетом открытым на чтение далее пользователь кликает на...

Форма с несколькими вычислениями для одной записи
Уважаемые форумчане! Поскажите, пожалуйста, как устранить 2 ошибки: 1) Мне необходимо создать...

Изменение первой в таблице записи (одного кортежа) при добавление новой записи
Добрый день! При добавлении новой записи через форму ДобСтуд в таблице Студ у первой записи...

Запрос с несколькими параметрами не показывает записи с пустыми полями
Запрос с несколькими параметрами выдает только те записи в которых все поля заполнены, т.е....

14
Эксперт MS Access
7398 / 4535 / 295
Регистрация: 12.08.2011
Сообщений: 14,023
15.01.2021, 07:37 2
Вы не там ищите решение, поставьте блокировки так у всех пользователей:
И тогда заблокировано будет только поле, которое кто-то редактирует в этой конкретной записи.
p.s. я у себя в базах даже не отображаю чужие поля для редактирования, а для просмотра вывод в Эксель/Ворд или отчёты
Миниатюры
Изменение записи несколькими пользователями  
1
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
15.01.2021, 07:54  [ТС] 3
alvk, делал так. Но работает не корректно. Периодически блокирует не только ту запись которую редактируешь, но и другие.
Мой вариант есть возможность допилить?
0
Эксперт MS Access
7398 / 4535 / 295
Регистрация: 12.08.2011
Сообщений: 14,023
15.01.2021, 09:23 4
Цитата Сообщение от vb001 Посмотреть сообщение
Периодически блокирует не только ту запись которую редактируешь, но и другие.
Значит не у всех настроено. Должно быть у каждого клиента, который работает с программой, на каждом Акцессе.
У меня редактировали одну запись до 5 человек одновременно и ничего страшного.
0
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
15.01.2021, 15:18  [ТС] 5
И все же. Как обойти в моем случае чтобы пробелы могли ставить?
0
10472 / 5458 / 1375
Регистрация: 05.10.2016
Сообщений: 15,468
15.01.2021, 15:42 6
Цитата Сообщение от vb001 Посмотреть сообщение
Как обойти в моем случае чтобы пробелы могли ставить?
Отлавливать конфликт и "рефрешить" форму с копированием и вставкой своего значения
1
735 / 205 / 12
Регистрация: 16.01.2014
Сообщений: 680
16.01.2021, 08:49 7
В таких случаях я делал так.
1. Доставал данные запросом и распихивал их в форме по полям
2. корректировал данные
3. вставлял запросом.

Так никаких конфликтов между пользователями не возникало.
0
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
16.01.2021, 10:10  [ТС] 8
Silur, Хм. Спасибо буду думать.
Eugene-LS, А как отловить ввод пробела? Если бы его поймать в процедуре Примечание_Change() можно было бы функцией если обходить
0
10472 / 5458 / 1375
Регистрация: 05.10.2016
Сообщений: 15,468
16.01.2021, 10:25 9
Цитата Сообщение от vb001 Посмотреть сообщение
А как отловить ввод пробела?
например так:
Visual Basic
1
2
3
4
5
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Событие формы Нажатие Клавиши
    'Свойство формы KeyPreview должно быть = On
    If KeyCode = 32 Then MsgBox "Вы нажали клавишу [SPACE]!", vbInformation
End Sub
1
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
16.01.2021, 19:39  [ТС] 10
Eugene-LS, это вы отлавливаете в KeyDown. Я это умею. Но мне же надо в процедуре Change поймать

Добавлено через 1 минуту
Я пробовал в KeyDown прикрутить Me.Dirty = False, но у меня ничего не вышло. Почему то.
0
10472 / 5458 / 1375
Регистрация: 05.10.2016
Сообщений: 15,468
16.01.2021, 19:45 11
Лучший ответ Сообщение было отмечено vb001 как решение

Решение

Цитата Сообщение от vb001 Посмотреть сообщение
Но мне же надо в процедуре Change поймать
Visual Basic
1
2
3
4
5
Private Sub txtTestMemo_Change()
    If Right(Me!txtTestMemo.Text, 1) = " " Then
        MsgBox "Вы нажали клавишу [SPACE]!", vbInformation
    End If
End Sub
1
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
18.01.2021, 07:47  [ТС] 12
Eugene-LS, то что надо. От души
0
Мы один, давай на "ты"
3421 / 1299 / 312
Регистрация: 16.06.2016
Сообщений: 3,046
18.01.2021, 09:43 13
Цитата Сообщение от vb001 Посмотреть сообщение
то что надо
ну так себе... А если пользователь вставит слово с конечным пробелом или удалит до пробела?
0
В работе
24 / 19 / 6
Регистрация: 13.07.2018
Сообщений: 829
Записей в блоге: 12
18.01.2021, 09:46  [ТС] 14
Панург, А в Аксе пробелы в любом случае подрезаются при обновлении / смене фокуса
0
Мы один, давай на "ты"
3421 / 1299 / 312
Регистрация: 16.06.2016
Сообщений: 3,046
18.01.2021, 11:41 15
Цитата Сообщение от vb001 Посмотреть сообщение
А в Аксе пробелы в любом случае подрезаются при обновлении / смене фокуса
зачем тебе тогда нужно на событие изменения их получать?
0
18.01.2021, 11:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2021, 11:41
Помогаю со студенческими работами здесь

Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице
Здравствуйте, помогите пожалуйста с базой данных, при попытке внести записи в таблицу Поставки...

Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице
Есть таблица( в базе "БонусВзыск") в эту таблицу мне нужно записывать данные из двух других...

Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице
Добрый день, помоготе пожалуйста разобрать в чем проблема, в базе при вводе данных через форму...

невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице
Помогите, пожалуйста! не могу понять почему при вводе данных в форму выдает ошибку "невозможно...

Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице 'Студенты'
Помогите пожалуйста найти ошибку. Эта ошибка появляется когда в форме 'Студенты' пытаюсь внести...

Работа с несколькими пользователями
Доброго времени суток. Я в web'e новичок, попросили написать небольшой портал. За основу взял...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru