Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
3 / 3 / 0
Регистрация: 17.05.2015
Сообщений: 39

Контроль над полем автосгенерированной формы

22.06.2018, 15:46. Показов 1255. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую уважаемые форумчане!)

Требуется... ммм технически детализированая концепция подхода к задаче управлением полей формы. Попробую обяснить.

Принцип прост - Мне не нравится, что при внесении данных в поле формы они сразу же улетают в БД. Мало того, что это по определению не комильфо. Так еще теперь стоит задача сделать защиту от дурака в духе: "А вы уверены, что хотете внести эти данные?", "А вам точно-точно это надо?", "Совсем никак, да?", "а вы сверились с лунным календарем?", "это точно по феншую?".

Это как бы сама проблема, так сказать "Дано:" нашей задачки. А теперь моя "хотелка": перелопачивать все формы меняя тип поля на "свободный" у меня желания нет. Мне кажется надо как-то схватится за событие BeforeUpdate нужного поля иии... а вот что "иии" как раз мне не совсем понятно. Можно было бы написать нечто вроде:

Visual Basic
1
2
3
4
5
6
Dim strMsg As String
strMsg = strMsg & "Сохранить изменения? "
If MsgBox(strMsg, vbQuestion + vbYesNo, "Подтверждение") = vbYes Then
Else
DoCmd.RunCommand acCmdUndo
End If
НО как показывает практика это архинеудобно. В принципе мне бы подошел просто вариант с блокировкой отправки данных в бд. Но так чтобы данные остались в самих полях формы. Дальше уже при помощи специальной кнопки с завязанной на нее инструкции вида:

Visual Basic
1
2
3
4
5
Dim db as DAO.Database
Set db as CurrentDB
SQL = "INSERT INTO ..."
MsgBox("А вы точно не робот?)")
db.execute SQL,dbfailonerror
Внес бы эти несчастные данные в БД. Загвоздка в том чтобы не дать этого сделать именно самому полю, притом не отвязывая его от источника данных. Извращение? Возможно) Однако мне кажется что в моем случае это идиальный подход.

Итак еще раз, как не дать полю внести данные в бд? либо посоветуйте альтернативную методу исходя из выше изложенного. Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2018, 15:46
Ответы с готовыми решениями:

Напишите многочлен, разложимый над полем Z5, но неразложимый над полем Z2
Напишите многочлен, разложены над полем Z5 но не разложимый над полем Z2

Как изменить форму курсора на стрелку или руку при прохождении над полем ТЕКСТ формы?
Как изменить форму курсора на стрелку или руку при прохождении над полем ТЕКСТ формы?

Разложить над полем R
{(x-1)}^{n}+{x}^{n}

4
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
22.06.2018, 15:54
Цитата Сообщение от DevilsDen
при внесении данных в поле формы они сразу же улетают в БД
Кто Вам это сказал?
Пока не сохраните запись, ничего никуда не улетит.
Смотрите на "карандашик" в области выделения.
0
3 / 3 / 0
Регистрация: 17.05.2015
Сообщений: 39
22.06.2018, 16:05  [ТС]
Да на карандашик я внимание обратил. А такое впечатление у меня сложилось из-за того что при внесении данных которые не соответствуют структуре БД - допустим другого типа (текст в поле с типом Number) возникает ошибка. Ладно офтоп.

Тогда расскажите когда именно это происходит? и как "зацепится" за это событие и если пользователь этого не желает - добавить возможность его отменить. Это делается в форме или поле?
0
472 / 161 / 80
Регистрация: 07.10.2015
Сообщений: 379
22.06.2018, 16:08
Лучший ответ Сообщение было отмечено DevilsDen как решение

Решение

DevilsDen, сами "мелкомягкие" вроде дают такую рекомендацию:
пример
В этом примере показано, как вы можете использовать процедуру события BeforeInsert, чтобы убедиться, что пользователь хочет создать новую запись, и процедуру события AfterInsert для запроса источника записи для формы Employees после добавления записи.

Чтобы попробовать пример, добавьте следующую процедуру событий в форму с именем Employees, которая основана на таблице или запросе. Перейдите к форме Datasheet и попробуйте вставить запись.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Form_BeforeInsert(Cancel As Integer)
    If MsgBox("Insert new record here?", _
        vbOKCancel) = vbCancel Then
        Cancel = True
    End If
End Sub
 
Private Sub Form_AfterInsert()
    Forms!Employees.Requery
End Sub
Может, подойдет?
1
3 / 3 / 0
Регистрация: 17.05.2015
Сообщений: 39
22.06.2018, 16:11  [ТС]
Не только подойдет но и подбежит) спасибо за быстрый ответ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.06.2018, 16:11
Помогаю со студенческими работами здесь

Приводимый многочлен над полем
Здравствуйте! Не могу разобраться. Есть задание: над полем F5 = {0, 1, 2, 3, 4} поделить многочлен с остатком g(x) = 3x2+3x+2 на f(x) =...

Найти над полем комплексных и изобразить
Найти и оформить на бумаге над полем комплексных (-1)^(1/n). Изобразить точки.

Разложить многочлен над полем из 4 элементов
Здравствуйте, в общем суть в следующем. Требуется разложить многочлен x^5+x+1 над полем из 4 элементов. Облазив пол интернета, обнаружил...

Про операции над полем вычетов
Всем добрый день! У меня есть некая задача, в которой зафиксировано поле вычетов по модулю 85. Есть многочлены с дробными коэффициентами...

Приводим ли многочлен над полем целых чисел
Доброго времени суток. Нужно определить приводим ли многочлен над полем Q: f(x)={x}^{5}+2{x}^{3}-4{x}^{2}+22 Можно даже не решать пример,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru