Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Условие в запросе
 
 автор: Гоблин   (06.08.2010 в 11:33)   личное сообщение
 
 

Все привет. Ставлю опыт с условиями в запросе с функцией in. Получается следующее. Запрос в конструкторе. В поле условие ставлю функцию IN("Значение 1";"Значение2"). Все работает. Запускается показывая строки с этими значениями. Собираю эту же строку в форме в поле "Условие", а в условии запроса указываю Forms!Форма1!Условие. Тоже работает только если в строке одно единственное значение. Добавив второе (через ; или ,) не работает. Кавычки и прочее не помогают. Чего надо не пойму.

  Ответить  
 
 автор: Lukas   (06.08.2010 в 12:18)   личное сообщение
 
 

А покажите ка текст SQL запроса.

  Ответить  
 
 автор: Гоблин   (06.08.2010 в 13:11)   личное сообщение
 
 

Запрос делаю в конструкторе. В SQL выглядит так:
SELECT Таблица1.Поле1, Таблица1.Поле2, Таблица1.Поле3, Таблица1.код
FROM Таблица1
WHERE (((Таблица1.Поле1) In ([Forms]![Форма1]![Условие])));

Понятно, что в In должно быть IN("Значение 1";"Значение2") Вот эти значения 1, 2 и хочу в строке собрать, что бы к ней потом обратиться. Еще вопрос как кавычки запихать в VBA но это уже следующий этап.

  Ответить  
 
 автор: Lukas   (06.08.2010 в 14:02)   личное сообщение
 
 

http://forum.sql.ru/forum/actualthread.aspx?tid=693948&pg=1&mid=7634584#7634584
Был еще вариант, сейчас не найду.

Я в таких случаях просто собираю предложение SQL в коде.

  Ответить  
 
 автор: Гоблин   (06.08.2010 в 15:19)   личное сообщение
19 Кб.
 
 

Во! Почти сам дошел! Все просто оказалось. Это я мультиселект осваиваю и пришел к такому решению.

  Ответить  
 
 автор: Гоблин   (06.08.2010 в 15:59)   личное сообщение
19 Кб.
 
 

По ссылке получается моя проблема и теми же словами. Правда решений не совсем понял. У меня источник строк формы меняется, но пока ничего другого не придумал. Главное мультиселект заработал!

  Ответить  
 
 автор: alex-freeman   (08.08.2010 в 10:29)   личное сообщение
 
 

Спасибо, Гоблин! То что надо!!

  Ответить  
 
 автор: Гоблин   (08.08.2010 в 18:33)   личное сообщение
 
 

Да не за что. Только это не само совершенство. Например глобальной переменную s можно не делать. Это от экспериментов осталось. Да и переменную ctlList можно не указывать и обойтись без Set ctlList = Me.Список0 а везде писать Me.Список0. ... вместо ctlList ...
В общем это не обязательные атрибуты.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList