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

Форма для добавление записи с кнопкой

10.06.2014, 19:35. Показов 2310. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите, пожалуйста.
Хочу сделать форму, для добавления записи в таблицу при нажатии кнопки. Т.е. на форме не привязанные к таблице поля, в них заносятся данные, нажимаем кнопку и данные добавляются в таблицу. Желательно, с помощью SQL.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2014, 19:35
Ответы с готовыми решениями:

Добавление записи в Listview(1 форма) через Диалоговое окно(3 форма) другой формы (2 форма)
Всем доброго дня и с наступающими праздниками! Знаю, тема 7 частых вопросов по WinForms уже не раз обсуждалась, и была прочитана, но или...

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

Форма запроса на добавление и поиск записи
На форме помешены компоненты ADOConnection, DataSource, ADOTable. Все условия по подключению к БД и таблице созданы. Так же на форме есть...

24
Эксперт MS Access
2837 / 1378 / 216
Регистрация: 13.05.2011
Сообщений: 4,220
10.06.2014, 19:50
Лилёк, а данные заносятся в совсем новую запись или заполняют пустые поля существующей записи. это важный момент.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.06.2014, 20:04
Цитата Сообщение от Лилёк Посмотреть сообщение
на форме не привязанные к таблице поля, в них заносятся данные, нажимаем кнопку и данные добавляются в таблицу. Желательно, с помощью SQL.
В процедуре нажатия кнопки составляете SQL-текст запроса на добавление в режиме VALUES (добавление одной записи) и с помощью Execute объекта Database выполняете запрос. Для большей ясности и функциональности текст запроса помещен в переменную, которую можно распечатать в области отладки.
Visual Basic
1
2
3
4
Dim s
s="insert into Таблица (поле1, поле2, поле3) " _
& " values(" & me.полеФормы1 & "," & me.полеФормы2 & "," & me.полеФормы3 & ")"
Currentdb.execute s
Для текстовых полей должны быть предусмотрены кавычки (апострофы), для датных полей значения полей формы надо представить в американском формате #mm/dd/yyyy#
2
2 / 2 / 0
Регистрация: 10.05.2012
Сообщений: 141
11.06.2014, 08:39  [ТС]
Цитата Сообщение от Вячеслав Я Посмотреть сообщение
а данные заносятся в совсем новую запись или заполняют пустые поля существующей записи. это важный момент.
Совсем новую запись.

Добавлено через 12 часов 33 минуты
А с помощью режима SQL ни как нельзя это реализовать?
0
Эксперт MS Access
2837 / 1378 / 216
Регистрация: 13.05.2011
Сообщений: 4,220
11.06.2014, 09:07
Лучший ответ Сообщение было отмечено Лилёк как решение

Решение

Лилёк, как раз доделал. Смотрите.
Естественно это пример. Сделайте ваши поля и пропишите в запросе.
Вложения
Тип файла: rar Запись.rar (15.5 Кб, 67 просмотров)
1
2 / 2 / 0
Регистрация: 10.05.2012
Сообщений: 141
11.06.2014, 09:26  [ТС]
Цитата Сообщение от Вячеслав Я Посмотреть сообщение
Естественно это пример. Сделайте ваши поля и пропишите в запросе.
Огромное спасибо!!! То что нужно.
0
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
11.06.2014, 14:18
Цитата Сообщение от Лилёк Посмотреть сообщение
...А с помощью режима SQL ни как нельзя это реализовать?...
В том смысле, которое Вы подразумеваете, то наверное нет, т. к. SQL может только отбражать информацию из таблиц + еще производить много разных вычислений, сортировок.
Есть конечно запрос на добавление, но для него нужно дать команду с помощью VBA или макросика.
0
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
13.06.2014, 08:23
Цитата Сообщение от mobile Посмотреть сообщение
...для датных полей значения полей формы надо представить в американском формате #mm/dd/yyyy#...
А у меня почему то с датными полями постоянно проблеммы и ошибки лезут.
Можете на примере ткнуть носом где я туплю.
Вложения
Тип файла: rar ЗаписьИзФормыВТаблицу-02.rar (9.4 Кб, 14 просмотров)
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.06.2014, 08:31
Дата в американском формате
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub КнЗаписатьВТаблицу_Click()
  Dim s
    s = "insert into Таблица (ПолеТекст1, ПолеДата2, ПолеЧисло3) " _
    & " values('" & Me.ПолеФормыТекст1 & "'," _
    & Format(Me.ПолеФормыДата2, "\#mm\/dd\/yyyy\#") & "," _
    & Me.ПолеФормыЧисло3 & ")"
  CurrentDb.execute s
 
End Sub
Вложения
Тип файла: rar ЗаписьИзФормыВТаблицу-02.rar (14.4 Кб, 22 просмотров)
1
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
13.06.2014, 08:47
mobile - Спасибо
Цитата Сообщение от mobile Посмотреть сообщение
\#mm\/dd\/yyyy\#
Форматик то, немного другой оказался, а не:
Цитата Сообщение от mobile Посмотреть сообщение
#mm/dd/yyyy#
Наверное из за этого у меня глючило.

Еще один вопрос,
Если какое ни то одно поле не заполнишь, то ошибки тоже лезут.
Это конечно в роде бы и хорошо, пока все поля не заполнищь не запишется, но иногда и на потом откладываешь.
Избежать бы таких глюков.
На Nz нужно проверять или еще как?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.06.2014, 09:12
Нет, американский формат именно такой: "mm/dd/yyyy". Символ "\" - обратный слэш - подставляется в выражение, чтобы указать, что следующий символ является частью данных. Иначе некоторые символы, в том числе и слэш (/), будут пропущены в результирующем выражении.

Чтобы пустые поля также прошли и не давали ошибку, можно воспользоваться функцией NZ, записав в аргумент "значение по умолчание" текстовое значение "NULL"
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub КнЗаписатьВТаблицу_Click()
  Dim s
    s = "insert into Таблица (ПолеТекст1, ПолеДата2, ПолеЧисло3) " _
    & " values('" & Me.ПолеФормыТекст1 & "'," _
    & Format(Nz(Me.ПолеФормыДата2, "Null"), "\#mm\/dd\/yyyy\#") & "," _
    & Nz(Me.ПолеФормыЧисло3, "Null") & ")"
  CurrentDb.execute s
 
End Sub
Добавлю. Если же писать новую запись в рекордсете, а не SQL-выражении, то никаких танцев с данными не требуется. Все пишется как есть.
2
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
13.06.2014, 09:34
Цитата Сообщение от mobile Посмотреть сообщение
Чтобы пустые поля также прошли и не давали ошибку, можно воспользоваться функцией NZ, записав в аргумент "значение по умолчание" текстовое значение "NULL"
mobile - Да, Большущее спасибо, тоже сам попробовал - NZ, правда с - 0, а не - NULL,
С текстовым и числовым полями получилось, а с датой нет, как всегда не в туда вставил.
Понял свою ошибку.

Добавлено через 16 минут
Цитата Сообщение от mobile Посмотреть сообщение
...то никаких танцев с данными не требуется....
mobile - Абсолютно согласен, сам так всегда и делаю - напрямую, но попробовал для общего развития дату колдовским способом записать , не получилось, вот и спросил.
Еще раз спасибо за науку.
0
30 / 29 / 6
Регистрация: 20.04.2013
Сообщений: 74
13.06.2014, 15:27
Прошу помощи как раз по теме. Как добавить сразу несколько записей, выбрав из спискаdb1.rar
0
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
13.06.2014, 16:17
Мне кажется сразу несколько записей добавить нельзя, только по одной записи, т. к. поля у вас свободные, при выборе к примеру другого заказа он станет другим, а не первым. или вы что то другое имеете в виду.
0
30 / 29 / 6
Регистрация: 20.04.2013
Сообщений: 74
13.06.2014, 16:30
Указав номер заказа и магазин, выбирать в списке какое-то количество товаров и перенести выбранное в таблицу Заявки. В реальности каждый "магазин" заказывает в один заказ около сотни различных "товаров". Так что было бы удобно выбрать сразу весь ассортимент и нажав кнопку сделать заказ.
0
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
13.06.2014, 16:42
Цитата Сообщение от avgur113 Посмотреть сообщение
...каждый "магазин" заказывает в один заказ около сотни различных "товаров". Так что было бы удобно...
Удобно это делать в подчиненной форме табличного типа.
0
30 / 29 / 6
Регистрация: 20.04.2013
Сообщений: 74
13.06.2014, 16:50
Да, я знаю. Впрочем, так сейчас и делается, но это занимает много времени и при большом объеме случаются ошибки. Выбор из списка, как мне кажется, более оптимален. В любом случае спасибо.
0
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
13.06.2014, 16:56
Цитата Сообщение от avgur113 Посмотреть сообщение
...Выбор из списка, как мне кажется, более оптимален....
Из списка вы 100 наименований за раз не сможете выбрать, по любому возникнут ошибки, повторы, как вы их после внесения в таблицу будете удалять, это типа искуственно созданые сложности, Данный способ стараюсь не использовать, а у поля указывать напрямую - Данные
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.06.2014, 17:16
Цитата Сообщение от kmv-puh Посмотреть сообщение
Из списка вы 100 наименований за раз не сможете выбрать
Если у списка установить свойство "Несвязное выделение" (MultiSelect) в "Простой" или "Со связным выбором", то из списка можно выбрать любое произвольное количество значений, ограниченное только набором записей списка.
1
30 / 29 / 6
Регистрация: 20.04.2013
Сообщений: 74
13.06.2014, 17:22
Да, но выскакивает ошибка синтаксиса в инструкции INSERT INTO
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.06.2014, 17:22
Помогаю со студенческими работами здесь

Есть форма для добавления записи, как ее использовать и для изменения записи
Есть форма для добавления записи, хочу ее использоавть и для изменения записи. Изменить свойства кнопок и т.д, заполнить поля я могу...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru