Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавить данные из формы в таблицу / 15 сообщений из 15, страница 1 из 1
08.10.2019, 20:10
    #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
08.10.2019, 22:15
    #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
09.10.2019, 00:04
    #39873676
EvilSegun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить данные из формы в таблицу
более простой запрос можно сделать без CurrentDb.Execute ???. Cоздать обыкновенный запрос в режиме конструктора, вкладка sql.
В значениях VALUE, описать поля формы, так что б access понял что там данные. ?
...
Рейтинг: 0 / 0
09.10.2019, 01:13
    #39873686
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить данные из формы в таблицу
EvilSegun,
Эти свободные формы....
А какая такая религия не позволяет Вам сделать источником данных формы "ОформитьБилет" таблицу "КупленныйБилет" и не заниматься ерундой
...
Рейтинг: 0 / 0
09.10.2019, 01:54
    #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
09.10.2019, 01:56
    #39873692
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить данные из формы в таблицу
...
Рейтинг: 0 / 0
09.10.2019, 02:34
    #39873697
EvilSegun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить данные из формы в таблицу
INSERT INTO Таблица1 ( Поле1 )
SELECT [Forms]![ИмяФормы]![ИмяПоля] AS Параметр1;

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

Если это не работает, поищите другой компьютер...
...
Рейтинг: 0 / 0
09.10.2019, 09:03
    #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
09.10.2019, 10:27
    #39873796
EvilSegun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить данные из формы в таблицу
vmagEvilSegun,

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




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

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

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


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