Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Внос данных с поля со списком в таблицу.  [new]
Devil_FoX
Member

Откуда: Киев
Сообщений: 38
Всем привет.

Столкнулся с проблемой.
В таблице [Movement] есть связанное поле [DocID].
Так же на форме есть поле со списком, где с классификатора (TypeDoc) выводятся данные.
Если выбрать в поле со списком любое значение и запустить запрос (ниже), то выбивает ошибку. Ну а если запустить без Insert, то всё хорошо выводится.

INSERT INTO Movement (DocID)
SELECT
	[Forms]![Packet]![Список_Packet_Тип_Документа] AS DocID
FROM Packet;



Источник строк для поля со списком
SELECT TypeDoc.ID, TypeDoc.DocName
FROM TypeDoc
WHERE (((TypeDoc.ID)<>1))
ORDER BY TypeDoc.DocName;
9 авг 18, 17:00    [21636486]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
SandalTree
Member

Откуда: Перехлёсток восьми батог
Сообщений: 27724
Уже 25 лет с Аксесом, но ощущаю тут себя новичком. Ничего не понимаю что люди пытаются сделать.

В вашем первом запросе вы делаете селект ВСЕХ значений из ТАБЛИЦЫ, а данные зачем-то выдаёте из поля формы.
Какой в этом смысл?
И какое отношение имеет к Вставке ваше поле со списком?

А вообще, первое что приходит в голову:
Вставка обычно не работает по следующим причинам:
1. Поле автоинкрементно
2. Поле завязано как Foreign Key и нет соответствующих значений в Primary Key
3. Поле само Primary Key и не разрешает дубликатов
4. Тип или размер поля не соответствуют вставляемым данным.

Возможно что-то ещё, но было-бы яснее, если-бы вы хотя-бы дали ошибку.
9 авг 18, 17:34    [21636523]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
Devil_FoX
Member

Откуда: Киев
Сообщений: 38
SandalTree,

Может и я не корректно объяснил.

Нужно внести выбранное значение с поля со списком в таблицу.
Почему поле со списком даёт значение Null - не могу понять.


Ошибка во вложении.

К сообщению приложен файл. Размер - 16Kb
9 авг 18, 17:46    [21636535]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
Serg197311
Member

Откуда:
Сообщений: 339
Я невеликий знаток и могу сморозить чушь.... попробуй что то типа

INSERT INTO Movement (DocID) values ([Forms]![Packet]![Список_Packet_Тип_Документа]);
9 авг 18, 18:15    [21636561]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5511
Devil_FoX
INSERT INTO Movement (DocID)
SELECT
	[Forms]![Packet]![Список_Packet_Тип_Документа] AS DocID
FROM Packet;


В SELECT указывается ссылка на поле таблицы или запроса, но не формы (и зачем там алиас такой же как имя поля в таблице-приемнике.Читайте HELP-там про все написано)
9 авг 18, 19:42    [21636673]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5511
Вдогонку:
Devil_FoX
...Почему поле со списком даёт значение Null - не могу понять....
А какое событие Вы обрабатываете?
В подчиненной форме это все происходит автоматически (если это поле связи)
9 авг 18, 19:50    [21636688]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
SandalTree
Member

Откуда: Перехлёсток восьми батог
Сообщений: 27724
Devil_FoX
SandalTree,

Может и я не корректно объяснил.

Нужно внести выбранное значение с поля со списком в таблицу.
Почему поле со списком даёт значение Null - не могу понять.


Ошибка во вложении.
Интересно было-бы увидеть ЧТО вы пытаетесь запихнуть в таблицу, т.е. какой у вас результат селекта.

Так-же неплохо-бы увидеть описание таблицы "Movement".

Такое впечатление, что вы вставляете туда "DocID", но какое-то другое поле этой таблички сопротивляется значению Null
9 авг 18, 22:52    [21636907]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
Devil_FoX
Member

Откуда: Киев
Сообщений: 38
SandalTree
Интересно было-бы увидеть ЧТО вы пытаетесь запихнуть в таблицу, т.е. какой у вас результат селекта.


Да, я показал только часть запроса, где возникает проблема. ниже полный запрос.
Все данные с простых полей нормально отрабатывается. Таблица Packet - тут всегда хранится только одна строчка. При отработки данного поля выдаётся ошибка на поле со списком (ранее выложил её), но строчка добавляется без проблем, кроме проблемного поля (DocID) - оно остаётся пустым.

Если запустить запрос без инсерта, то DocID отрабатывает корректно и выдаёт цифру как и положено, и даже можно скопировать результат и внести вручную в таблицу и тут уже не будет проблем. но уже с инсертом не хочет работать

Поле со списком всегда заполнено до срабатывания запроса.

INSERT INTO Movement ( PostID, AdrID, Annex, DocID, Date_DTZ, DocDate, SupplyDate, Date_Engineer,
				Date_Lawyer, Date_Return_Lawyer, Date_Bookkeeper, Date_Return_Bookkeeper,
				LawyerID, DocNum, Account, [Note], [Sum] )
SELECT
	Packet.PostID,
	Packet.AdrID,
	Packet.Annex,
	[Forms]![Packet]![Список_Packet_Тип_Документа] AS DocID,
	[Forms]![ADD_New_Doc]![F_Date_DTZ] AS Date_DTZ,
	[Forms]![ADD_New_Doc]![F_DocDate] AS DocDate,
	[Forms]![ADD_New_Doc]![F_SupplyDate] AS SupplyDate,
	[Forms]![ADD_New_Doc]![F_Date_Engineer] AS Date_Engineer,
	[Forms]![ADD_New_Doc]![F_Date_Lawyer] AS Date_Lawyer,
	[Forms]![ADD_New_Doc]![F_Date_Return_Lawyer] AS Date_Return_Lawyer,
	[Forms]![ADD_New_Doc]![F_Date_Bookkeeper] AS Date_Bookkeeper,
	[Forms]![ADD_New_Doc]![F_Date_Return_Bookkeeper] AS Date_Return_Bookkeeper,
	[Forms]![ADD_New_Doc]![F_LawyerID] AS LawyerID,
	[Forms]![ADD_New_Doc]![F_DocNum] AS DocNum,
	[Forms]![ADD_New_Doc]![F_Account] AS Account,
	[Forms]![ADD_New_Doc]![F_Note] AS [Note],
	[Forms]![ADD_New_Doc]![F_Sum] AS [Sum]
FROM Packet;
10 авг 18, 11:40    [21637452]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
Devil_FoX
Member

Откуда: Киев
Сообщений: 38
Всё. Закрываем тему. Нашёл причину. Всем спасибо.
10 авг 18, 12:04    [21637526]     Ответить | Цитировать Сообщить модератору
 Re: Внос данных с поля со списком в таблицу.  [new]
Serg197311
Member

Откуда:
Сообщений: 339
Devil_FoX,
Так в чем же дело было?
10 авг 18, 12:39    [21637602]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить