Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизЗапрос на выборку заданий для студентов по варианту Найти похожие ветки
← →
ВладиславМинск (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;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.007 c