Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос на выборку заданий для студентов по варианту [D7, Access]


Страницы:   1 2 3

ВладиславМинск ©   (2009-05-25 17:44:00) 

Уважаемые друзья, проблема в следующем..
Суть программы такова..
Имеется БД в Access которая содержит заданий по контрольным работам для учащихсмя заочного отделения.
в бд входит одна таблица с полями - Название_предмета; Номер семестра; Номер_варианта; Задание.
Учащийся открывает программу вводит номер семестра, свой личный номер (состоящий из 6 цифр) две последние цифры указывают на его номер в журнале и соответственно на его вариант. Далее он нажимает на кнопку Вывести лист заданий и формируется файл содержайщий все задания всех предметов именно его варианта.

База Аксес подключенная с помощью АДО.

Подскажите пожалуйста, как составить запрос чтобы выдавало именно задания того варианта и того семестра который указал учащийся?? И чтобы вывод осуществился в файл вордовский например.. ну или Хотя бы в Мемо..
Буду очень очень благодарен!


Плохиш   (2009-05-28 16:58:00) [21]


> Сергей М. ©   (28.05.09 16:56) [22]

Ты его добить решил, да? :-))
У тебя ж a и b текстовые :o)


Сергей М.   (2009-05-28 16:57:00) [22]

И опять ахинея))
Вот меня понесло-то)
ADOQuery1.Lines.Text :=' .......... WHERE nom_sem=' + a + ' AND nom_var=' + b


Сергей М.   (2009-05-28 16:56:00) [23]


> Плохиш ©   (28.05.09 16:53) [19]


Тьфу)

И вправду ведь издеваюсь)

IntToStr, разумеется)


Сергей М.   (2009-05-28 16:55:00) [24]


> Плохиш ©   (28.05.09 16:53) [19]


Это я-то издеваюсь ?)
Ты посмотри на [16])


Сергей М.   (2009-05-28 16:54:00) [25]


> хорошенько я облажался


Не то слово)

Можно сказать - откровенно пытался ввести местную общественность в заблуждение)


Плохиш   (2009-05-28 16:53:00) [26]


> Сергей М. ©   (28.05.09 16:52) [18]


> ADOQuery1.Lines.Text :=' .......... WHERE nom_sem=' + StrToInt(a)
> + ' AND nom_var=' + StrToInt(b)
>

Зачем над младенцем издеваешься?


Сергей М.   (2009-05-28 16:52:00) [27]

Очевиден же:
..
a:=sEdit1.Text;
b:=sEdit2.Text;
ADOQuery1.Lines.Text :=' .......... WHERE nom_sem=' + StrToInt(a) + ' AND nom_var=' + StrToInt(b)
..


Плохиш   (2009-05-28 16:52:00) [28]


> Каков выход из ситуации?

Букварь-какой почитать...


Ega23   (2009-05-28 16:51:00) [29]


> Каков выход из ситуации? )


ALTER TABLE + F1


ВладиславМинск   (2009-05-28 16:47:00) [30]

Да.. хорошенько я облажался =)

Каков выход из ситуации? )


Сергей М.   (2009-05-28 16:44:00) [31]


> SELECT name_pred, zadanie FROM zaokr where nom_sem=a and
> nom_var=b


Этот запрос не может быть выполнен вообще, потому что поля nom_semи nom_varу тебя числовые, а символы aи bне являются текстовым представлением числовых значений.

При такой ситуации попытка выполнения строки
ADOQuery1.Active:=True;
обязана привести к искл.ситуации и до наблюдения за гридом дело вообще не дойдет.

Так что давай уже не "примерно так", а "конкретно вот так") ..


ВладиславМинск   (2009-05-28 16:36:00) [32]

Ну все выглядит примерно так..


procedure Tfstud.Button1Click(Sender: TObject);
var a,b:string;

begin
a:=sEdit1.Text;
b:=sEdit2.Text;
ADOQuery1.Active:=True;
end;


вот.. а в ADOQuery самом

SELECT name_pred, zadanie FROM zaokr where nom_sem=a and nom_var=b


Сергей М.   (2009-05-28 16:18:00) [33]

Чем здесь-то не нравится ?

Приведи фрагмент кода, формирующего запрос и запускающего его на выполнение ..


ВладиславМинск   (2009-05-28 16:04:00) [34]


> Ну значит нет в таблице записей, в которых nom_sem=1 и nom_var=56


Самое досадное, что есть.. =((

Сергей М. , можно ли с Вами как-нибудь связаться по-другому? Ну ICQ например или как-нибудь еще?..  Очень нужна помощь именно сегодня..


Сергей М.   (2009-05-28 15:58:00) [35]

Ну значит нет в таблице записей, в которых nom_sem=1 и nom_var=56


ВладиславМинск   (2009-05-28 15:52:00) [36]


> свой личный номер (состоящий из 6 цифр) две последние цифры


Прошу прощения..  Забыл уточнить, что условие немного поменял.. требуется ввести только номер варианта, а не номер студента..


Сергей М.   (2009-05-28 15:46:00) [37]


> вводит номер семестра


Т.е., к примеру, a=1


> вводит .. свой личный номер (состоящий из 6 цифр) две последние цифры
> указывают на его номер в журнале и соответственно на его
> вариант


Т.е. с учетом

> b - введенные юзером значение в Edit


твой запрос выглядит так

SELECT name_pred, zadanie FROM zaokr where nom_sem=1 and nom_var= 123456

А в таблице нет ни единой записи, у которой в поле nom_var имеется значение 123456, потому что номер варианта не превышает 99, ибо


> две последние цифры указывают на .. вариант


ВладиславМинск   (2009-05-28 15:30:00) [38]


> "именно так" - это как ?

SELECT name_pred, zadanie FROM zaokr where nom_sem=a and nom_var=b

где а, и b - введенные юзером значение в Edit'ы


> А остальные поля ? Догадаться с трёх раз предлагаешь об
> их типе ?)


name_pred - текстовы
nom_var - числовой
nom_sem - числовой
zadanie - Memo


Сергей М.   (2009-05-28 15:25:00) [39]


> Сделал в ADOQuery именно так


"именно так" - это как ?


> Нзвание_предмета в базе - текстовое
> Задание - поле Мемо


А остальные поля ? Догадаться с трёх раз предлагаешь об их типе ?)


ВладиславМинск   (2009-05-28 15:18:00) [40]


> Куда уж проще:
>
> select [Название_предмета],[Задание]
> from [Таблица]
> where [Семестр]=такой_то_семестр and [Номер_варианта]=такой_то_вариант


Сделал в ADOQuery именно так.. но в DBGrid выводит  только название полей а саму информацию не выводит.. что я делаю не так, подскажите пожалуйста..

Нзвание_предмета в базе - текстовое
Задание - поле Мемо

Искал в справке Аксеса нечто подобное, но чтото ничего нового не нашел..

П.С.
Извините-уж что я такой нуб и такие "тупые" вопросы задаю.. но помогите пожалуйста..


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо