Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» VBA for Access

Автор: novo_again
Дата сообщения: 25.05.2011 19:38
Это прискорбно - прошу понять и простить. Фокусы с пробелом применимы только для репортов, для форм - нет. На формах не работает автосжатие контролов (((
Автор: novo_again
Дата сообщения: 22.07.2011 14:22
Никто не подскажет - бред кой-то...
В листбоксе тыкаю мышкой - свойство itemsselected пустое, хожу по нему стрелками - появляются записи в itemsselected. Мультиселекта нет.

Добавлено:
сам спросил - сам ответил) пришлось перебирать все рельные значения на соответствие номинальному листбокса
Автор: PrWork1
Дата сообщения: 30.07.2011 09:16
novo_again
Номинальному- это как?
Автор: novo_again
Дата сообщения: 30.07.2011 10:45
Номинальное - ListBox.Value. Просто если перебрать все ListBox.Items(x).Value - с транскрипцией, скорее всего, ошибаюсь - ListBox.Value там не будет и в помине...
У меня такая ситуация случалась при обновлении квери под листбоксом.
Автор: PrWork1
Дата сообщения: 30.07.2011 18:50
novo_again
value вроде возвращает номер выбранной строки
Автор: novo_again
Дата сообщения: 30.07.2011 21:35
вряд ли...
Автор: PrWork1
Дата сообщения: 30.07.2011 22:48
novo_again
У меня листбокс (данные на основе таблицы) в .Value возврашает номер строки, начиная с единицы.(Access 2007), сейчас проверил...
Автор: novo_again
Дата сообщения: 31.07.2011 09:44
PrWork1
Ну, суть не в этом - просто лист всегда используется на форме в какой-нибудь другом запросе. Так вот его текущее значение может никак быть не связано с реальным...
Автор: PrWork1
Дата сообщения: 31.07.2011 11:15
novo_again
Да, так и есть
Автор: Oyger
Дата сообщения: 25.08.2011 09:59
Здравствуйте, коллеги.

Вот с каким вопросом к Вам:

Форма. На форме ListBox(Список) и ToggleButton(Выключатель).

Также имеется модуль с моей функцией. При открытии формы, ListBox заполняется автоматически (прописан «Источник данных»(RowSource) в свойстве как текст запроса). Запрос использует мою функцию (типа: Select XXX(…) From…, где ХХХ(…) и есть моя функция с соответствующими переменными).

Все работает и данные в ListBox заполнены.

Для чего нужен ToggleButton? При его нажатии меняется RowSource у ListBox.

Если RowSource меняется на текст запроса, не использующий мою функцию (только штатные SQL) – все работает – информация в ListBox изменяется. Но если менять RowSource на текст запроса использующего мою функцию – ничего не происходит – данных в ListBox нет, а должны быть.

Причем, ошибки в запросе нет. Не работает даже тот запрос (использующий мою функцию), который прописан по умолчанию в «Источнике данных». Т.е. открываете форму – данные автоматически заполнены из «Источник данных». Нажимаете ToggleButton, меняющий RowSource в ListBox на точно такой же, что и по умолчанию прописан – данные исчезли. Он не отрабатывает мою функцию.

Почему так? Кто что подскажет?
Автор: novo_again
Дата сообщения: 25.08.2011 13:35
Oyger
Все варианты RowSource эквиваленты по количеству столбцов?
Requery, Refresh с формой не делал?

Автор: Oyger
Дата сообщения: 26.08.2011 16:54
novo_again
Выводятся одни и те же поля, меняется только условие (WHERE). Но при чем тут это? Если изменить число столбцов в RowSource - выведутся только то количество, указанное в ListBox-ColumnCount.
Requery и Refresh не помогают - пробовал. С такой ерундой бы сам разобрался...
Еще раз повторюсь: не работает только если обновляешь ListBox-RowSource на ТЕКСТ запроса (sql) с использованием функции, написанной пользователем - в данной случае мной. Если в тексте все штатное - работает в лет.
Автор: novo_again
Дата сообщения: 26.08.2011 20:10
А сам по себе запрос с Вашей функцией живет нормально в качестве источника для листа при простом перекверивании/освежении формы?
Автор: Oyger
Дата сообщения: 29.08.2011 11:07
novo_again
Как ни стыдно признавать - сам ошибку допустил. А ведь чувствовал, что все работать должно.
Ошибку допустил, когда sql запрос писал:
В поле Select была написано моя функция и имя ее вывода (Select XXX(...) as [YYY]). А в конце запроса я отсортировывал все результаты (Order by). И в сортировки написал не XXX(...), а [YYY]. Вот он и не работал. В sql надо писать не имя столбца, а его суть...

Спасибо за помощь.
Автор: asbo
Дата сообщения: 29.08.2011 14:07
Oyger
Ну, главное, что разобрался. Дело житейское :) Я хотел было посоветовать пристально сравнить строки запроса, но некогда было перепроверить - я вообще не использую запросы в источниках строк, только наборы значений, программно (по моей воле, а не акса) обновляемые. Зато ссылку приберег на этот случай :)

Страницы: 1234567891011121314151617

Предыдущая тема: Delphi+ADO


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.