Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

Запрос на выборку заданий для студентов по варианту   Найти похожие ветки 

 
ВладиславМинск   (2009-05-25 17:44) [0]

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

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

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


 
Нат ©   (2009-05-25 19:56) [1]

Погодите... А зачем ему вводить все 6 цифр?
Вы первый раз запрос составляете?
Почитайте хотя бы справку в Акцессе, она на русском
Иначе не поймете, что Вам ответят


 
Виталий Панасенко(дом)   (2009-05-25 20:47) [2]

"сотка" :-)


 
Сергей М. ©   (2009-05-26 08:24) [3]


> ВладиславМинск   (25.05.09 17:44)  


> как составить запрос


Куда уж проще:

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


 
ЮЮ ©   (2009-05-26 12:01) [4]


> в бд входит одна таблица с полями - Название_предмета; Номер
> семестра; Номер_варианта; Задание.


Ну и нафига такая БД и такое приложение? Да ещё при таком уровне разработчика?

В паке Название_предмета должны лежать папки 1 семестр,.., m семестр , а в них Word-овские документы Вариант1, ..., ВариантN


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


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


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

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

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

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


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


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


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


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


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


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


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

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:46) [8]


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


Т.е., к примеру, 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:52) [9]


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


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


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

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


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


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


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

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


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

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

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


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

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


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:44) [14]


> 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:47) [15]

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

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


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


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


ALTER TABLE + F1


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


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

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


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

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


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


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


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

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


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


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


Не то слово)

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


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


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


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


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


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


Тьфу)

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

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


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

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


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


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

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


 
Плохиш ©   (2009-05-28 16:59) [25]


> Сергей М. ©   (28.05.09 16:57) [23]
>
> И опять ахинея))
> Вот меня понесло-то)

Хм, и когда она, тяпница, начинается? :o)


 
Сергей М. ©   (2009-05-28 17:00) [26]


> Плохиш ©   (28.05.09 16:58) [24]


Ну да).. Контрольный в голову)


 
Сергей М. ©   (2009-05-28 17:04) [27]


> Плохиш ©   (28.05.09 16:59) [25]


Ну когда ? В четверг после обеда, само собой)


 
Сергей М. ©   (2009-05-28 17:14) [28]


> Плохиш ©   (28.05.09 16:59) [25]


Ну когда ? В четверг после обеда, само собой)


 
ВладиславМинск   (2009-05-28 17:28) [29]

SELECT name_pred, zadanie FROM zaokr WHERE nom_sem="+a+" AND nom_var="+b+"


что я опять не так делаю? =((


 
Сергей М. ©   (2009-05-28 17:29) [30]

Лишний плюс убери с конца)


 
ВладиславМинск   (2009-05-28 17:35) [31]

SELECT name_pred, zadanie FROM zaokr WHERE nom_sem="+a+" AND nom_var="+b"


тот же результат.. выводит одну строчку где в поле name_predm пусто а в поле zadanie пишет (Memo)

как я наверное уже вас достал..


 
Dennis I. Komarov ©   (2009-05-28 17:38) [32]

"SELECT name_pred, zadanie FROM zaokr WHERE nom_sem="+a+" AND om_var="+b


 
ВладиславМинск   (2009-05-28 17:42) [33]

"SELECT name_pred, zadanie FROM zaokr WHERE nom_sem="+a+" AND om_var="+b

пишет ошибочная инструкция SQL..


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

люди.. помогите с нписанием этой чертовой проги..
а то я сча с ума сойду и вас заодно всех сведу.. =((
ну мне просто ппц как надо...  попробуйте мот у себя там че-нить навоять и скинуть код.. или как-нить так а то это жесть какая-то творится..


 
Dennis I. Komarov ©   (2009-05-28 17:52) [35]

1. "SELECT name_pred, zadanie FROM zaokr
2. "SELECT name_pred, zadanie FROM zaokr WHERE nom_sem="+a

Результаты этих запросов...


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


> 1. "SELECT name_pred, zadanie FROM zaokr


Выводит в грид так как надо (ну правда в поле задание оно пишет просто (МЕМО), но это известно почему и этим я займусь позже)


> 2. "SELECT name_pred, zadanie FROM zaokr WHERE nom_sem="+a


а вот здесь пишет Несоответствие типов данных


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

мда.. чуется турнут меня нафиг.. =((  нифига не получается =((


 
sniknik ©   (2009-05-28 18:53) [38]

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


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


> за то что не получается нет. а вот за партизанщину... вполне
> может быть. как только надоешь.


эмм.. про партизанщину не совсем понял..

Мот помог бы лучше?


 
sniknik ©   (2009-05-28 19:27) [40]

я не помогаю тем кто не состоянии нормально описать свои проблемы, и правдиво скопировать код от этих проблем в форум.



Страницы: 1 2 вся ветка

Текущий архив: 2009.07.26;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.015 c
11-1203566557
Jon
2008-02-21 07:02
2009.07.26
Error with CxKOLTiffJpg


2-1243763837
snake-as
2009-05-31 13:57
2009.07.26
Приближение битмапа.


15-1243198856
Германн
2009-05-25 01:00
2009.07.26
Странный глюк с текстовым файлом


15-1243177319
Palladin
2009-05-24 19:01
2009.07.26
Соц. опрос: Когда и от кого вы услышали о стандарте XML


15-1240341049
Кто б сомневался
2009-04-21 23:10
2009.07.26
Человек - это биоробот