Delphi 7 + Microsoft Office Access 2003

  • Автор темы -
  • Дата начала

Гость
#1
Есть таблицы:

Vopros(<B>id_vopros</B>, vopros)
otvet(<B>id_otvet</B>, id_vopros, otvet)


Они связаны.

Есть компонент TDBLookupListBox в котором отображается список вопросов из таблицы Vopros.
Пользователь совершает событие onClick по одной из строк ЛистБокса (строка=вопрос).
Каждый вопрос имеет несколько вариантов ответов (как в тесте), которые содержаться в таблице otvet.
Есть компонент TDBRadioGroup, куда и выводятся ответы на соответствующий вопрос, где каждая радиокнопка - вариант ответа.

Т.к. изначально мы не задаем фиксированное количество радиокнопок, то т.о. они должны добавляться динамически, черпая информацию о количестве кнопок, в БД--> otvet

<B>Как реализовать это обращение к БД и последующее динамическое добавление я не знаю.</B>

----
ПС.
Мои догадки:
Вероятно надо, во-первых, определить количество вариантов ответов по текущему вопросу.
Потом добавить их в виде радиокнопок.

Предполагаю, что нужен цикл:

Код:
procedure TForm1.DBLookupListBox1Click(Sender: TObject);
begin
while ADOTableRadio1.Eof <> true do
begin
DBRadioGroup1.Items.Add('select count(*) from otvet where id_vopros = :id_vopros');
end;
end;
Вроде бы программа запускается, но когда совершаю указанное событие - зависает и в месте, где д/б радио кнопки - что-то похожее на вкл/выкл - мерцание.

Ребят, кто может, пожалуйста подсобите! ))
 

Гость
#2
Вопрос, был решен так:
Код:
procedure TForm1.DBLookupListBox1Click(Sender: TObject);
begin
DBRadioGroup1.Items.Clear;
ADOTableRadio1.First;
while not ADOTableRadio1.Eof do
begin
DBRadioGroup1.Items.Add(ADOTableRadio1.FieldValues['otvet']);
ADOTableRadio1.Next;
end;
end;
 

Гость
#3
В смысле? Работает ведь и ладно.
М/б действительно не все замечательно, но другого варианта не знаю.
 

Гость
#4
Вы знаете почему в машину, двигатель которой расчиан работать на высокоакановом бензине, не заливают, к примеру 76? Работать то все-равно будет и ладно, ан нет - не заливают! ... придурки а ведь он дешевле намного ... все равно не заливают ... хоть кол им на голове теши ...
Я понимаю. но другого варианта я придумать не могу. Если бы мне кто-нить помог я бы был тому очень благодарен. ))