1

(3 replies, posted in General)

procedure bReportOnClick (ol,li: string);
var
    frxDBDataset1, frxDBDataset2,frxDBDataset3,frxDBDataset4,frxDBDataset5,frxDBDataset6,frxDBDataset7,frxDBDataset8,frxDBDataset9,frxDBDataset10,frxDBDataset11,frxDBDataset12: TfrxDBDataset;
    frxDBDataset13,frxDBDataset14,frxDBDataset15: TfrxDBDataset;
    ServiceWork, WorkOff, servise, listWorkOff,TypeOfEquipment,Manufacturer,Company,status,clCompanyOrApp,companyServiceWork, comDoc,TypeDoc, union : TDataSet;
    firstNameClient, twoNameClient, lastNameClient: TDataSet;
    i,c: integer;
    s:string;
begin
    //передача в дизайнер отчета
    SQLQuery('SELECT id AS "'+langIniG.ReadString('reportmess','dr1', '(id) Идентификатор клиента')+'",id_clCompanyOrApp AS "'+langIniG.ReadString('reportmess','dr2', '(id) Идентификатор типа клиента')+'",'+
             'id_company AS "'+langIniG.ReadString('reportmess','dr3', '(id) Идентификатор организации')+'",id_status AS "'+langIniG.ReadString('reportmess','dr4', '(id) Идентификатор статуса оборудования ')+'",'+
             'id_TypeOfEquipment AS "'+langIniG.ReadString('reportmess','dr5', '(id) Идентификатор типа оборудования ')+'",id_Manufacturer AS "'+langIniG.ReadString('reportmess','dr6', '(id) Идентификаторбренда оборудования ')+'",'+
             'telephonClient AS "'+langIniG.ReadString('reportmess','dr31', 'Телефон')+'",adresClient AS "'+langIniG.ReadString('reportmess','dr10', 'Адрес клиента')+'", passportNamberClient AS "'+langIniG.ReadString('reportmess','dr11', 'Серия паспорта клиента')+'", passportSeriesClient AS "'+langIniG.ReadString('reportmess','dr12', 'Номер паспорта клиента')+'",'+
             'serialNamber AS "'+langIniG.ReadString('reportmess','dr13', 'Серийный номер оборудования ')+'" ,descriptionATCsWords AS "'+langIniG.ReadString('reportmess','dr14', 'Описание неисправности')+'",externalStatus AS "'+langIniG.ReadString('reportmess','dr15', 'Внешний вид')+'",'+
             'model AS "'+langIniG.ReadString('reportmess','dr16', 'Модель оборудования ')+'",dateInServise AS "'+langIniG.ReadString('reportmess','dr17', 'Дата поступления ')+'",equipment AS "'+langIniG.ReadString('reportmess','dr18', 'Комплектация ')+'",'+
             'diagnostics AS "'+langIniG.ReadString('reportmess','dr19', 'Описание диагностики')+'",dateApplcation AS "'+langIniG.ReadString('reportmess','dr20', 'Дата ожидания мастера')+'",timeApplication AS "'+langIniG.ReadString('reportmess','dr21', 'Время ожидания мастера')+'",'+
             'warranty AS "'+langIniG.ReadString('reportmess','dr22', 'Гарантийный ДА/НЕТ')+'",onlyDiiagnostics AS "'+langIniG.ReadString('reportmess','dr23', 'Только диагностика ДА/НЕТ')+'"   FROM servise', servise);
    SQLQuery('SELECT name AS "'+langIniG.ReadString('reportmess','dr7', 'Имя клиента')+'"  FROM firstNameClient', firstNameClient);
    SQLQuery('SELECT name AS "'+langIniG.ReadString('reportmess','dr8', 'Фамилия клиента')+'"  FROM twoNameClient', twoNameClient);
    SQLQuery('SELECT name AS "'+langIniG.ReadString('reportmess','dr9', 'Отчество клиента')+'"  FROM lastNameClient', lastNameClient);
    SQLQuery('SELECT id_servise AS "'+langIniG.ReadString('reportmess','dr24', '(id) Идентификатор оборудования ')+'", priceWorkOff AS "'+langIniG.ReadString('reportmess','dr25', 'Цена')+'",klVoWorkOff AS "'+langIniG.ReadString('reportmess','dr26', 'Колличество')+'",nameWorkOff AS "'+langIniG.ReadString('reportmess','dr27', 'Наименование')+'" FROM listWorkOff', listWorkOff);
    SQLQuery('SELECT nameTypeOfEquipment "'+langIniG.ReadString('reportmess','dr28', 'Тип оборудования ')+'" FROM TypeOfEquipment', TypeOfEquipment);
    SQLQuery('SELECT nameManufacturer AS "'+langIniG.ReadString('reportmess','dr29', 'Бренд оборудования ')+'" FROM manufacturer', Manufacturer);
    SQLQuery('SELECT nameCompany AS "'+langIniG.ReadString('reportmess','dr30', 'Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr31', 'Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr32', 'Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr33', 'Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr34', 'Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr35', 'Офис')+'"  FROM company', Company);
    SQLQuery('SELECT statusName AS "'+langIniG.ReadString('reportmess','dr36', 'Статус оборудования ')+'" FROM status', status);
    SQLQuery('SELECT nameclCompanyOrApp AS "'+langIniG.ReadString('reportmess','dr37', 'Частный клиент,компания, заявка')+'" FROM clCompanyOrApp', clCompanyOrApp);
    SQLQuery('SELECT id_Company AS "'+langIniG.ReadString('reportmess','dr38', '(id) Идентификатор организации')+'",nameServise AS "'+langIniG.ReadString('reportmess','dr39', 'Тип работы')+'",priceServise AS "'+langIniG.ReadString('reportmess','dr40', 'Цена работы')+'",'+
             'dateServiseCompany AS"'+langIniG.ReadString('reportmess','dr41', 'Дата выполнения работы')+'",klVo "'+langIniG.ReadString('reportmess','dr42', 'Колличество')+'" FROM companyServiceWork', companyServiceWork);
    SQLQuery('SELECT id_TypeDoc AS "'+langIniG.ReadString('reportmess','dr43', '(id)Идентификатор Тип документа')+'",scanDoc AS "'+langIniG.ReadString('reportmess','dr44', 'Документ')+'",dateInDoc AS "'+langIniG.ReadString('reportmess','dr45', 'Дата')+'",nameDoc AS "'+langIniG.ReadString('reportmess','dr30', 'Имя ')+'",descriptionDoc "'+langIniG.ReadString('reportmess','dr46', 'Описание')+'" FROM comDoc', comDoc);
    SQLQuery('SELECT nameTypeDoc AS "'+langIniG.ReadString('reportmess','dr47', 'Тип документа')+'" FROM TypeDoc', TypeDoc);

    // передача в дизайнер отчета объединенных данных несколькоих таблиц
    SQLQuery('SELECT servise.id AS "'+langIniG.ReadString('reportmess','dr48', '(id)')+'",'+
             'servise.telephonClient AS "'+langIniG.ReadString('reportmess','dr85', '(частный клиент) Телефон')+'",servise.adresClient AS "'+langIniG.ReadString('reportmess','dr52', '(частный клиент) Адрес')+'", servise.passportNamberClient AS "'+langIniG.ReadString('reportmess','dr53', '(частный клиент) Серия паспорта')+'", servise.passportSeriesClient AS "'+langIniG.ReadString('reportmess','dr54', '(частный клиент) Номер паспорта')+'",'+
             'servise.serialNamber AS "'+langIniG.ReadString('reportmess','dr55', '(Оборудование) Серийный номер')+'" ,servise.descriptionATCsWords AS "'+langIniG.ReadString('reportmess','dr56', '(Оборудование) Описание неисправности')+'",servise.externalStatus AS "'+langIniG.ReadString('reportmess','dr57', '(Оборудование) Внешний вид')+'",'+
             'servise.model AS "'+langIniG.ReadString('reportmess','dr58', '(Оборудование) Модель')+'",servise.dateInServise AS "'+langIniG.ReadString('reportmess','dr59', '(Оборудование) Дата поступления ')+'",servise.equipment AS "'+langIniG.ReadString('reportmess','dr60', '(Оборудование) Комплектация ')+'",'+
             'servise.diagnostics AS "'+langIniG.ReadString('reportmess','dr61', '')+'",servise.dateApplcation AS "'+langIniG.ReadString('reportmess','dr62', '(Заявка) Дата ожидания мастера')+'",servise.timeApplication AS "'+langIniG.ReadString('reportmess','dr63', '(Заявка) Время ожидания мастера')+'",'+
             'servise.warranty AS "'+langIniG.ReadString('reportmess','dr64', '(Оборудование) Гарантийный ДА/НЕТ')+'",servise.onlyDiiagnostics AS "'+langIniG.ReadString('reportmess','dr65', '(Оборудование) Только диагностика ДА/НЕТ')+'", '+
             'firstNameClient.name AS "'+langIniG.ReadString('reportmess','dr49', '(частный клиент)  Имя ')+'",'+
             'twoNameClient.name AS "'+langIniG.ReadString('reportmess','dr50', '(частный клиент) Фамилия ')+'",'+
             'lastNameClient.name  AS "'+langIniG.ReadString('reportmess','dr51', '(частный клиент) Отчество ')+'",'+
             'listWorkOff.priceWorkOff AS "'+langIniG.ReadString('reportmess','dr66', '(Работы) Цена')+'",listWorkOff.klVoWorkOff  AS "'+langIniG.ReadString('reportmess','dr67', '(Работы) Цена')+'",listWorkOff.nameWorkOff AS "'+langIniG.ReadString('reportmess','dr68', '(Работы) Наименование')+'",'+
             'sumInPrice.inPrice AS "'+langIniG.ReadString('reportmess','dr69', '(Оплата работ) Сумма оплаты')+'",sumInPrice.dateINPrice AS "'+langIniG.ReadString('reportmess','dr70', '(Оплата работ) Дата оплаты')+'", '+
             'TypeOfEquipment.nameTypeOfEquipment AS "'+langIniG.ReadString('reportmess','dr71', '(Оборудование) Тип')+'", '+
             'manufacturer.nameManufacturer AS "'+langIniG.ReadString('reportmess','dr72', '(Оборудование) Бренд')+'", '+
             'company.nameCompany AS "'+langIniG.ReadString('reportmess','dr73', '(Компания) Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr74', '(Компания) Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr75', '(Компания) Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr76', '(Компания) Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr77', '(Компания) Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr78', '(Компания) Офис')+'", '+
             'status.statusName AS "'+langIniG.ReadString('reportmess','dr79', '(Оборудование) Статус')+'", '+
             'clCompanyOrApp.nameclCompanyOrApp AS "'+langIniG.ReadString('reportmess','dr80', '(Тип клиента) Частный клиент,компания, заявка')+'" '+
             'FROM servise '+
             'LEFT OUTER JOIN firstNameClient ON firstNameClient.id=servise.id_firstNameClient '+
             'LEFT OUTER JOIN twoNameClient ON twoNameClient.id=servise.id_twoNameClient '+
             'LEFT OUTER JOIN lastNameClient ON lastNameClient.id=servise.id_lastNameClient '+
             'LEFT OUTER JOIN listWorkOff ON listWorkOff.id_servise=servise.id '+
             'LEFT OUTER JOIN sumInPrice ON sumInPrice.id_servise=servise.id '+
             'LEFT OUTER JOIN TypeOfEquipment ON TypeOfEquipment.id=servise.id_TypeOfEquipment '+
             'LEFT OUTER JOIN manufacturer ON manufacturer.id=servise.id_manufacturer '+
             'LEFT OUTER JOIN company ON company.id=servise.id_Company '+
             'LEFT OUTER JOIN status ON status.id=servise.id_status '+
             'LEFT OUTER JOIN clCompanyOrApp ON clCompanyOrApp.id=servise.id_clCompanyOrApp '+
             'WHERE servise.id='+ frmServiceCen.tgList.sqlValue , WorkOff);
   if frmCompanyServiceWork.tgCompanyWork.SelectedColumn then
     begin
       c := frmCompanyServiceWork.tgCompanyWork.RowCount-1;
         for i := 0 to c do
          begin
          if frmCompanyServiceWork.tgCompanyWork.Selected[i] then s := s +IntToStr(frmCompanyServiceWork.tgCompanyWork.dbIndexToID(i)) + ' OR ';
        end;
        if s <> '' then
      begin
    SetLength(s, Length(s)-4);
    SQLQuery('SELECT companyServiceWork.id AS "'+langIniG.ReadString('reportmess','dr48', '(id)')+'", companyServiceWork.nameServise AS "'+langIniG.ReadString('reportmess','dr82', 'Имя услуги')+'", companyServiceWork.priceServise AS "'+langIniG.ReadString('reportmess','dr83', 'Цена услуги')+'", companyServiceWork.dateServiseCompany  AS "'+langIniG.ReadString('reportmess','dr84', 'Дата окозания услуги')+'" ,'+
             'companyServiceWork.klVo AS "'+langIniG.ReadString('reportmess','dr42', 'Колличество')+'",'+
             'company.nameCompany AS "'+langIniG.ReadString('reportmess','dr73', '(Компания) Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr74', '(Компания) Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr75', '(Компания) Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr76', '(Компания) Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr77', '(Компания) Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr78', '(Компания) Офис')+'" '+
             'FROM companyServiceWork '+
             'LEFT OUTER JOIN company ON company.id=companyServiceWork.id_Company '+
             'WHERE companyServiceWork.id='+s, ServiceWork);
    end;
   end else
     begin
     SQLQuery('SELECT companyServiceWork.id AS "'+langIniG.ReadString('reportmess','dr48', '(id)')+'", companyServiceWork.nameServise AS "'+langIniG.ReadString('reportmess','dr82', 'Имя услуги')+'", companyServiceWork.priceServise AS "'+langIniG.ReadString('reportmess','dr83', 'Цена услуги')+'", companyServiceWork.dateServiseCompany  AS "'+langIniG.ReadString('reportmess','dr84', 'Дата окозания услуги')+'" ,'+
             'companyServiceWork.klVo AS "'+langIniG.ReadString('reportmess','dr42', 'Колличество')+'",'+
             'company.nameCompany AS "'+langIniG.ReadString('reportmess','dr73', '(Компания) Имя ')+'", telCompany AS "'+langIniG.ReadString('reportmess','dr74', '(Компания) Телефон')+'", streetCompany AS "'+langIniG.ReadString('reportmess','dr75', '(Компания) Улица')+'", houseCompany AS "'+langIniG.ReadString('reportmess','dr76', '(Компания) Дом')+'", fractionCompany AS "'+langIniG.ReadString('reportmess','dr77', '(Компания) Дробь')+'", officeCompany AS "'+langIniG.ReadString('reportmess','dr78', '(Компания) Офис')+'" '+
             'FROM companyServiceWork '+
             'LEFT OUTER JOIN company ON company.id=companyServiceWork.id_company '+
             'WHERE companyServiceWork.id='+frmCompanyServiceWork.tgCompanyWork.sqlValue , ServiceWork);
    end;
    frxDBDataset1 := TfrxDBDataset.Create(frmLogin);
    frxDBDataset1.UserName        := langIniG.ReadString('reportmess','UserName1', '');
    frxDBDataset1.CloseDataSource := True;
    frxDBDataset1.OpenDataSource  := True;
    frxDBDataset1.DataSet         := servise;


    frxDBDataset2 := TfrxDBDataset.Create(listWorkOff);
    frxDBDataset2.UserName        := langIniG.ReadString('reportmess','UserName2', '');
    frxDBDataset2.CloseDataSource := True;
    frxDBDataset2.OpenDataSource  := True;
    frxDBDataset2.DataSet         := listWorkOff;


    frxDBDataset3 := TfrxDBDataset.Create(TypeOfEquipment);
    frxDBDataset3.UserName        := langIniG.ReadString('reportmess','UserName3', '');
    frxDBDataset3.CloseDataSource := True;
    frxDBDataset3.OpenDataSource  := True;
    frxDBDataset3.DataSet         := TypeOfEquipment;


    frxDBDataset4 := TfrxDBDataset.Create(Manufacturer);
    frxDBDataset4.UserName        := langIniG.ReadString('reportmess','UserName4', '');
    frxDBDataset4.CloseDataSource := True;
    frxDBDataset4.OpenDataSource  := True;
    frxDBDataset4.DataSet         := Manufacturer;


    frxDBDataset5 := TfrxDBDataset.Create(Company);
    frxDBDataset5.UserName        := langIniG.ReadString('reportmess','UserName5', '');
    frxDBDataset5.CloseDataSource := True;
    frxDBDataset5.OpenDataSource  := True;
    frxDBDataset5.DataSet         := Company;


    frxDBDataset6 := TfrxDBDataset.Create(status);
    frxDBDataset6.UserName        := langIniG.ReadString('reportmess','UserName6', '');
    frxDBDataset6.CloseDataSource := True;
    frxDBDataset6.OpenDataSource  := True;
    frxDBDataset6.DataSet         := status;


    frxDBDataset7 := TfrxDBDataset.Create(clCompanyOrApp);
    frxDBDataset7.UserName        := langIniG.ReadString('reportmess','UserName7', '');
    frxDBDataset7.CloseDataSource := True;
    frxDBDataset7.OpenDataSource  := True;
    frxDBDataset7.DataSet         := clCompanyOrApp;


    frxDBDataset8 := TfrxDBDataset.Create(companyServiceWork);
    frxDBDataset8.UserName        := langIniG.ReadString('reportmess','UserName8', '');
    frxDBDataset8.CloseDataSource := True;
    frxDBDataset8.OpenDataSource  := True;
    frxDBDataset8.DataSet         := companyServiceWork;


    frxDBDataset9 := TfrxDBDataset.Create(comDoc);
    frxDBDataset9.UserName        := langIniG.ReadString('reportmess','UserName9', '');
    frxDBDataset9.CloseDataSource := True;
    frxDBDataset9.OpenDataSource  := True;
    frxDBDataset9.DataSet         := comDoc;


    frxDBDataset10 := TfrxDBDataset.Create(TypeDoc);
    frxDBDataset10.UserName        := langIniG.ReadString('reportmess','UserName10', '');
    frxDBDataset10.CloseDataSource := True;
    frxDBDataset10.OpenDataSource  := True;
    frxDBDataset10.DataSet         := TypeDoc;

    frxDBDataset11 := TfrxDBDataset.Create(WorkOff);
    frxDBDataset11.UserName        := langIniG.ReadString('reportmess','UserName11', '');
    frxDBDataset11.CloseDataSource := True;
    frxDBDataset11.OpenDataSource  := True;
    frxDBDataset11.DataSet         := WorkOff;

    frxDBDataset12 := TfrxDBDataset.Create(ServiceWork);
    frxDBDataset12.UserName        := langIniG.ReadString('reportmess','UserName12', '');
    frxDBDataset12.CloseDataSource := True;
    frxDBDataset12.OpenDataSource  := True;
    frxDBDataset12.DataSet         := ServiceWork;

    frxDBDataset13 := TfrxDBDataset.Create(firstNameClient);
    frxDBDataset13.UserName        := langIniG.ReadString('reportmess','UserName13', '');
    frxDBDataset13.CloseDataSource := True;
    frxDBDataset13.OpenDataSource  := True;
    frxDBDataset13.DataSet         := firstNameClient;

    frxDBDataset14 := TfrxDBDataset.Create(twoNameClient);
    frxDBDataset14.UserName        := langIniG.ReadString('reportmess','UserName14', '');
    frxDBDataset14.CloseDataSource := True;
    frxDBDataset14.OpenDataSource  := True;
    frxDBDataset14.DataSet         := twoNameClient;

    frxDBDataset15 := TfrxDBDataset.Create(lastNameClient);
    frxDBDataset15.UserName        := langIniG.ReadString('reportmess','UserName15', '');
    frxDBDataset15.CloseDataSource := True;
    frxDBDataset15.OpenDataSource  := True;
    frxDBDataset15.DataSet         := lastNameClient;

    frmLogin.frxReport.Clear;
    //frmLogin.frxReport.DataSets.Clear;
    frmLogin.frxReport.DataSets.Add(frxDBDataset1);
    frmLogin.frxReport.DataSets.Add(frxDBDataset13);
    frmLogin.frxReport.DataSets.Add(frxDBDataset14);
    frmLogin.frxReport.DataSets.Add(frxDBDataset15);
    frmLogin.frxReport.DataSets.Add(frxDBDataset2);
    frmLogin.frxReport.DataSets.Add(frxDBDataset3);
    frmLogin.frxReport.DataSets.Add(frxDBDataset4);
    frmLogin.frxReport.DataSets.Add(frxDBDataset5);
    frmLogin.frxReport.DataSets.Add(frxDBDataset6);
    frmLogin.frxReport.DataSets.Add(frxDBDataset7);
    frmLogin.frxReport.DataSets.Add(frxDBDataset8);
    frmLogin.frxReport.DataSets.Add(frxDBDataset9);
    frmLogin.frxReport.DataSets.Add(frxDBDataset10);
    frmLogin.frxReport.DataSets.Add(frxDBDataset11);
    frmLogin.frxReport.DataSets.Add(frxDBDataset12);


    frxDBDataset1.DataSet.Close;
    frxDBDataset2.DataSet.Close;
    frxDBDataset3.DataSet.Close;
    frxDBDataset4.DataSet.Close;
    frxDBDataset5.DataSet.Close;
    frxDBDataset6.DataSet.Close;
    frxDBDataset7.DataSet.Close;
    frxDBDataset8.DataSet.Close;
    frxDBDataset9.DataSet.Close;
    frxDBDataset10.DataSet.Close;
    frxDBDataset11.DataSet.Close;
    frxDBDataset12.DataSet.Close;
    frxDBDataset13.DataSet.Close;
    frxDBDataset14.DataSet.Close;
    frxDBDataset15.DataSet.Close;


         if (ol='print') then begin
            frmLogin.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+li);
            frmLogin.frxReport.ShowReport;
          end;

          if (ol='edit') then begin
           frmLogin.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+li);
           frmLogin.mniReport.Click;
         end;

         if (ol='new') then frmLogin.mniReport.Click;

    frxDBDataset1.Free;
    frxDBDataset2.Free;
    frxDBDataset3.Free;
    frxDBDataset4.Free;
    frxDBDataset5.Free;
    frxDBDataset6.Free;
    frxDBDataset7.Free;
    frxDBDataset8.Free;
    frxDBDataset9.Free;
    frxDBDataset10.Free;
    frxDBDataset11.Free;
    frxDBDataset12.Free;

end;

2

(5 replies, posted in Script)

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=7431&amp;download=0

я просто не могу понять, что именно Вы хотите

если Вам нужны метры материала то мне не понятно от куда Вы это берете
 
дайте точное описание

sacha531 wrote:
sacha531 wrote:

скрин с наглядной схемой

не знаю какие именно значения Вам нужны попробуйте поиграть и этим

(SELECT 1.25*IFNULL(sum(Length2),"0") FROM AppList WHERE AppList.id_ploskiylist=ploskiylist.id)  
*
(SELECT IFNULL(sum(piece2),"0") FROM AppList WHERE AppList.id_ploskiylist=ploskiylist.id)  

5

(5 replies, posted in FAQ)

Eduardo Volpi wrote:

Hi Jean,

Yes, tried this and other similar combinations without success.

Thanks for helping!

frmdbCoreExport.bExportAllToCSV.Caption:='';
voskresov wrote:

Добрый день.
При добавлении товара в таблицу firstFRM.GridPartsUse название дублируется. Я хочу сделать: при добавлении позиции, если имя такое уже есть, строка не новая сохранялась, а прибавлялось просто количество к существующей записи.

 
название будет дублироваться, так как Вы привязываете его к новой заявке.. 
посмотрите на мой проект сервисного центра, его можно использовать без ограничений, можете из него что-либо взять...
http://myvisualdatabase.com/forum/viewtopic.php?id=6853

7

(1 replies, posted in Talks about all)

Проект еще жив? 
жалко терять такое чудо !!(  я уже втянулся .. хочу после конструктора тестов еще пару конструкторов собрать но не могу понять,  делать их на MVDB или искать, что то другое!!

8

(4 replies, posted in Russian)

Сильно извиняюсь, но во время сборки произошел конфликт
теперь все работает
можете скачать   https://questiond.pavlenkovv.ru/img/QuestionD.exe

voskresov wrote:

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

Опешите подробнее Вашу ситуацию ..

10

(4 replies, posted in Russian)

исправил ряд ошибок в программе
добавил возможность архивации в zip

https://questiond.pavlenkovv.ru/img/QuestionD.exe

код для сборки проектов 1234567890123456789012
 
тестируйте,  ругайтесь на меня!!

Ilya.M wrote:

Для ведения лога и разделения личных данных необходим id или username аутентифицированного в текущем сеансе пользователя.
Подскажите пож. как его получить.

 
в роди это

Application.User.id; // идентификатор пользователя
Application.User.Username; // имя пользователя
Application.User.Email; // e-mail пользователя
Application.User.First_name; // имя пользователя
Application.User.Last_name; // фамилия пользователя
Application.User.Role; // имя роли у пользователя
Application.User.RoleId; // идентификатор роли пользователя
Application.User.is_admin; // является ли пользователь администратором
Application.User.is_active; // является ли пользователь активным
Application.User.is_logged; // был ли авторизован пользователь
Application.User.Last_login; // дата и время последнего входа пользователя
Application.User.Date_joined; // дата и время создания пользователя

используйте  OnShow формы на которой расположена таблица

glkonst79 wrote:

Добрый вечер!
Но мне как раз и нужно записать данные в существующую таблицу. Просто как правило кнопка и нужна при количестве записей более 5.

к сожалению у меня не получается понять суть запросов, потому лишь дам Вам подсказки

procedure frmScore_Button8_OnClick (Sender: TObject; var Cancel: boolean);
begin
   //SQLExecute('INSERT INTO база_данных(поле_1, поле_2)VALUES(значение_1,значение_2)'); // укажите свои значения для записи информации в БД
// этот запрос обращается сразу к таблице
   frmScore.TableGrid1.dbSQL:='SELECT Specification.id_Nomenkl, specification.number, specification.price, specification.NDS, score.id '
   +'FROM specification JOIN Dogovor ON Specification.id_Dogovor=dogovor.id JOIN Score ON Score.id_Dogovor=Score.id WHERE Score.id_Dogovor='+frmScore.dogovor.sqlValue+' AND Specification.name='+frmScore.spec.sqlValue;
   frmScore.TableGrid1.dbSQLExecute;
end;

 
подробнее http://myvisualdatabase.com/doc_ru/prop … tring.html

INSERT INTO - это создать запись
Вам нужно получить, значит нужно использовать SELECT
так же не понятна связь с таблицами Dogovor и  Score - так как их изначально в запросе нет..

для такой операции используйте действие Saql Запрос  в свойствах кнопки

справка http://myvisualdatabase.com/doc_ru/butt … query.html
 
Ваш запрос будет выглядеть примерно  так

SELECT 
Specification.id_Nomenkl, 
specification.number, 
specification.price, 
specification.NDS, score.id 
FROM                            
specification 
JOIN               
Dogovor ON Specification.id_Dogovor=dogovor.id,  
Score ON Score.id_Dogovor=Score.id 
WHERE 
Score.id_Dogovor={dogovor} AND Specification.name={spec}  

15

(0 replies, posted in Russian)

можно-ли подключать к разным формам свой файл forms.xml?

16

(1 replies, posted in Russian)

решил

newQwuestion:= InputBox(Language.ReadString('lenguage','bEditQuestion','Редактировать имя вопроса'),Language.ReadString('lenguage','newNamequest','Новое имя вопроса'),SQLExecute('SELECT nameQuestion FROM question WHERE id='+frmQuestionList.tgQuestionList.sqlValue));

17

(1 replies, posted in Russian)

InputQuery  имеет следующие параметры  (заголовок, имя поля, переменная текстового поля)

как мне поместить в текстовое поле значение по умолчанию?

glkonst79 wrote:

Добрый вечер!
Помогите со следующей проблемой, написан запрос который работает в SQLlitestudio, но при переносе данного запроса в процедуру запрос не выполняется а дает сообщения о ненахождении ключа условия.

INSERT INTO Ast (id_Nomenkl, number, price, NDS, id_score)
SELECT Specification.id_Nomenkl, specification.number, specification.price, specification.NDS, score.id
FROM specification
JOIN Dogovor ON Specification.id_Dogovor=dogovor.id
JOIN Score ON Score.id_Dogovor=Score.id
WHERE id_Dogovor='+frmScore.dogovor.sqlValue+' AND name='+frmScore.spec.sqlValue

Сообщение об ошибке:
ambuguous column name: id_Dogovor

это значит, что у Вас есть несколько таблиц с такими полями
нужно указать точное имя
Score.id_Dogovo

19

(2 replies, posted in Russian)

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
  if (Form1.ComboBox1.ItemIndex=-1)then ShowMessage('Значение не выбранно');
  if (Form1.ComboBox1.ItemIndex=0)then ShowMessage('ДА');
  if (Form1.ComboBox1.ItemIndex=1)then ShowMessage('НЕТ');
end;

procedure Form1_ComboBox1_OnChange (Sender: TObject);
begin
  if (Form1.ComboBox1.ItemIndex=-1)then Form1.Button1.Caption:=' ';
  if (Form1.ComboBox1.ItemIndex=0)then Form1.Button1.Caption:='ДА';
  if (Form1.ComboBox1.ItemIndex=1)then Form1.Button1.Caption:='НЕТ';
end;

procedure Form1_OnShow (Sender: TObject; Action: string);
begin
  Form1.ComboBox1.Items.Add('Сообщение ДА!');
  Form1.ComboBox1.Items.Add('Сообщение НЕТ!');                                               
end;

20

(2 replies, posted in General)

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=7379&amp;download=0

21

(10 replies, posted in Script)

kofa wrote:

hello sibprogsistem

How can I exclude TextBox1

в  этом примере я исключил edit2

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
i,s,r: Integer;
str:Boolean;
begin
  for i:=0 to Form1.ComponentCount-1 do begin
      if (Form1.Components[i] is TdbEdit) AND ((TdbEdit(Form1.Components[i]).Name<>'Edit2')) then begin
          repeat
          str:=False;
          r:=random(100);
              for s:=0 to Form1.ComponentCount-1 do begin
                 if (Form1.Components[s] is TdbEdit) then
                         if (TdbEdit(Form1.Components[s]).Value=r) then str:=True;
               end;
           if (str=False) then TdbEdit(Form1.Components[i]).Value:=r;
          until str=False;
      end;
   end;
end;

22

(10 replies, posted in Script)

kofa wrote:

hello sibprogsistem

thank you very much

when i press the button first time i found empty textboxes

can you check it again

thanks for help

я поменял
until str=True;
на
until str=False;
и все поля заполняются

23

(10 replies, posted in Script)

kofa wrote:

hello sibprogsistem

thank you very much

i tired to  apply this code to my file

can you please solve my file

thanks for help

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
i,s,r: Integer;
str:Boolean;
begin
  for i:=0 to Form1.ComponentCount-1 do begin
      if (Form1.Components[i] is TdbEdit) then begin
          repeat
          str:=False;
          r:=random(100);
              for s:=0 to Form1.ComponentCount-1 do begin
                 if (Form1.Components[s] is TdbEdit) then
                         if (TdbEdit(Form1.Components[s]).Value=r) then str:=True;
               end;
           if (str=False) then TdbEdit(Form1.Components[i]).Value:=r;
          until str=False;
      end;
   end;
end;

24

(10 replies, posted in Script)

kofa wrote:

hello all

how can i create random numbers without repetition

thanks for help

procedure Form1_Button2_OnClick (Sender: TObject; var Cancel: boolean);
var
i,s,int: integer;
begin
  s:=1;
  while s<>0 do
  begin
    for i := 1 to 5 do
    begin
     int := 1 + Random(100);
    end;
    s:=SQLExecute('SELECT IFNULL(id,0) FROM randomInteger WHERE intege='+IntToStr(int));
  end;
  if (s=0) then begin
       SQLExecute('INSERT INTO randomInteger (intege)VALUES("'+IntToStr(int)+'")');
       UpdateDataBase('randomInteger');
       Form1.TableGrid2.dbUpdate;
  end;
end;

https://kiev.informator.ua/wp-content/uploads/2020/12/maxresdefault.jpg