powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавить данные из формы в таблицу
15 сообщений из 15, страница 1 из 1
Добавить данные из формы в таблицу
    #39873609
EvilSegun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем, задача простая, имеется форма с 5 полями, создаю кнопку, передаю кнопке запрос на добавление данных в таблицу X. А данные берутся как раз из этих 5 полей.
Если использовать такой запрос на выборку:

SELECT Авиабилет.ID, Авиабилет.Рейс, Авиабилет.Самолет, Авиабилет.Город_отправления, Авиабилет.Дата_отправления, Авиабилет.Время_отправления, Авиабилет.Город_прибытия, Авиабилет.Дата_прибытия, Авиабилет.Время_прибытия, Авиабилет.Эконом_класс, Авиабилет.Бизнес_класс, Авиабилет.Цена_билета
FROM Авиабилет
WHERE (Авиабилет.ID=Forms.Найденные_Рейсы.ID );

Все замечательно работает!!!!

А если создать вот такой запрос на добавление в таблицу:

INSERT INTO КупленныйБилет ( ID_AVIABILET, Имя, Отчество, Фамилия, Паспортные_данные )
VALUES (Forms.ОформитьБилет.ID, Forms.ОформитьБилет.Поле27, Forms.ОформитьБилет.Поле29, Forms.ОформитьБилет.Поле25, Forms.ОформитьБилет.Поле31);

Получаем ошибку "Во введеном выражении отсутствует закрывающая скобка, квадратная скобка (]) или вертикальная черта (|)."

Подскажите пожалуйста как правильно написать запрос?
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873645
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос должен выглядеть так:
Код: vbnet
1.
2.
CurrentDb.Execute "INSERT INTO КупленныйБилет ( ID_AVIABILET, Имя, Отчество, Фамилия, Паспортные_данные ) VALUES (" _
& Forms.ОформитьБилет.ID & "," & Forms.ОформитьБилет.Поле27 & "," & Forms.ОформитьБилет.Поле29 & "," Forms.ОформитьБилет.Поле25 & "," & Forms.ОформитьБилет.Поле31 & ")"

или добавить рекордсетом:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim rs As recordset
Set rs = CurrentDb.OpenRecordset("таблицаВкоторуюДобавляете")
rs.AddNew
rs![ID_Авиабилет]=me.ID
rs![имя]=me.Имя
'и т.д по нужным полям
rs.update
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873676
EvilSegun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
более простой запрос можно сделать без CurrentDb.Execute ???. Cоздать обыкновенный запрос в режиме конструктора, вкладка sql.
В значениях VALUE, описать поля формы, так что б access понял что там данные. ?
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873686
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvilSegun,
Эти свободные формы....
А какая такая религия не позволяет Вам сделать источником данных формы "ОформитьБилет" таблицу "КупленныйБилет" и не заниматься ерундой
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873690
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvilSegunболее простой запрос можно сделать без CurrentDb.Execute ???. Cоздать обыкновенный запрос в режиме конструктора, вкладка sql.
В значениях VALUE, описать поля формы, так что б access понял что там данные. ?

ну дак проверь, что спрашивать то, идешь в запросы и в конструкторе делаешь запрос, сохраняешь его , например с именем Запрос1 - VALUE не нужно:
Код: sql
1.
2.
INSERT INTO Таблица1 ( Поле1 )
SELECT [Forms]![ИмяФормы]![ИмяПоля] AS Параметр1;



потом в кнопке на форме запускаешь
Код: vbnet
1.
DoCmd.OpenQuery "Запрос1", acNormal, acEdit


Естественно текст запроса пиши свой, со своими именами и полями...
Вот вообще не понятно - как можно писать интерфейс не разобравшись с запросами, там же конструктор на уровне детского сада...
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873692
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873697
EvilSegun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
INSERT INTO Таблица1 ( Поле1 )
SELECT [Forms]![ИмяФормы]![ИмяПоля] AS Параметр1;

Спасибо, но такой запрос тоже не работает, та же ошибка. Согласен Access простой, но с этим запросом почему то не получается простого решения
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873699
EvilSegun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tmp.rar, - В этом примере в запросе 1 извлекаются данные из таблицы, А мне надо записать в таблицу новые данные из полей формы, а в поля формы данные введет пользователь.
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873701
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvilSegun,

Если это не работает, поищите другой компьютер...
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873745
sdkuдобавить рекордсетом:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim rs As recordset
Set rs = CurrentDb.OpenRecordset("таблицаВкоторуюДобавляете")
rs.AddNew
rs![ID_Авиабилет]=me.ID
rs![имя]=me.Имя
'и т.д по нужным полям
rs.update

Делайте, как посоветовали и не ищите сложных путей. Запрос INSERT INTO ... VALUES ... - это минное поле.

Разве что:
Set rs = CurrentDb.OpenRecordset("SELECT * FROM таблицаВкоторуюДобавляете WHERE 1=0")
Это, чтоб в Recordset не тянулись все записи. Так быстрее.
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873796
EvilSegun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagEvilSegun,

Если это не работает, поищите другой компьютер...




Огромное спасибо, этот пример действительно работает, причиной ошибки помимо неправильно мной составленного запроса, еще было имя самого запроса, оказывается оно слишком длинное для accessa.

Большое спасибо всем кто помогал, очень помогли
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873889
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvilSegun...причиной ошибки помимо неправильно мной составленного запроса, еще было имя самого запроса, оказывается оно слишком длинное для accessa.
Из HELP:"В Microsoft Access действуют следующие ограничения на имена полей, элементов управления и объектов:
-имя должно содержать не более 64 символов"
......
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873905
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторяю:для тех кто в танкеsdkuEvilSegun,
Эти свободные формы....
А какая такая религия не позволяет Вам сделать источником данных формы "ОформитьБилет" таблицу "КупленныйБилет" и не заниматься ерундой
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873953
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuА какая такая религия не позволяет Вам сделать источником данных формы "ОформитьБилет" таблицу "КупленныйБилет" и не заниматься ерундой

Кривцов АнатолийЭто, чтоб в Recordset не тянулись все записи. Так быстрее.
...
Рейтинг: 0 / 0
Добавить данные из формы в таблицу
    #39873992
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
улыбнуло
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавить данные из формы в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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