Страница 1 из 1

фильтр для списка в вызываемой форме

Добавлено: 29 сен 2008, 18:01
Putincev
Добрый день!
У меня в БД на Accesse есть форма frmVybor_TowerSection(которая вызывается из другой формы frmVybor_Tower) со списком, данные которого формируются инструкцией SQL:
SELECT tblTowerSection.ID, tblTowerSection.Kod_Section, tblTowerSection.Name_Section, tblTower_Spec.N_Section, tblTower_Spec.ID_Tower
FROM tblTowerSection INNER JOIN tblTower_Spec ON tblTowerSection.ID = tblTower_Spec.ID_Section
WHERE (((tblTower_Spec.ID_Tower)=[Forms]![frmVybor_Tower]![ctlSpisok]))
ORDER BY tblTower_Spec.N_Section DESC;

После преобразования таблиц в формат SQL Server, а БД в проект Access у меня не работает фильтрация списка, и как ее сделать нигде не найду.
Может кто знает как это победить?
Заранее благодарю!

Re: фильтр для списка в вызываемой форме

Добавлено: 03 окт 2008, 22:44
Teslenko_EA
Здравствуйте Putincev.
Если я правильно понял у Вас не работает источник строк после конвертации БД из MS Access в MS SQL Server.
Во первых стоит проверить корректность преобразования выполнив запрос без условий отбора

Код: Выделить всё

SELECT tblTowerSection.ID, tblTowerSection.Kod_Section, tblTowerSection.Name_Section, tblTower_Spec.N_Section, tblTower_Spec.ID_Tower
FROM tblTowerSection INNER JOIN tblTower_Spec ON tblTowerSection.ID = tblTower_Spec.ID_Section
затем если в Вашей форме в качестве источника строк используется несохраненный запрос а строка SQL, создайте функцию возвращающую значение поля формы, например:

Код: Выделить всё

Function ctlSp() As Long
   ctlSp = nz([Forms]![frmVybor_Tower]![ctlSpisok], 0)
End Function
и в условии отбора будет работать подобная конструкция:

Код: Выделить всё

...WHERE tblTower_Spec.ID_Tower = ctlSp()...
Евгений