Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2009, 21:24   #1
Sp1inter
 
Регистрация: 26.07.2009
Сообщений: 7
По умолчанию ListBox с ссылками

Доброго времени суток
Вопрос следующий, на форме создал листбокс, данные он берет из запроса (список тренеров конкретного отделения в спортшколе), так вот, по нажатию на фамилию тренера нужно чтобы вылетал другой запрос содержащий список его групп.
Так вот, не могу придумать как реализовать "ссылку" из листбокса
Подскажите пожалуйста...


Sp1inter вне форума Ответить с цитированием
Старый 27.07.2009, 11:59   #2
Sp1inter
 
Регистрация: 26.07.2009
Сообщений: 7
По умолчанию

Либо сделать рядом второй листбокс, и по нажатию фамилии тренера в первом листбоксе вылетал список групп этого тренера в соседнем листбоксе...
Подскажите плиз, это последняя преграда в создании БД ))
Sp1inter вне форума Ответить с цитированием
Старый 27.07.2009, 12:04   #3
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Следует поступить следующим образом:
Опиши класс, в котором будешь хранить информацию, необходимую для, определения списка групп, принадлежащих данному тренеру.
Я предполагаю, что для этого достаточно ID тренера, поэтому описал только одно поле CoachID. (добавь сам, если еще что-то понадобится).
Код:
type
  TInf = class
  public
    CoachID: Integer;

    constructor Create(aCoachID: Integer);
    destructor Destroy; override;
  end;
Реализация класса.
Код:
{ TInf }

constructor TInf.Create(aCoachID: Integer);
begin
  CoachID := aCoachID;
end;

destructor TInf.Destroy;
begin

  inherited;
end;
Затем, в коде, где ты заполняешь ListBox, немного изменим способ добавления. Надо сделать так:
Код:
  // получаем из БД список тренеров
  // что-то типа SELECT CoachID, CoachFamily FROM TCoaches
  // затем в цикле заполняем ListBox
  ListBox1.AddItem(CoachFamily, TInf.Create(CoachID));
CoachFamily - фамилия тренера из БД.
CoachID - ID тренера из БД.

Затем, когда необходимо получить информацию о списке групп, пишем:
Код:
  with TInf(ListBox1.Items.Objects[ListBox1.ItemIndex]) do
      CoachID // ID выделенного тренера
Т.е. у нас есть ID выделенного в данных момент тренера, используем его в sql-запросе и получаем список групп.

P.S.
Цитата:
по нажатию на фамилию тренера нужно чтобы вылетал другой запрос содержащий список его групп.
Для этого помести код в обработчик события OnClick.

P.S.2
Виноват, не увидел, что нужно на VBA.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".

Последний раз редактировалось Daramant; 27.07.2009 в 12:56.
Daramant вне форума Ответить с цитированием
Старый 27.07.2009, 12:47   #4
Sp1inter
 
Регистрация: 26.07.2009
Сообщений: 7
По умолчанию

Спасибо за ответ
Запросы уже есть, причем оба, просто сделать между ними "линковку и все"
Первый запрос (тот на основе которого листбокс) - по двум стобцам, Фамилия тренера и Название отделения, на экран выводится только Фамилия тренера.
Второй запрос состоит из 3 столбцов, Фамилия тренера, Название отделения и Группы. На экран выводятся только группы. Задача написать простенькую программку на ВБ, такую что при нажатии фамилии тренера из листбокса, например Иванова И.И. откроется второй запрос со списком его групп.
Либо вместо второго запроса, что лучше, будет второй листбокс, в котором при нажатии на имя тренера, выскочит список его групп (откроется второй запрос)
В общем как то так, подскажите плиз по подробнее, уже всю голову сломал, последнии воспоминания о вб это первый-второй курс универа...
Sp1inter вне форума Ответить с цитированием
Старый 16.08.2009, 16:23   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Sp1inter.
выбор в первом списке, обновляет запрос второго списка с условием отбора по первому.
Евгений.
Вложения
Тип файла: zip тренер.zip (14.4 Кб, 26 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Старый 17.08.2009, 13:12   #6
Sp1inter
 
Регистрация: 26.07.2009
Сообщений: 7
По умолчанию

Евгений! Спасибо, сейчас посмотрю!
Sp1inter вне форума Ответить с цитированием
Старый 17.08.2009, 13:20   #7
Sp1inter
 
Регистрация: 26.07.2009
Сообщений: 7
По умолчанию

Еще вопрос, в таблице учащиеся есть столбец "разряд", имеет фиксированный набор данных, начиная с первого заканчивая мастером спорта.
Есть запрос, который показывает список выбранной группы(выбираем в листбоксе название группы и тыкаем кнопку, вылетает запрос с составом). Вот рядом с ним хорошо бы сделать надпись на форме(или кнопку), которая будет показывать итог по группе, сколько каких разрядов в группе, пример:

5 человек - МС
2 человека - КМС
10 человек - 1 разряд

Подскажите как реализовать плиз
Sp1inter вне форума Ответить с цитированием
Старый 17.08.2009, 16:44   #8
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
Подскажите как реализовать плиз
Поможет следующий sql-запрос:
Цитата:
SELECT t.Rank, COUNT(t.Rank) AS RankCount FROM Table1 AS t WHERE t.GroupID = 1 GROUP BY t.Rank
Получишь список пар: разряд - количество людей им обладающих, для группы с GroupID = 1.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 17.08.2009, 22:39   #9
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Sp1inter.
Запросы MS Access допускают использование VBA функций в своем теле.
Евгений.
Вложения
Тип файла: zip тренер2.zip (15.7 Кб, 27 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Старый 18.08.2009, 00:11   #10
Sp1inter
 
Регистрация: 26.07.2009
Сообщений: 7
По умолчанию

Ребят, обоим вам человеческое спасибо, завтра буду пробовать сейчас котелок не варит...
Евгений, знаю, но с вба я на ты...
Sp1inter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23
Работа со ссылками SuperOrange Общие вопросы по Java, Java SE, Kotlin 0 07.07.2009 12:39
Страничка с различными ссылками Modernistka PHP 4 28.03.2009 20:12
Формула со ссылками Oleg104 Microsoft Office Excel 5 14.10.2008 13:49