Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2022, 18:32   #1
angel546
 
Регистрация: 31.10.2022
Сообщений: 8
По умолчанию Недопустимое имя столбца tru

Добрый день. Помогите пож. С кодом.

unit mashin7;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrlsEh, Mask, frxClass, sSkinProvider, sEdit, sGroupBox,
sLabel, dateutils, sCheckBox, frxDMPExport, frxExportPDF, frxExportMail,
Data.DB, Data.Win.ADODB, frxDBSet;

type
Tmashinagram7 = class(TForm)
Label1: TLabel;
Label3: TLabel;
selectdate: TDBDateTimeEditEh;
otdel98: TCheckBox;
open: TButton;
cancel: TButton;
Ispolnitel: TComboBox;
sSkinProvider1: TsSkinProvider;
sLabel1: TsLabel;
sGroupBox1: TsGroupBox;
sCheckBox1: TsCheckBox;
sCheckBox2: TsCheckBox;
Label2: TLabel;
Label6: TLabel;
ceh_po: TsEdit;
ceh_s: TsEdit;
all: TCheckBox;
Label5: TLabel;
frxReport1: TfrxReport;
Button1: TButton;
frxPDFExport1: TfrxPDFExport;
sCheckBox3: TsCheckBox;
mashin7: TfrxDBDataset;
ADOMashin7: TADOQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure cancelClick(Sender: TObject);
procedure openClick(Sender: TObject);
procedure IspolnitelDropDown(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
selectedit:Integer;
end;

var
mashinagram7: Tmashinagram7;

implementation

uses spravka, DM1, Glavnai;

{$R *.dfm}

procedure Tmashinagram7.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Glavnai_.visible:=true;
Action:=caFree;
end;

procedure Tmashinagram7.FormShow(Sender: TObject);
begin
selectdate.Text := DateToStr (dm.RabDat.FieldByName('RabDat').As DateTime);
end;

procedure Tmashinagram7.Button1Click(Sender: TObject);
var t:TfrxMemoView; t1:TfrxGroupHeader;
a, b:string;
I: Integer;
name_othet: string;
label w;
begin
// сохранение отчета
if selectdate.Value=null then
begin
MessageBox(mashinagram7.Handle,PCha r('Введите отчетный период'),PChar('АКИД'),MB_OK or MB_ICONINFORMATION);
exit;
end;
a:='';


if (ceh_s.Text='') and (ceh_po.text='') and (all.checked =false) and (otdel98.Checked=false) then
begin
MessageBox(mashinagram7.Handle,PCha r('Укажите номера подразделений'),PChar('АКИД'),MB_OK or MB_ICONINFORMATION);
exit;
end;


name_othet:='';
if otdel98.Checked=true then
begin
if Ispolnitel.Text<>'' then
a:=a + ' and Ispolnitel=''' + Ispolnitel.Text + '''';
ceh_s.Text:='98';
ceh_po.Text:='98';
name_othet:=ispolnitel.Text + '_98' ;
end;


if (all.Checked=false) and (ceh_po.Text='') then
ceh_po.Text:=ceh_s.Text;


if all.Checked=false then
a:=a + ' and ( (Cex_ispolnitel) Between ' + ceh_s.Text + ' And ' + ceh_po.Text + ')';

if (otdel98.Checked=false ) and (ceh_s.Text=ceh_po.Text) and (all.Checked=false) then
name_othet:='_Испол._' + ceh_s.Text;
if (otdel98.Checked=false ) and (ceh_s.Text<>ceh_po.Text) and (all.Checked=false) then
name_othet:='_Испол._с_' + ceh_s.Text + '_по_' +ceh_po.Text ;
if (otdel98.Checked=false ) and (all.Checked=true) then
name_othet:='_Испол._все';


if sCheckBox1.Checked =true then
begin
a:=a + ' and CK<>''ВП'' ';
(frxreport1.FindObject('Memo26') as TfrxMemoView).Visible:=False ;
(frxreport1.FindObject('Memo25') as TfrxMemoView).Visible:=False ;
name_othet:=name_othet + '_Невыполненные';
end
else
begin
(frxreport1.FindObject('Memo26') as TfrxMemoView).Visible:=False ;
(frxreport1.FindObject('Memo25') as TfrxMemoView).Visible:=False ;
end;


if sCheckBox2.Checked =true then
begin

//a:=a + ' and data_koncha>=cdate('''+ DateToStr(StartOfTheMonth( dm.RabDat.FieldByName('RabMes').AsD ateTime)) +''') ' ;
a:=a + ' and data_koncha>=cast('''+ DateToStr(StartOfTheMonth( dm.RabDat.FieldByName('RabMes').AsD ateTime)) +''') ' ;
name_othet:=name_othet + '_Отчетный_месяц';
end;

dm.RabDat.Active:=true;
dm.RabDat.Edit;
dm.RabDat.FieldByName('dat_otch').A sDateTime:=StrToDate (selectdate.text);
dm.RabDat.Post;





if sCheckBox3.Checked=true then b:='1' else b:='0';


{ADOMashin7.Close;
ADOMashin7.SQL.Clear;
ADOMashin7.SQL.Add('SELECT UASKI.*, '+ b + ' as deist, IIf([fio] Is Null,[ispolnitel],[fio]) as ispol FROM UASKI LEFT JOIN (SELECT [fio_zamech] as fio, podr as ceh FROM zamech WHERE (((zamech.deist)=true))) AS zam ON UASKI.Cex_ispolnitel = zam.ceh ');
ADOMashin7.SQL.Add('where (( (Month([Data_fakticheskoi])=Month('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsD ateTime)+''') and (Year([Data_fakticheskoi])=Year('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsD ateTime)+'''))' + a );
ADOMashin7.SQL.Add( ') and CK="ВП")) or (CK=''В'' and data_koncha<cdate('''+selectdate.Te xt +''')' + a+')');
ADOMashin7.SQL.Add('Order by cex_Ispolnitel, IIf([fio] Is Null,[ispolnitel],[fio]) , Kut'); }

{

if sCheckBox3.Checked=true then b:='1' else b:='0';

ADOMashin7.Close;
ADOMashin7.SQL.Clear;
ADOMashin7.SQL.Add('SELECT zam.fio, UASKI.*, '+ b + ' as deist FROM UASKI LEFT JOIN (SELECT [fio_zamech] as fio, podr as ceh FROM zamech WHERE (((zamech.deist)=true))) AS zam ON UASKI.Cex_ispolnitel = zam.ceh ');
ADOMashin7.SQL.Add('where (( (Month([Data_fakticheskoi])=Month('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsD ateTime)+''') and (Year([Data_fakticheskoi])=Year('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsD ateTime)+'''))' + a+ ') and CK="ВП")) or (CK=''В'' and data_koncha<cdate('''+selectdate.Te xt +'''))' + a+'');
ADOMashin7.SQL.Add('Order by cex_Ispolnitel, Ispolnitel, Kut');
}

{

dm.koef_sred.Close;
dm.koef_sred.SQL.Clear;
dm.koef_sred.SQL.Add('SELECT UASKI.Ispolnitel, UASKI.Cex_ispolnitel, Sum(Round(IIf((IIf([Data_fakticheskoi] Is Null,CDate('''+selectdate.Text+''') ,[data_fakticheskoi]))-[data_koncha]<0,"1,00",IIf(1-([priznak]*((IIf([Data_fakticheskoi] Is Null,CDate('''+selectdate.Text+''') ,[data_fakticheskoi]))-[data_koncha])/');
dm.koef_sred.SQL.Add('IIf(([data_koncha]-[data_nachala])=0,1,([data_koncha]-[data_nachala])))<0,"0,00",1-([priznak]*((IIf([Data_fakticheskoi] Is Null,CDate('''+selectdate.Text+''') ,[data_fakticheskoi]))-[data_koncha])/IIf(([data_koncha]-[data_nachala])=0,"1,00", ');
dm.koef_sred.SQL.Add(' ([data_koncha]-[data_nachala]))))),2)) AS koef ');
dm.koef_sred.SQL.Add(' , Count(UASKI.Ispolnitel) AS zap, Round([koef]/[zap],2) AS sred_koef ');
dm.koef_sred.SQL.Add(' FROM UASKI ');
dm.koef_sred.SQL.Add(' where (( (Month([Data_fakticheskoi])=Month('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsD ateTime)+''')' + a+ ') and CK="ВП")) or (CK=''В'' and data_koncha<cdate('''+selectdate.Te xt +'''))' + a+'');
dm.koef_sred.SQL.Add(' GROUP BY UASKI.Ispolnitel, UASKI.Cex_ispolnitel ');
dm.koef_sred.SQL.Add('Order by cex_Ispolnitel, Ispolnitel');
dm.koef_sred.Open;
}


ADOMashin7.Open;
i:=ADOMashin7.RecordCount;
t:=TfrxMemoView(frxReport1.FindObje ct('memo20')); {Передача данных из формы в отчет}
t.Memo.Text:=FormatDateTime('mmmm yyyy',selectdate.Value-1); {присваиваем дату в отчет}




frxReport1.PrepareReport;
Изображения
Тип файла: jpg Рисунок1.jpg (71.7 Кб, 24 просмотров)
Тип файла: jpg Рисунок3.jpg (55.7 Кб, 26 просмотров)
angel546 вне форума Ответить с цитированием
Старый 14.11.2022, 01:50   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

И что нам делать с этой простынёй вашего кода? Без самого проекта никто и ничего тут не поймёт и ни чем не поможет. Сделайте архив проекта и приложите к сообщению. И саму базу данных тоже приложите.
northener вне форума Ответить с цитированием
Старый 14.11.2022, 10:22   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
{ADOMashin7.Close;
ADOMashin7.SQL.Clear;
ADOMashin7.SQL.Add('SELECT UASKI.*, '+ b + ' as deist, IIf([fio] Is Null,[ispolnitel],[fio]) as ispol FROM UASKI LEFT JOIN (SELECT [fio_zamech] as fio, podr as ceh FROM zamech WHERE (((zamech.deist)=true))) AS zam ON UASKI.Cex_ispolnitel = zam.ceh ');
ADOMashin7.SQL.Add('where (( (Month([Data_fakticheskoi])=Month('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsDateTime)+''') and (Year([Data_fakticheskoi])=Year('''+DateToStr( dm.RabDat.FieldByName('RabMes').AsDateTime)+'''))' + a );
ADOMashin7.SQL.Add( ') and CK="ВП")) or (CK=''В'' and data_koncha<cdate('''+selectdate.Te xt +''')' + a+')');
ADOMashin7.SQL.Add('Order by cex_Ispolnitel, IIf([fio] Is Null,[ispolnitel],[fio]) , Kut'); }


adomashin.SQL.Text:=format( 'SELECT UASKI.*, ( %s ) as deist, IIf([fio] Is Null,[ispolnitel],[fio]) as ispol '#13#10
                 +' FROM UASKI '#13#10
                 +' LEFT JOIN ( SELECT [fio_zamech] as fio, podr as ceh '
                 +'             FROM zamech '
                 +'             WHERE (((zamech.deist)=true))'
                 +'           ) AS zam ON UASKI.Cex_ispolnitel = zam.ceh '
                 +' where (( (Month([Data_fakticheskoi])=%d and (Year([Data_fakticheskoi])=%d) %s '
                 +'         ) and CK="ВП")) or (CK=''В'' and data_koncha< %s) %s '
                 +' Order by cex_Ispolnitel, IIf([fio] Is Null,[ispolnitel],[fio]) , Kut'
          , [b, month(dm.RabDat.FieldByName('RabMes').AsDateTime), year(dm.RabDat.FieldByName('RabMes').AsDateTime), a, selectdate.Text, a 
            ] );
// и ВСЕ прочие требующиеся правки до получения КОРРЕКТНОГО и ПРАВИЛЬНОГО запроса

http://www.delphibasics.ru/Format.php
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указано измерение, недопустимое для текущего типа диаграммы. zw2auP&#j29! Microsoft Office Excel 1 21.12.2020 14:13
Недопустимое сочетание спецификаторов типа. Catrine.brusnika Помощь студентам 5 23.01.2019 11:00
Недопустимое имя столбца student772 Общие вопросы C/C++ 3 04.01.2019 16:19
C# исключение в DataGridView недопустимое значение DataGridComboBoxCell - C# AntonCH Помощь студентам 2 10.12.2017 21:33
[DBNETLIB][ConnectionOpen (Invalid Instance()).]Недопустимое подключение Lunatikus БД в Delphi 0 28.02.2008 13:51