Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Первый элемент эл. управления 'список', как получить? (условие в макросе) 
V
    Опции темы
fear
Дата 9.12.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Есть элемент управления 'список', данные в него поступают из источника данных, представляющего собой sql запрос. Задача состоит в  том чтобы проверить значение первого элемента этого списка, если оно равно определённому значению, произвести действия...
Вопрос вот в чём. Как получить первое значение списка, что бы его можно было сравнить с каким-либо значением в макросе?

Да и сопутствующий вопрос, можно ли как то в макросе редактировать источник данных конкретного элемента управления (изменять sql запрос)?
PM MAIL   Вверх
kapbepucm
Дата 9.12.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Цитата(fear @  9.12.2007,  17:12 Найти цитируемый пост)
Да и сопутствующий вопрос, можно ли как то в макросе редактировать источник данных конкретного элемента управления (изменять sql запрос)? 
можно менять RowSource


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
fear
Дата 9.12.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Цитата(kapbepucm @ 9.12.2007,  17:28)
можно менять RowSource

я так понимаю речь идёт о VBA, меня интерисует доступ к источнику данных через макрос
PM MAIL   Вверх
kapbepucm
Дата 9.12.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Гм... Кажется, макросом это невыполнимо... Могу, конечно, ошибаться.


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
fear
Дата 9.12.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



kapbepucm, а по основному вопросу не поможете, интересен вариант и с использованием VBA.
PM MAIL   Вверх
kapbepucm
Дата 9.12.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Беру слова назад! В условии макроса написать
Код
[text2]=DFirst("LineID";"Table1";"")
, где [text2]- имя списка, LineID- имя поля в источнике данных, Table1- ичсточник данных

Это сообщение отредактировал(а) kapbepucm - 9.12.2007, 18:38


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
kapbepucm
Дата 9.12.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



А по второму вопросу используем в макросе SetValue с параметрами [Combo4].[RowSource] (где Combo4 имя списка) и "Query1" (где Query1- источник данных)

Добавлено через 1 минуту и 30 секунд
На VBA тоже надо?


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
fear
Дата 9.12.2007, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Цитата(kapbepucm @ 9.12.2007,  18:50)
На VBA тоже надо?

Спасибо за пример, на VBA не не нужно.

Добавлено через 5 минут
Цитата(kapbepucm @ 9.12.2007,  18:31)
В условии макроса написать
Код
[text2]=DFirst("LineID";"Table1";"")
, где [text2]- имя списка, LineID- имя поля в источнике данных, Table1- ичсточник данных

не понял что когда выполняется это условие, мне нужно сравнить первый элемент списка [text2] с конкретным значением (с константой 'значение'), т.е. что то вроде if [text2][0] = 'значение' then ...
PM MAIL   Вверх
kapbepucm
Дата 9.12.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Здесь [text2] вернёт текущее значение списка, а DFirst("LineID";"Table1";"")- первое. Ну, они сравнятся, если не одинаковые то такая-то строка действий макроса выполняться не будет. Я надеюсь туда, куда надо условие пишешь: там отдельный столбик для условий smile
Если с конкретным значением надо сравнить, то вместо [text2] пиши свое значение. Например
Код
123=DFirst("LineID";"Table1";"")
Условие: если в первой записи в столбце "LineID" таблицы "Table1" будет значение 123, то...

Это сообщение отредактировал(а) kapbepucm - 9.12.2007, 20:01


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
fear
Дата 9.12.2007, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



с DFirst разобался, спасибо


Это сообщение отредактировал(а) fear - 9.12.2007, 20:59
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.