Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
4 / 4 / 0
Регистрация: 23.01.2013
Сообщений: 167

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

27.04.2013, 17:24. Показов 1209. Ответов 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 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru