ник: Гоблин
Все привет. Вот проблемка-непонятка. Есть таблица. Запускаю recordset с запросом для заполнения дерева. Все работает, дерево заполняется. Ставлю в запрос одно условие. Тоже пашет. Ставлю второе условие в запрос, пишет что мало параметров и надо хотя бы 1, хотя данные в запросе есть. Пришлось делать запрос со всеми условиями на создание таблицы и уже по этой временной таблице пускать recordset. Все работает как надо.
А не подскажете как обойтись без временной таблицы?
Такой вариант с временной таблицей TW работает отлично
Set rst = CurrentDb.OpenRecordset("SELECT [Тип средств].КодТипаСр, [Тип средств].Тип, [Тип средств].ИндексTree FROM [Тип средств] INNER JOIN TW ON [Тип средств].КодТипаСр = TW.КодТипаСр WHERE ((([Тип средств].ИндексTree)='r'));")
With rst
If .RecordCount <> 0 Then
Do While Not .EOF
Call Me.TW1.Nodes.Add("r", 4, "a" & ![КодТипаСр], ![Тип])
.MoveNext
Loop
End If
End With
А если запустить recordset с запросом:
SELECT [Тип средств].КодТипаСр, [Тип средств].Тип, [Тип средств].ИндексTree FROM [Тип средств] WHERE ((([Тип средств].КодТипаСр)<>[Forms]![Средства по типам]![Поле3]) AND (([Тип средств].ИндексTree)='r'));
То орет что мало параметров.
Предварительно Поле3 в форме заполняется как надо, но в коде recordset с этим запросом выделяется желтым цветом. Пришлось этот запрос ставить на создание таблицы TW и потом уже по нему recordset. как указано выше. Что не так? Не хочу временных таблиц.