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

Откуда:
Сообщений: 113
Ситуация следующая:

Есть таблица "Материалы". В ней поля [№материала], [Марка материала], [Плотность]

Все три поля этой таблицы вставляются в другую таблицу - "Покупные материалы" с помощью подстановки, т.е. создается поле со списком, названное "Марка материала". Свойства списка:
столбцов - 3;
ширина столбцов - 1см;2,54см;1см;
ширина списка - 5 см

В таблице "Покупные материалы" при нажатии на список все выглядит нормально. На основе данной таблицы создается запрос на выборку "Ур1". В запросе есть вычисляемое поле "Норма расхода", в котором для вычислений необходимо иметь значение плотности, которое присутствует в третьем столбце поля со списком [Марка материала]. Все попытки вытащить его оттуда в запросе ни к чему не привели. Идентификатор обращения к свойству Column, который из запроса работает для форм (Forms![Пример].[ПолеСоСписком].Column![2]), для самого запроса не работает, т.е. вариант [Марка материала].[Column]![2] не работает (просит ввести значение параметра). Также не работает конструкция описанная в справке [Марка материала].Column(2) (вообще никогда в щапросах не работала).

В связи с вышеизложенным и возникает вопрос, как его оттуда достать. Предваряя возможны ответы добавлю:
1) попытка ввести в запрос таблицу "Материалы" и взять оттуда [Плотность], работает, НОООООО! При внесении данных в новую запись начинает волать Access, что отсутствуют связанные данные в таблице "Материалы", чем задалбывает вводящих данные. Даное поле не есть обязательным.
2) есть возможность организовать вывод [Плотность] через DlookUp(), без ввода таблицы "Материалы", но это значительно замедляет работу запроса, т.к. на каждую запись выполняется дополнительный поиск.
3) Нельзя ли сделать, например, автозаполнение в таблице, чтобы при выборе материала в одном поле ([Марка материала]), другое поле ([Плотность]) получало соответствующее значение без его непосредственного ввода
12 фев 07, 14:00    [3771561]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Старый ворчун
Member

Откуда:
Сообщений: 1653
CheBuraskA
Также не работает конструкция описанная в справке [Марка материала].Column(2) (вообще никогда в щапросах не работала).

Работает, если использовать Eval. Или сделайте и используйте в запросе функцию.
12 фев 07, 14:33    [3771804]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Спасибо!

Но нельзя ли чуток подробнее, т.к.

Eval([Марка материала].[Column]![2])

дает тот же результат
12 фев 07, 16:17    [3772638]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Старый ворчун
Member

Откуда:
Сообщений: 1653
А где указание на форму в которой находится [Марка материала]?
Сделайте пример и приложите его.
12 фев 07, 16:38    [3772818]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Извините, но данные до формы еще не дошли!!! :)

На этом запросе основана форма и данные из нее не берутся! Необходимо взять данные из столбца в поле [Марка материала] в запросе
12 фев 07, 16:43    [3772886]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Как взять данные из столбца формы я писал выше
12 фев 07, 16:44    [3772898]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Старый ворчун
Member

Откуда:
Сообщений: 1653
CheBuraskA
Извините, но данные до формы еще не дошли!!! :)

На этом запросе основана форма и данные из нее не берутся! Необходимо взять данные из столбца в поле [Марка материала] в запросе

что-то вы не то говорите, как вы можете ссылаться в запросе на контрол формы, не указав саму форму?
Вы написали :
автор
Идентификатор обращения к свойству Column, который из запроса работает для форм (Forms![Пример].[ПолеСоСписком].Column![2]), для самого запроса не работает, т.е. вариант [Марка материала].[Column]![2] не работает (просит ввести значение параметра). Также не работает конструкция описанная в справке [Марка материала].Column(2) (вообще никогда в щапросах не работала).

так сделайте пример и приложите.
12 фев 07, 16:48    [3772925]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Извините, Вы не поняли!
Я не ссылаюсь на контрол формы, а ссылаюсь на контрол запроса, а цитируюмую вами запись я привел для примера, как в запросе работает ссылка на контрол формы
12 фев 07, 16:55    [3772975]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Считайте, что формы у меня еще нет
12 фев 07, 16:56    [3772992]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Старый ворчун
Member

Откуда:
Сообщений: 1653
да непонял, слишком много букв.
Что мешает поключить в запрос нужные таблицы?
12 фев 07, 17:14    [3773141]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Старый ворчун
Member

Откуда:
Сообщений: 1653
мало того, что не понял, так еще и с ошибками пишу :-(
12 фев 07, 17:16    [3773160]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Уже писал

CheBuraskA
В связи с вышеизложенным и возникает вопрос, как его оттуда достать. Предваряя возможны ответы добавлю:
1) попытка ввести в запрос таблицу "Материалы" и взять оттуда [Плотность], работает, НОООООО! При внесении данных в новую запись начинает волать Access, что отсутствуют связанные данные в таблице "Материалы", чем задалбывает вводящих данные. Даное поле не есть обязательным.
12 фев 07, 17:19    [3773187]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Старый ворчун
Member

Откуда:
Сообщений: 1653
CheBuraskA
Уже писал

CheBuraskA
В связи с вышеизложенным и возникает вопрос, как его оттуда достать. Предваряя возможны ответы добавлю:
1) попытка ввести в запрос таблицу "Материалы" и взять оттуда [Плотность], работает, НОООООО! При внесении данных в новую запись начинает волать Access, что отсутствуют связанные данные в таблице "Материалы", чем задалбывает вводящих данные. Даное поле не есть обязательным.

Вы хотите, чтобы я за вас делал пример и проверял? Может у кого-то есть больше времени.
Как вы связали поля таблиц? Вы не указали. Попробуйте RIGHT JOIN.
12 фев 07, 17:40    [3773377]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Вы извините, но я не могу понять, что Вам непонятно!

Я кажется предельно ясно все написал

Ни Left Joint ни Right Joint проблемы не решают (тоже, что и при Inner Join).

Вот Вам пример с двумя таблицами

SELECT [Покупные материалы].Наименование, [Покупные материалы].[Марка материала], Материалы.Плотность
FROM Материалы INNER JOIN [Покупные материалы] ON Материалы.№плотности = [Покупные материалы].[Марка материала];
12 фев 07, 17:47    [3773451]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Karfaqen
Member

Откуда:
Сообщений: 7010
А как вы думаете, почему у вас
CheBuraskA
начинает волать Access, что отсутствуют связанные данные в таблице "Материалы", чем задалбывает
Не потому ли, что, невзирая на то, что ВЫ хотите считать
CheBuraskA
Даное поле не есть обязательным
ОН-то как раз считает, что это поле обязательное? Если вы разберетесь в причине такой противоположности взглядов и устраните ее, запрос будет именно тем, что вам нужно.
12 фев 07, 18:06    [3773586]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Спасибо!!!

Заработал Right Join

Пробовал не на полных связях с другими таблицами. Работающий вариант см. в файле

К сообщению приложен файл (Ведомость покупных_home2_2007-02-12.rar - 68Kb) cкачать
12 фев 07, 18:12    [3773623]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Но если чесно не понял, просветите
12 фев 07, 18:13    [3773630]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Читаю ща по этому поводу инфу, въехать немогу. Объясните простым языком, плиз.
12 фев 07, 18:18    [3773664]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
Karfaqen
Member

Откуда:
Сообщений: 7010
CheBuraskA
Объясните простым языком, плиз
Вопрос задайте.
12 фев 07, 18:31    [3773760]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить данные из столбца ListBox в запросе  [new]
CheBuraskA
Member

Откуда:
Сообщений: 113
Если я правильно понял из прочитанного, то при правом объединении, если в таблице слева отсутствуют данные, то в таблице справа не обязательно ищется им соответствие. Если соотвествие в правой таблице находится, то оно выводится, а если нет - то остается то, что ввели в левой таблице?
12 фев 07, 18:34    [3773786]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить