Если я делаю поле со_списком

Nrisimha

Если я делаю поле со_списком непривязывая форму к данным, а поле привязывая, то оно раскрываясь не показывает данные!допустим я сделал что данные показываются в поле со списком, как мне значение поля - довавить в критерий запроса
14 ответов

Nrisimha

Скудость информации позволяет только гадать.Предполагаю, что в поле со списком используется запрос из двух или более полей, а в свойстве "Число столбцов" поля со спиком стоит 1, присоединенный же столбец скрыт.Приведите пример запроса, в котором необходимо поместить значение поля со списком. Содержится ли он в коллекции QueryDefs или предназначен для метода Execute, или он является источником данных какой-то формы, или другое (желательно описать).


Nrisimha

BoNiM (05.07.2006)Приведите пример запроса, в котором необходимо поместить значение поля со списком. Содержится ли он в коллекции QueryDefs или предназначен для метода Execute, или он является источником данных какой-то формы, или другое (желательно описать).
просто запос на добавление данный, одно из полей должно при добалениее содержать значение поля_со_списком которое выбрал пользователь


Nrisimha

Дайте, пожалуйста, пример запроса и укажите, по какому полю необходимо фильтровать в SELECT и его тип. Кроме того, в каком столбце поля со списком находиться необходимое значение (напоминаю, нумерация столбцов начинается с 0)?


Nrisimha

Дайте, пожалуйста, пример запроса и укажите, по какому полю необходимо фильтровать в SELECT и его тип. Кроме того, в каком столбце поля со списком находиться необходимое значение (напоминаю, нумерация столбцов начинается с 0)?
INSERT INTO events_term ( DATA, [TIME], [Action], DATA, id_Term )
SELECT Events.Data, Events.Time, Events.Action, events_term.Data, events_term.id_Term
FROM events_term RIGHT JOIN Events ON events_term.Data = Events.Data
WHERE (((events_term.Data) IS NULL));
events_term.id_Term - поле выбранное значение которого должно вставляеться из поля_сосписком формы


Nrisimha

Второе поле Data, очевидно, лишнее.Строка SQL будет, примерно (так как я не получил ответов на все вопросы), следующая
"INSERT INTO events_term ( Data, [Time], [Action], id_Term )
 
SELECT Events.Data, Events.Time, Events.Action, " & Поле_со_списком & " As idt FROM events_term RIGHT JOIN Events ON events_term.Data = Events.Data
 
WHERE (((events_term.Data) Is Null));"
Мне не понятно, почему в запросе стоит RIGHT JOIN Events ON events_term.Data = Events.Data, хотя в соседнем топике говорится о сравнении по 3-ем полям?


Nrisimha

INSERT INTO events_term ( [TIME], [Action], DATA, id_Term )
SELECT Events.Time, Events.Action, Events.Data, 1 AS Выражение1
FROM events_term RIGHT JOIN Events ON events_term.Data = Events.Data
WHERE (((Events.Data) IS NULL));
все заработало


Nrisimha

спасибо огромное


Nrisimha

Не спешите.1. Идея заключалась в том, чтобы из Events отобрать все записи, которые отсутствуют в events_term и добавить их в events_term. Поэтому в WHERE должно быть (((events_term.Data) Is Null))2. Если речь идет о сравнении по 3-ем полям, то
INSERT INTO events_term ( [TIME], [Action], DATA, id_Term )
SELECT Events.Time, Events.Action, Events.Data, 1 AS Выражение1
FROM events_term RIGHT JOIN Events ON ((events_term.Data = Events.Data) AND ((events_term.Action = Events.Action) AND (events_term.Time = Events.Time)) WHERE (((events_term.Data) IS NULL) AND ((events_term.Action) IS NULL) AND ((events_term.Time) IS NULL))
И то, это будет работать, если среди записей events_term и Event нет записей с Null значениями полей Data, Action и Time.


Nrisimha

ошибка синтаксиса оператора JOIN :-(


Nrisimha

Это уже из построителя запросов
INSERT INTO events_term ( [DATE], [TIME], [Action], id_Term )
SELECT Event.Date, Event.Time, Event.Action, 1 AS Выражение1
FROM Event LEFT JOIN events_term ON (Event.Action = events_term.Action) AND (Event.Time = events_term.Time) AND (Event.Date = events_term.Date)
WHERE (((events_term.Date) IS NULL) AND ((events_term.Time) IS NULL) AND ((events_term.Action) IS NULL));


Nrisimha

BoNiM (05.07.2006) Это уже из построителя запросовINSERT INTO events_term ( [Date], [Time], [Action], id_Term )SELECT Event.Date, Event.Time, Event.Action, 1 AS Выражение1FROM Event LEFT JOIN events_term ON (Event.Action = events_term.Action) AND (Event.Time = events_term.Time) AND (Event.Date = events_term.Date)WHERE (((events_term.Date) Is Null) AND ((events_term.Time) Is Null) AND ((events_term.Action) Is Null));
чегото у меня туже ошибку пишет.


Nrisimha

Теперь я ничем помочь не могу. У меня этот запрос добавляет записи в конструкторе и в программе. Может у нас незаметный разнобой в наименовании полей или таблиц?До завтра!


Nrisimha

Постарайтесь у себя через конструктор запросов создать аналогичный запрос.А вообще то мне, и я думаю Access тоже, не очень нравяться наименования таблицы Event и полей Date, Time, Action, которые совпадают со "служебными" именами Access.


Nrisimha

просто мне надо парсить, то что уже написал другой человек, я бы на го месте первым полем поставил GUID.спасибо у меня заработало