Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610

Как DBEdit запретить вносить информацию в таблицию mdb до нажатия кнопки "ОК"?

01.01.2013, 17:56. Показов 3707. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу форму заполнения таблицы mdb, в форме 10 полей(DBEdit`ов), после заполнения первого поля и при переходе на второе поле, информация из первого уже заносится в таблицию, и если я вдруг передумаю заполнять форму, то у меня нет возможности отменить то, что уже занесено в первую ячейку. Как сделать так, чтобы при заполнении формы информация не вносилась таблицию до нажатия кнопки "ОК"?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.01.2013, 17:56
Ответы с готовыми решениями:

Как показать DBEdit и доп. кнопки, только после нажатия на клавишу "добавить"?
Вот как всё должно выглядеть в итоге: Открывается форма "Квартиры и жильцы" без каких либо намеков на (DBEdit и кнопки "ОК и...

Как запретить вносить изменения в мемо вручную?
как запретить вносить изменения в мемо вручную??

Как запретить вносить новые данные в ComboBox?
как запретить вносить новие данные в comboBox??? ужно чтобы пользователь иог выбрать только то что есть в списке, и ничего нового не...

16
 Аватар для HyperZen
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
01.01.2013, 18:32
Пользоваться стандарнтыми компонентами TEdit, заносить записи в таблицу БД путем SQL-запроса.
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
01.01.2013, 18:38
В случае добавления данных в таблицу можно использовать обычные Edit'ы. Я полагаю, что на основной форме или в меню программы у Вас размещена кнопка, вызывающая форму ввода данных?
Для нее пишем
Delphi
1
2
Table.Insert; //вставка записи
Form2.ShowModal;  //показываем форму ввода
Далее для самой формы ввода добавляем нужные Edit'ы и Label'ы и две кнопки "Занести" и "Отмена".
Для кнопки "Занести"
Delphi
1
2
if Table.Modified then //если таблица изменялась
Table.Post;//то сохраняем изменения
После открытия формы ввода и вставки новой записи при внесении изменений, они зафиксируются в таблице. Если же на форме ввода ничего не добавлялось, кнопка "Занести" не сработает.
Для кнопки "Отмена" формы ввода пишем
Delphi
1
2
Table.Cancel;   //отмена действия
Close;//закрываем форму
Добавлено через 3 минуты
DDim1000, если Вы будете создавать форму редактирования, то там уже используйте DBEdit'ы, привязав их к соответствующим полям редактируемых данных каждой записи.
1
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
01.01.2013, 23:05  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
Далее для самой формы ввода добавляем нужные Edit'ы и Label'ы и две кнопки "Занести" и "Отмена".
Для кнопки "Занести"
А как Edit`ы связать со столбцами таблици?

Добавлено через 11 минут
И какой вид кнопки лучше использовать - BitBtm или Button?
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
01.01.2013, 23:23
1.Edit'ы не нужно связывать с полями.
2. Лучше всего все же использовать SpeedButton. Она имеет возможность загрузки иконки и ее можно сделать "плоской", т.е. убрать обрамление.
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
01.01.2013, 23:33  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
1.Edit'ы не нужно связывать с полями.
А как тогда информация из Edit`a с подпись "Имя", попадет в столбец "Имя" и т.д.?
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
01.01.2013, 23:41
Например
Delphi
1
Table.FieldByName('имя').AsString :=edit1.text;
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
01.01.2013, 23:48  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
Например
Delphi
1
Table.FieldByName('имя').AsString :=edit1.text;
А куда это прописать?
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
02.01.2013, 03:19
В обработчике кнопки добавления записи.
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
02.01.2013, 09:34  [ТС]
[QUOTE=droider;3940216]В случае добавления данных в таблицу можно использовать обычные Edit'ы. Я полагаю, что на основной форме или в меню программы у Вас размещена кнопка, вызывающая форму ввода данных?
Для нее пишем
Delphi
1
2
Table.Insert; //вставка записи
Form2.ShowModal;  //показываем форму ввода
Далее для самой формы ввода добавляем нужные Edit'ы и Label'ы и две кнопки "Занести" и "Отмена".
Для кнопки "Занести"
Delphi
1
2
if Table.Modified then //если таблица изменялась
Table.Post;//то сохраняем изменения
[/DELPHI]
Так и писать Table? - Table.Insert; Table.Modified then, или в место Table писать названия таблицы?
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
02.01.2013, 11:22
Я тебе чуть позже набросаю пример и скину сюда
1
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
02.01.2013, 11:49  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
В случае добавления данных в таблицу можно использовать обычные Edit'ы. Я полагаю, что на основной форме или в меню программы у Вас размещена кнопка, вызывающая форму ввода данных?
Для нее пишем
Delphi
1
2
Table.Insert; //вставка записи
Form2.ShowModal;  //показываем форму ввода
Почему-то когда я добавляю в событие кнопки(вызывающей форму ввода данных) - OnClick вот эту строчку: Table.Insert; то при компиляции выдает ошибку. Что ни так?
Миниатюры
Как DBEdit запретить вносить информацию в таблицию mdb до нажатия кнопки "ОК"?  
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
02.01.2013, 12:05
Цитата Сообщение от DDim1000 Посмотреть сообщение
Table.Insert; то при компиляции выдает ошибку.
У Вас компонент ADOTable как называется в проекте? Возможно, имя не соответствует. Я переименовывал в просто Table.
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
02.01.2013, 12:13
Набросал небольшой пример. Здесь для формы ввода я использовал DBEdit'ы. С ними кода меньше при заполнении. Чтобы привязать DBEdit к полю указываем ему DataSource - источник данных и DataField - соответствующее поле.
Вложения
Тип файла: rar пример.rar (358.9 Кб, 50 просмотров)
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
02.01.2013, 12:38  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
У Вас компонент ADOTable как называется в проекте?
Я не знаю, я ничего не переименовывал, просто кинул компоненты на форму, соединился с базой, вывел таблицию в компоненте DBGrid, и все.
Миниатюры
Как DBEdit запретить вносить информацию в таблицию mdb до нажатия кнопки "ОК"?  
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 610
02.01.2013, 12:49  [ТС]
Цитата Сообщение от droider Посмотреть сообщение
Набросал небольшой пример. Здесь для формы ввода я использовал DBEdit'ы. С ними кода меньше при заполнении. Чтобы привязать DBEdit к полю указываем ему DataSource - источник данных и DataField - соответствующее поле.
Классно!!!!!!!!!!!!!!!!
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
02.01.2013, 13:05
Переименуйте свой AdoQuery в Table или пишите вместо
Delphi
1
Table.Insert;
Delphi
1
AdoQuery1.Insert;
и т.д.

Добавлено через 6 минут
Вы просто вместо AdoTable взяли AdoQuery. Так тоже можно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2013, 13:05
Помогаю со студенческими работами здесь

Как запретить системе вносить изменение в ветку реестра?
Как запретить системе вносить изменение в ветку реестра? ОС Windows 8.1 (любой редакции) Конфигурация пк любая. Имеем ветку реестра...

Поиск записи в ADOQuery после ввода в DBEdit и после нажатия кнопки
На форме расположены DBEdit, DBGrid, ADOQuery, DataSource и Button. В ADOQuery прописан следующий код: SELECT Фамилия, Имя,...

Можно ли запретить действие нажатия кнопки Backspase для возврата на предыдущую страницу?
Можно ли запретить действие нажатия кнопки Backspase для возврата на предыдущую страницу.

БД с Access, DBEdit, и как сохранить информацию
Здравствуйте, помогите пожалуйста с созданием БД. Я создала БД, соединила с Access с помощью ADO.На главной форме поставила PageControl с 4...

Запретить вносить в БД повторяющиеся записи
собственно название темы и есть вопрос))) как это можно осуществить?


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru