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

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

Запросы


Страницы:   1 2

dumka ©   (2007-11-27 09:13:00) 

Как в динамическом запросе извлечь из даты месяц и год. Ивсе это вставить или передать соответствующему полю.
Query3.aCTIVE:=False;
Query3.SQL.Clear;
Query3.SQL.Add('Insert into zarplat.db ');
Query3.SQL.Add('SELECT Tabeln_nom,FIO,SUM((Prioritet.Tarif + Dogovor.Oplata)  * 0.183)as Zarp');
Query3.SQL.Add('FROM "dogovor.DB" Dogovor ') ;
Query3.SQL.Add('   INNER JOIN "firma.DB" Firma ') ;
Query3.SQL.Add(' ON  (Firma.Kod_firm = Dogovor.Nom_dogovora)  ');
Query3.SQL.Add('   INNER JOIN "menedcher.DB" Menedcher  ');
Query3.SQL.Add('   ON  (Menedcher.Tabeln_nom = Dogovor.Tab_nom)');
Query3.SQL.Add(' INNER JOIN "prioritet.db" Prioritet ');
Query3.SQL.Add('  ON  (Prioritet.Prioritet = Dogovor.Prioritet)');
Query3.SQL.Add('GROUP BY Menedcher.Tabeln_nom, Menedcher.FIO ');
Query3.ExecSQL;
table1.Close;
table1.Open;
Вот это работает. Нужно добавить в
Query3.SQL.Add('SELECT Tabeln_nom,FIO,SUM((Prioritet.Tarif + Dogovor.Oplata)  * 0.183)as Zarp');
Месяц и год.


dumka   (2007-11-27 11:35:00) [21]


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

Запятые я расставила и модуль я подключила, что-то еще.


Anatoly Podgoretsky   (2007-11-27 11:30:00) [22]


> Я так сделала, но что не так с функцией MonthOf

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


Anatoly Podgoretsky   (2007-11-27 11:28:00) [23]

C чего ты решил что есть сервер?
Я думаю, что у нее Парадокс.


ЮЮ   (2007-11-27 10:52:00) [24]

Returns the month of the year represented by a TDateTime value.

Unit

DateUtils


Category

datetime routines

Delphi syntax:

function MonthOf(const AValue: TDateTime): Word;


Выделенное говорит какой модуль надо подключить в uses, когда воземкает > Undeclared identifier


dumka   (2007-11-27 10:45:00) [25]


> F1 отказала?

Нет, иногда глазам своим не верю


dumka   (2007-11-27 10:43:00) [26]


> Query3.SQL.Add(
>  'SELECT Tabeln_nom,FIO,SUM((Prioritet.Tarif + Dogovor.Oplata)
>  * 0.183)as Zarp' +
>  IntToStr(MonthOf(Date())) + ', ' + IntToStr(YearOf(Date()))
> );

Я так сделала, но что не так с функцией MonthOf
Undeclared identifier:MonthOf


ЮЮ   (2007-11-27 10:41:00) [27]

Returns the month of the year represented by a TDateTime value.

Unit

DateUtils

Category

datetime routines

Delphi syntax:

function MonthOf(const AValue: TDateTime): Word;


F1 отказала?


dumka   (2007-11-27 10:36:00) [28]


> ЮЮ

Я знаю, вот в данной конструкции
> 'SELECT Tabeln_nom,FIO,SUM((Prioritet.Tarif + Dogovor.Oplata)
>  * 0.183)as Zarp' +
>  IntToStr(MonthOf(Date())) + ', ' + IntToStr(YearOf(Date()))
> );

MonthOf возвращет какой тип.


ЮЮ   (2007-11-27 10:21:00) [29]

Кроме полей в секции SELECT можно указывать и константы  

Select Field1, Field2, 2, 'коммент' from Table


dumka   (2007-11-27 10:13:00) [30]


> P.S. Cудя по синтаксису
>  Insert into zarplat.db SELECT ...
> в таблице нет полей для месяца и года.

Сейчас будут...
Да я их убрала на время отладки.


dumka   (2007-11-27 10:12:00) [31]


> megabyte

Клиентская БД.
Вот в цикле я знаю как, в запросе?


ЮЮ   (2007-11-27 10:08:00) [32]

> Я так делала в ACCESSE применяя функции: Month (Date), Year
> (Date)

В Paradox-e (BDE) нет Date.

Просто передавай с клинта (добавь в запрос)

Query3.SQL.Add(
 'SELECT Tabeln_nom,FIO,SUM((Prioritet.Tarif + Dogovor.Oplata)  * 0.183)as Zarp' +
 IntToStr( MonthOf(Date())) + ', ' + IntToStr( YearOf(Date()))
);

P.S. Cудя по синтаксису
 Insert into zarplat.db SELECT ...
в таблице нет полей для месяца и года.


megabyte   (2007-11-27 10:07:00) [33]

Тебе с клиента добавлять или с сервера?
Если с клиента, то используй стандартные функции для выделения года, месяца. Системная дата - встроенная переменная Date.
Если на сервере, то все зависит от СУБД.


dumka   (2007-11-27 09:56:00) [34]


> ЮЮ


> из таблицы Dogovor? А если там их несколько? Всё-равно какой?

Все договора, если они не просрочены оплачиваются каждый месяц, сумма по договору делится на равные доли.


dumka   (2007-11-27 09:50:00) [35]


> месяц и год даты какой записи? из таблицы Dogovor?

Дата нужна не из договора, а системная.
Т.е. Группируя данные из нескольких таблиц я записываю их в зарлатную таблицу и вот приетом нужно добавить к Табельному номеру, ФИО и Заппл, месяц, год.
Я так делала в ACCESSE применяя функции: Month (Date), Year (Date)


ЮЮ   (2007-11-27 09:31:00) [36]

> нужно добавить месяц и год в зарплатную таблицу

месяц и год даты какой записи? из таблицы Dogovor? А если там их несколько? Всё-равно какой? Максимальной? А в следующем месяце опязь будешь "начислять зарплату" за эту запись?

З.Ы. Из твоей структуры только тебе понятно, что к чеиу.


dumka   (2007-11-27 09:25:00) [37]

Да я согласна. Но.
В конечном результате нужно добавить месяц и год в зарплатную таблицу при добавлении записей.


Johnmen   (2007-11-27 09:24:00) [38]


> Вот это работает.

Да ну?


ЮЮ   (2007-11-27 09:17:00) [39]

> Нужно добавить Месяц и год.


Какой? Ведь у тебя группировка по  BY Menedcher.Tabeln_nom, Menedcher.FIO


Страницы:   1 2

Наверх

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