powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите разобраться с установкой курсора в поле. Access 2016
25 сообщений из 50, страница 2 из 2
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844834
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CharaСпасибо за вариант! Но так не получится, к сожалению) Это многоплановые данные, которые в таблицах комплексно надо смотреть, именно по сравнению с другими, заполненными. Но неважно. А вот это говорит о неправильно спроектированной БД При создании которой вариант "а если пользователь оставит поле пустым" не рассматривался и в данный момент варианта,кроме предложенного Вам, я не вижу.
(одно из основных правил "базостроения" гласит:изменение данных в таблице не должно изменять их(данные)в других таблицах)
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844836
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:а на стадии разработки это решается элементарно
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844838
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще:
Код: vbnet
1.
....isNull(поле) and поле=""....
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844839
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuCharaСпасибо за вариант! Но так не получится, к сожалению) Это многоплановые данные, которые в таблицах комплексно надо смотреть, именно по сравнению с другими, заполненными. Но неважно. А вот это говорит о неправильно спроектированной БД При создании которой вариант "а если пользователь оставит поле пустым" не рассматривался и в данный момент варианта,кроме предложенного Вам, я не вижу.
(одно из основных правил "базостроения" гласит:изменение данных в таблице не должно изменять их(данные)в других таблицах)
Спасибо, конечно, на добром слове.
База спроектирована (для дальнейшего пополнения) вполне себе хорошо и нормализовано. Со всеми выделенными справочниками и подчиненными таблицами.
Мне из кучи разрозненного хлама предстоит собрать как раз-таки упорядоченную базу. В ней есть три важных поля, которые должны стать атрибутами записи в основном хранилище, на их основе создам уникальный индекс. И вот эти поля черти как были означены в разрозненных экселевских файликах.
Хотелось просто на первичном этапе людям помочь не пропускать при реконструкции.
Странно, что в Аксесс какие-то танцы с бубнами нужны, чтобы элементарное событие одного элемента на форме запрограммировать. Не ожидала вообще. Времени жалко.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844840
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuвдогонку:а на стадии разработки это решается элементарно
То, что знаю это упоминала. Когда всё наполнение исправят, тогда и включу.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844841
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения не AND а OR- можно проверять длину строки LEN(поле)=0
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844859
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CharaХотелось просто на первичном этапе людям помочь не пропускать при реконструкции.

И для этого решено вручную пробежаться по полям в форме Tab'ом?

Занятно.

А почему не показать пользователю пустые поля, просто подкрасив их через условное форматирование?

Про выявление их запросом даже не спрашиваю...
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844868
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleCharaХотелось просто на первичном этапе людям помочь не пропускать при реконструкции.

И для этого решено вручную пробежаться по полям в форме Tab'ом?

Занятно.

А почему не показать пользователю пустые поля, просто подкрасив их через условное форматирование?

Про выявление их запросом даже не спрашиваю...
Вы, наверное, со своими какими-то ассоциациями сразу так реагируете) Это нормально - каждый на свой опыт примеряет.

По САБЖу - поля и так прекрасно видно, что они пустые. Главное, чтобы они пустыми после проверки не остались. Запросы уже выше объяснила, что не подойдут.
Нужно, чтобы люди постепенно вдумчиво заполнили поля старых данных, сравнивая с бумажными разношерстными архивами и окружающими данными. Не всегда машина лучше человека может что-то сделать. А вот когда уже будет общий знаменатель, тогда и проблема отпадет.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844870
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuпрошу прощения не AND а OR- можно проверять длину строки LEN(поле)=0
Я вот тоже про это думала, но с синтаксисом путаюсь пока. Учебник нормальный не удалось прочесть, попадаются какие-то или для чайников, или уже совсем дебри, а времени мало. Гуглю вот, но часто или тупиковое, или сленг:) Рунет, он такой рунет))
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844872
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, сами-то условия проверки не сложно написать(работает разными способами).
Сложно оказалось место этой проверки найти и заставить курсор вернуться в пустое поле и не уходить, пока оно станет не пустым.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844873
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chara,
Т.к. это разовое действо надо потратить какое-то время,все исправить, а после этого присвоить,нужным полям,атрибут "обязательное поле". Если же изменение поля в таблице влечет изменения в другой таблице о нормальной работе БД не может быть и речи (рано или поздно это вылезет ошибкой-остается надеяться на русский авось-но это не наш метод)
За сим разрешите откланяться
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844876
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuChara,
Т.к. это разовое действо надо потратить какое-то время,все исправить, а после этого присвоить,нужным полям,атрибут "обязательное поле". Если же изменение поля в таблице влечет изменения в другой таблице о нормальной работе БД не может быть и речи (рано или поздно это вылезет ошибкой-остается надеяться на русский авось-но это не наш метод)
За сим разрешите откланяться
Спасибо)
Да не влечет оно никакого изменения в других таблицах, с чего Вы это взяли) Разовое, но продолжительное. Не могу им без присмотра дать исправлять файлики, наваляют еще больше. Так они хотя бы из справочников заполнят, выбирая подходящее.
Если Вам интересно - это большие массивы научных данных, но описаны записи в каждом отделе были совершенно по-разному.
Вот они и припишут теперь эти записи потихонечку куда надо, попутно исправляя еще, что где заметят. Потом пройдусь аналитикой сверху и будет нормально.

В общем, пока решила в LostFocus() оставить. В конце-концов, люди не глупые будут делать, однократно же сообщение о необходимости заполнить поле появляется, а потом уже на уровне формы будет. Это вообще будет промежуточная таблица, не хотелось возни дополнительной, конечно, но что делать...

Но вот все-таки загадка, почему же второй раз не срабатывает это событие, фокус же теряется элементом снова...
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844880
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chara__MichelleCharaХотелось просто на первичном этапе людям помочь не пропускать при реконструкции.
И для этого решено вручную пробежаться по полям в форме Tab'ом?

Вы, наверное, со своими какими-то ассоциациями ...Ассоциации? Нет, конечно. Зачем?
Основываюсь исключительно на источниках.
Напоминаю:Charaпо полям быстренько проходят клавишей табуляции
Charaсвойство "Правило проверки" для элемента формы. Я его не нашла(ValidationRule - Условие на значение.HelpYou can use the ValidationRule property to specify requirements for data entered into a record, field, or control.
When data is entered that violates the ValidationRule setting,
you can use the ValidationText property to specify the message to be displayed to the user.Однако, имейте в виду:HelpValidation rules you set for fields and controls are applied when you edit the data and the focus leaves the field or control.
То есть, не спасет без редактирования.

Задайте всем информационным полям формы
а) Получение фокуса: =Func_GotFocus()
б) Потеря фокуса: Func_LostFocus()
И функции
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Function Func_GotFocus()
 Dim Ctl As Control
 Set Ctl = Screen.PreviousControl
 On Error GoTo LErr
 If IsNull(Ctl) Or Ctl = "" Then
  MsgBox "Íåîáõîäèìî çàïîëíèòü " & Ctl.Name
  Ctl.OnGotFocus = ""
  Ctl.SetFocus
 End If
LErr:
End Function

Function Func_LostFocus()
 Screen.PreviousControl.OnGotFocus = "=Func_GotFocus()"
End Function
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844882
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так. Текст исказился. Придется повторить.

Задайте всем информационным полям формы
а) Получение фокуса: =Func_GotFocus()
б) Потеря фокуса: =Func_LostFocus()
И функции
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Function Func_GotFocus()
 Dim Ctl As Control
 Set Ctl = Screen.PreviousControl
 On Error GoTo LErr
 If IsNull(Ctl) Or Ctl = "" Then
  MsgBox "Необходимо заполнить " & Ctl.Name
  Ctl.OnGotFocus = ""
  Ctl.SetFocus
 End If
LErr:
End Function

Function Func_LostFocus()
 Screen.PreviousControl.OnGotFocus = "=Func_GotFocus()"
End Function
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844885
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А всего проще не мучить LostFocus, а работать с Exit.
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Поле_Exit(Cancel As Integer)
 If IsNull(Поле) Or Поле = "" Then
  MsgBox "Необходимо заполнить Поле"
  Cancel = True
 End If
End Sub


Но считаю, что расставлять пользователям такие капканы и ловушки очень негуманно.
Тем более, что заполнять будут "поля старых данных, сравнивая с бумажными разношерстными архивами и окружающими данными".
Если пользователи люди сознательные и заинтересованные в результате, то в описанной ситуации подкрашивания полей более чем достаточно.
Ну и, разумеется, разработчик обязан предоставить им программные средства последующего выявления пропущенного.
Скорее всего, это должен быть итерационный процесс.

И не надо торопиться с заявлениями типаCharaСтранно, что в Аксесс какие-то танцы с бубнами нужны,
чтобы элементарное событие одного элемента на форме запрограммировать.
Не ожидала вообще. Времени жалко..Особенно впечатляют эти "Времени жалко.".
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844890
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, И Вам доброе утро!

Всё попробую, спасибо за советы!
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844891
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про Exit, кстати, тоже мысль возникла попробовать, вчера дочитала в ночи
Последовательность событий фокуса для элементов управления в формах
Публикую, естественно, не для гуру, а для новичков.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844892
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleОсобенно впечатляют эти "Времени жалко.".
Своего мне времени жалко, своего) Я вообще другим должна заниматься, а тут все вокруг говорили, что там на Аксессе - бац-бац-бац за три секунды и ОК)
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844894
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chara__MichelleОсобенно впечатляют эти "Времени жалко.".
Своего мне времени жалко, своего) Я вообще другим должна заниматься, а тут все вокруг говорили, что там на Аксессе - бац-бац-бац за три секунды и ОК)
-- В Москве говорят кур доят!
-- Ан нет, их щупают!
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844895
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chara, бац-бац это создать новую базу на основе мастеров. Но Вы то лепите из г..на конфетку. Поверьте чтобы слепить конфетку надо прочитать пару тысяч страниц, не менее половины на English, исписать тыщщу строк кода (как минимум). Может получиться, но не сразу. А в базе ведь надо людям работать ещё, и эти Lost и Got_Focus, выскакивающие окна и пр. серьезно влияют на эргономику и скорость работы, не забываем про глюки, про разную работу на разных машинах и пр. и т.п., например: Вы решили для себя в чем программировать в DAO или в ADO? Идите лучше на фрилансерские сайты, формируйте заявку, да выбирайте из спецов, можете и здесь заявку создать (в разделе работа). и занимайтесь своими делами. :)
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844897
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleА всего проще не мучить LostFocus, а работать с Exit.
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Поле_Exit(Cancel As Integer)
 If IsNull(Поле) Or Поле = "" Then
  MsgBox "Необходимо заполнить Поле"
  Cancel = True
 End If
End Sub



Ура-ура! Всё работает именно как нужно) Спасибо, от меня букетик!
На самом деле, я с синтаксисом, действительно, прошляпила - я же проверяла уже содержание таблицы, а надо было поля формы.

Ещё огромное спасибо всем за просто отклик, помогло взглянуть чуть с другой стороны
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844898
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleckoChara, бац-бац это создать новую базу на основе мастеров. Но Вы то лепите из г..на конфетку. Поверьте чтобы слепить конфетку надо прочитать пару тысяч страниц, не менее половины на English, исписать тыщщу строк кода (как минимум). Может получиться, но не сразу. А в базе ведь надо людям работать ещё, и эти Lost и Got_Focus, выскакивающие окна и пр. серьезно влияют на эргономику и скорость работы, не забываем про глюки, про разную работу на разных машинах и пр. и т.п., например: Вы решили для себя в чем программировать в DAO или в ADO? Идите лучше на фрилансерские сайты, формируйте заявку, да выбирайте из спецов, можете и здесь заявку создать (в разделе работа). и занимайтесь своими делами. :)
В бюджетной организации заявку на платную программу? Жалко тут смайликов нет) Да они удавятся, чтобы самое насущное купить для работы.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844901
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chara, на "ненужный" Аксесс денег то выделили- судя по тому что люди уже работают и не на одну копию.
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844910
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока и на это не выделили
...
Рейтинг: 0 / 0
Помогите разобраться с установкой курсора в поле. Access 2016
    #39844911
Chara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто еще не работает, собраны куски разноформатных данных
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите разобраться с установкой курсора в поле. Access 2016
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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