4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167

Запросы: отчет о сделанной работе

27.04.2013, 17:24. Показов 1217. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем!! Хотел спросить, вот я хочу чтобы при выборе "фамилия" и "даты" мне выдавала отчет о сделанной работе сотрудника.


Вот прописал код для sComboBox1, для списка фамилий
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm5::sComboBox1DropDown(TObject *Sender)
{
Form1->ADOTable1->Filtered=false;
sComboBox1->Items->Clear();
Form1->ADOTable1->First();
for (int i=0; i<Form1->ADOTable1->RecordCount; i++)
 
{
sComboBox1->Items->Add(Form1->ADOTable1->Fields->Fields[1]->AsString);
Form1->ADOTable1->Next();
}
 
}


И для кнопки Поиск

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
void __fastcall TForm5::sComboBox1DropDown(TObject *Sender)
{
Form1->ADOTable1->Filtered=false;
sComboBox1->Items->Clear();
Form1->ADOTable1->First();
for (int i=0; i<Form1->ADOTable1->RecordCount; i++)
 
{
sComboBox1->Items->Add(Form1->ADOTable1->Fields->Fields[1]->AsString);
Form1->ADOTable1->Next();
}
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm5::sBitBtn1Click(TObject *Sender)
{
// íà ôàìèëèå
Form1->ADOQuery1->Close();
Form1->ADOQuery1->SQL->Clear();
Form1->ADOQuery1->SQL->Add("SELECT Sotrudniki.Tab_nomer, Sotrudniki.Famil, Sotrudniki.Name, Sotrudniki.Otchestvo, Sotrudniki.Dolghnost, Sotrudniki.Razryad, Sotrudniki.Foto FROM Sotrudniki WHERE (((Sotrudniki.Famil) Like '%"+sComboBox1->Text +"%'));");
Form1->ADOQuery1->Open();
if (Form1->ADOQuery1->RecordCount==0)
{Application->MessageBoxA("Íåò çàïèñåé","Âíèìàíèå",MB_OK);
Form1->DataSource1->DataSet=Form1->ADOTable1;
}
else
{Form1->DataSource1->DataSet=Form1->ADOQuery1;}
 
 
// íà äàòó
 
 
Form1->ADOQuery2->SQL->Clear();
Form1->ADOQuery2->SQL->Text="SELECT Vipolnenie.Kod_vipoln, Vipolnenie.Data, Vipolnenie.Tab_nomer, Vipolnenie.Kod_detali, Vipolnenie.Kol-vo FROM Vipolnenie WHERE (((Vipolnenie.Data) Between :time1 And :time2));)";
Form1->ADOQuery2->Parameters->ParamByName("time1")->Value=sDateEdit1->Date.DateString();
Form1->ADOQuery2->Parameters->ParamByName("time2")->Value=sDateEdit2->Date.DateString();
 
Form1->ADOQuery2->Open();
if (Form1->ADOQuery2->RecordCount==0)
{Application->MessageBoxA("Ïî çàäàííîìó èíòåðâàëó íè÷åãî íå íàéäåíî!","Âíèìàíèå",MB_OK);
Form1->DataSource3->DataSet=Form1->ADOTable3;
}
else
{Form1->DataSource3->DataSet=Form1->ADOQuery2;
}
 
 
}
И он мне выдает ошибку "Обнаружены символы за пределами SQL"
Помогите пожалуйста разобраться, что это может быть?
Я смотрел, вроде все нома.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2013, 17:24
Ответы с готовыми решениями:

ЗАПРОСЫ & ОТЧЕТ В 1С 7.7
Ребята помогите мне разобраться вот с чем! Описание объекта автоматизации: Имется молзавод, который поставляет свою продукцию...

Запросы и Отчет в Автопрокате автомобилей
Создал базу данных по Прокат Автомобилей. Нужна помощь , нужно создать Запросы и Отчеты 1.Запросы: выдача на экран клиентов, взявших в...

Как объединить запросы в один отчет?
Помогите пожалуйста, в access надо сделать отчет статистический по строкам название, а по столбцам результаты отфильтрованных запросов. Как...

10
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
27.04.2013, 17:29
Didilom,

Цитата Сообщение от Didilom Посмотреть сообщение
C++
1
Form1->ADOQuery1->SQL->Add("SELECT Sotrudniki.Tab_nomer, Sotrudniki.Famil, Sotrudniki.Name, Sotrudniki.Otchestvo, Sotrudniki.Dolghnost, Sotrudniki.Razryad, Sotrudniki.Foto FROM Sotrudniki WHERE Sotrudniki.Famil Like '%"+ sComboBox1->Text +"%'");
...
C++
1
Form1->ADOQuery2->SQL->Text="SELECT Vipolnenie.Kod_vipoln, Vipolnenie.Data, Vipolnenie.Tab_nomer, Vipolnenie.Kod_detali, Vipolnenie.Kol-vo FROM Vipolnenie WHERE Vipolnenie.Data Between :time1 And :time2";
0
4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167
27.04.2013, 23:08  [ТС]
Я прописал то что вы посоветовали, теперь другая ошибка
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
28.04.2013, 18:52
Didilom, какая СУБД?
Попробуйте убрать условие выборки (WHERE и все что после него).
И на каком конкретно запросе появляется данная ошибка?
0
4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167
28.04.2013, 20:49  [ТС]
Immortal, на Accesse делаю. Я даже не могу ответить на второй вопрос. Так как я запускаю эту форму и щелкаю на кнопку Поиск, он мне и выдает ошибку. На каком конкретно запросе дает ошибку я незнаю.
Вот чисто запрос 1 который беру с Accessa
C++
1
2
3
SELECT Sotrudniki.Tab_nomer, Sotrudniki.Famil, Sotrudniki.Name, Sotrudniki.Otchestvo, Sotrudniki.Dolghnost, Sotrudniki.Razryad, Sotrudniki.Foto
FROM Sotrudniki
WHERE (((Sotrudniki.Famil) Like "Иванов"));
2 запрос
C++
1
2
3
SELECT Vipolnenie.Kod_vipoln, Vipolnenie.Data, Vipolnenie.Tab_nomer, Vipolnenie.Kod_detali, Vipolnenie.[Kol-vo]
FROM Vipolnenie
WHERE (((Vipolnenie.Data) Between #4/1/2013# And #4/12/2013#));
Может я не так прописываю что то?
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
28.04.2013, 21:29
Didilom, в таком случае:

C++
1
Form1->ADOQuery2->SQL->Text="SELECT Vipolnenie.Kod_vipoln, Vipolnenie.Data, Vipolnenie.Tab_nomer, Vipolnenie.Kod_detali, Vipolnenie.[Kol-vo] FROM Vipolnenie WHERE Vipolnenie.Data Between :time1 And :time2";
0
4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167
28.04.2013, 21:39  [ТС]
Immortal, ведь я также и написал в самом начале, когда тему задавал и вопрос. Можете посмотреть может я там что не так написал?
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
28.04.2013, 21:45
Didilom, в общем, вставьте вот этот код и отпишитесь о результатах:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// на фамилие
Form1->ADOQuery1->Close();
Form1->ADOQuery1->SQL->Clear();
Form1->ADOQuery1->SQL->Add("SELECT Sotrudniki.Tab_nomer, Sotrudniki.Famil, Sotrudniki.Name, Sotrudniki.Otchestvo, Sotrudniki.Dolghnost, Sotrudniki.Razryad, Sotrudniki.Foto FROM Sotrudniki WHERE Sotrudniki.Famil Like '%"+ sComboBox1->Text +"%'");
Form1->ADOQuery1->Open();
if (Form1->ADOQuery1->RecordCount==0)
{Application->MessageBoxA("Нет записей","Внимание",MB_OK);
Form1->DataSource1->DataSet=Form1->ADOTable1;
}
else
{Form1->DataSource1->DataSet=Form1->ADOQuery1;}
 
 
// на дату
 
 
Form1->ADOQuery2->SQL->Clear();
Form1->ADOQuery2->SQL->Text="SELECT Vipolnenie.Kod_vipoln, Vipolnenie.Data, Vipolnenie.Tab_nomer, Vipolnenie.Kod_detali, Vipolnenie.[Kol-vo] FROM Vipolnenie WHERE Vipolnenie.Data Between :time1 And :time2";
Form1->ADOQuery2->Parameters->ParamByName("time1")->Value=sDateEdit1->Date.DateString();
Form1->ADOQuery2->Parameters->ParamByName("time2")->Value=sDateEdit2->Date.DateString();
 
Form1->ADOQuery2->Open();
if (Form1->ADOQuery2->RecordCount==0)
{Application->MessageBoxA("По заданному интервалу ничего не найдено!","Внимание",MB_OK);
Form1->DataSource3->DataSet=Form1->ADOTable3;
}
else
{Form1->DataSource3->DataSet=Form1->ADOQuery2;
}
1
4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167
28.04.2013, 21:49  [ТС]
Immortal, все заработало, спасибо!
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
28.04.2013, 21:53
Didilom,
Цитата Сообщение от Didilom Посмотреть сообщение
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Экспрессию лучше отставить, а то так все эмоции спустите в процессе программирования


Цитата Сообщение от Didilom Посмотреть сообщение
что не так написал?
Поле "Kol-vo" надо было обременить квадратным скобочками. Я как-то сразу не узрел этот момент
0
4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167
28.04.2013, 22:04  [ТС]
Просто делаю диплом, и сроки маленькие остались. А квадратные скобки я сам убрал, думал это лишнее, ведь они только где Kol-vo и все. Ну вам спасибо большое.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2013, 22:04
Помогаю со студенческими работами здесь

Запросы: отчет по сотруднику в указанный интервал времени
Ребята можете помочь. Вот делаю проект в С++ builder, Вот для комбобокс прописал код: Form1-&gt;ADOTable1-&gt;Filtered=false; ...

Отчет по работе (2 минуты работы)
Нужно по готовой работе только сделать отчет, а именно:Отгрузки прошлого года, с группировкой по поставщикам Может кто знает? (Файл...

Отчет о проводимой работе за день
Здравствуйте друзья. Встала задача вести отчет по проделанной работе за день (1)№, 2)Описание (Краткое), 3)Дата начала 4)Дата...

Как выводить на странице отчет о работе консольного приложения?
Мое консольное приложение ищет в базе. Я его запускаю из web-приложения, передавая строку через форму. После вывожу найденную инфу, читая...

Запросы топ 10 продаваемых и топ 10 дешевых, кассовый отчет
Доброго времени суток! Уважаемые форумчане подскажите, надо сделать 2 запроса из 20. 11 сделал, остальные кроме 2ух простейшие. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru