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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2016, 08:35   #1
RedSid
Пользователь
 
Регистрация: 14.01.2016
Сообщений: 13
Радость Тест с БД access

Добрый день! Помогите пожалуйста разобраться с тестом. Идея состоит в том что на форме есть метка(вопрос) и 3 кнопки(ответы). В БД есть таблица с полями вопрос, ответ1, ответ2, ответ3. Название метки и кнопок подтягивается из этой таблицы. Как сделать чтобы варианты ответов сохранялись в другую таблицу(в этой таблице поля 1,2,3...60 по количеству вопросов) и при нажатии на ответ включался следующий вопрос? Всего 60 вопросов. Заранее спасибо)
RedSid вне форума Ответить с цитированием
Старый 14.01.2016, 13:19   #2
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

при клике на кнопу сохранеете что нужно в необходимую таблицу
если делать с кнопкой перехода и радио групп то так:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex > -1 then
Begin
if  not ADOTable1.Eof then
 begin
 ADOtable2.Last;
 ADOtable2.Insert;
 ADOTable2id_vopros.Value:=ADOtable1id_vopros.Value;
 ADOtable2Otvet.Value:=RadioGroup1.ItemIndex;
 ADOtable2.post;
 ADOTable1.Next;
 RadioGroup1.Caption:=ADOTable1Vopros.Value;
 RadioGroup1.Items.Clear;
 RadioGroup1.Items.Add(ADOTable1Variant1.Value);
 RadioGroup1.Items.Add(ADOTable1Variant2.Value);
 RadioGroup1.Items.Add(ADOTable1Variant3.Value);
 end
   else if MessageDlg('Тест закончен закрыть программу?',mtConfirmation, mbOKCancel, 0) =mrOK  then
     Form1.Close;
end
 else  ShowMessage ('Выберите ответ!')
end;

procedure TForm1.FormCreate(Sender: TObject);
var
put:string;
begin
 put:=ExtractFileDir(Application.ExeName)+'/db1.mdb';
 ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+put+';Persist Security Info=False;';
 ADOConnection1.Connected:=true;
 ADOTable1.Active:=True;
 ADOTable2.Active:=True;

 RadioGroup1.Caption:=ADOTable1Vopros.Value;
 RadioGroup1.Items.Clear;
 RadioGroup1.Items.Add(ADOTable1Variant1.Value);
 RadioGroup1.Items.Add(ADOTable1Variant2.Value);
 RadioGroup1.Items.Add(ADOTable1Variant3.Value);
end;
а то как вы говорите с кнопками ИМХО не правильно как-то
схема данных
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 14.01.2016 в 14:24.
Dvoishnik вне форума Ответить с цитированием
Старый 15.01.2016, 08:53   #3
RedSid
Пользователь
 
Регистрация: 14.01.2016
Сообщений: 13
По умолчанию

Выходила ошибка с ADOtable2 - переименовал в table2, все ок)
Еще выходит ошибка с ADOTable2id_vopros.Value:=ADOtable1 id_vopros.Value;
ADOtable2Otvet.Value:=RadioGroup1.I temIndex; говорит что неправильно написано
RedSid вне форума Ответить с цитированием
Старый 15.01.2016, 09:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Текст ошибки в студию )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2016, 10:07   #5
RedSid
Пользователь
 
Регистрация: 14.01.2016
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Текст ошибки в студию )
[Error] Unit5.pas(53): Undeclared identifier: 'ADOTable2id_vopros'
RedSid вне форума Ответить с цитированием
Старый 15.01.2016, 10:08   #6
RedSid
Пользователь
 
Регистрация: 14.01.2016
Сообщений: 13
По умолчанию

Цитата:
Сообщение от RedSid Посмотреть сообщение
[Error] Unit5.pas(53): Undeclared identifier: 'ADOTable2id_vopros'
Пробовал написать Table2id_vopros - тоже не хочет
RedSid вне форума Ответить с цитированием
Старый 15.01.2016, 10:20   #7
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Добавте поля в ваш Table2 и в БД поля должны называться как на скрине

П.С. чтоб добавить поля в таблицу двойной клин левой кнопкой миши по таблице и Add filds


Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 15.01.2016 в 10:27.
Dvoishnik вне форума Ответить с цитированием
Старый 15.01.2016, 10:23   #8
RedSid
Пользователь
 
Регистрация: 14.01.2016
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Dvoishnik Посмотреть сообщение
Добавте поля в ваш Table2 и в БД поля должны называться как на скрине
так и есть
RedSid вне форума Ответить с цитированием
Старый 15.01.2016, 10:29   #9
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от RedSid Посмотреть сообщение
так и есть
быть такого не может, ошибка у вас в том что нет переменной поля, если б вы все сделали так как я сказал оно было бы.


компоненты которые должны быть на форме

если вы используете дата модуль подключите его к форме

Держите ссылку на проект дальше то я надеюсь разберётесь.

П.С. База данных должна находится в одной папке с Exe
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 15.01.2016 в 10:42.
Dvoishnik вне форума Ответить с цитированием
Старый 15.01.2016, 11:00   #10
RedSid
Пользователь
 
Регистрация: 14.01.2016
Сообщений: 13
По умолчанию

спасибо, буду разбираться))
RedSid вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переписывание файла adp под Access 2007 или Access 2010 Анатолий_2014 Microsoft Office Access 1 02.09.2014 20:12
запрограммировать в делфи 7 тест Лири и тест Торстона через базу данных (курсовая на 1-м курсе) mekil Помощь студентам 10 10.06.2014 17:56
База данных тест в Access simka16 Microsoft Office Access 7 17.01.2011 19:04
тест через access в Delphi badjik89 Помощь студентам 1 02.01.2011 14:42