1,426

(7 replies, posted in Russian)

все ))) нашел проблему - запись счетчика нарушил....  резервные копии рулят )))

1,427

(5 replies, posted in Russian)

опишу скрипт так:
 
Вам нужно SELECT  (взять значение поля) FROM (из таблицы) LEFT OUTER JOIN (объединенной с таблицой)  ON (по условию "b.id=a.id_b") WHERE  (где) b.id = ( идентификатор записи равен чему-либо)
 
если я Вас правельно понял то должно быть примерно так
   

SELECT aaa FROM second_table LEFT OUTER JOIN dictionary_table ON second_table.id_dictionary_table = dictionary_table.id WHERE dictionary_table.id=?

1,428

(22 replies, posted in General)

procedure report (sender: string);
var
    frxDBDataset1: TfrxDBDataset;
    image: TDataSet;

begin

    SQLQuery('SELECT column AS "image" FROM dbName WHERE id='+form1.tablegrid1.sqlValue , image);

    frxDBDataset1 := TfrxDBDataset.Create(frmLogin);
    frxDBDataset1.UserName        := 'dbimage';
    frxDBDataset1.CloseDataSource := True;
    frxDBDataset1.OpenDataSource  := True;
    frxDBDataset1.DataSet         := image;

    frmLogin.frxReport.Clear;
    frmLogin.frxReport.DataSets.Clear;
    frmLogin.frxReport.DataSets.Add(frxDBDataset1);

    frxDBDataset1.DataSet.Close;

            frmLogin.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'report\image.fr3');
            frmLogin.frxReport.ShowReport;


       frxDBDataset1.Free;



end;

1,429

(7 replies, posted in Russian)

вот так все работает

procedure Form1_Button3_OnClick (Sender: TObject; var Cancel: boolean);
var
s: string = BoolToStr(form1.CheckBox3.Checked);
begin
  SQLEXecute('INSERT INTO c (c) VALUES ("'+s+'")');
end

но только в отдельном проекте
если применяю у себя то получаю ошибку
при этом в таблице записи создаются

Дмитрий помогите

 procedure frmReceivinOgEquipment_bOkCompany_OnClick (Sender: TObject; var Cancel: boolean);

 var tTypeKC : string = IntToStr(frmReceivinOgEquipment.cbTCK.DbItemID);
     tNameCompany : string = IntToStr(frmReceivinOgEquipment.cbNameCompany.DbItemID);
     tNameTypeOfEquipment : string = IntToStr(frmReceivinOgEquipment.cbNameTypeOfEquipment.DbItemID);
     tNameManufacturer : string = IntToStr(frmReceivinOgEquipment.cbNameManufacturer.DbItemID);
     tDate : string = FormatDateTime('yyyy-mm-dd',frmReceivinOgEquipment.dtDateInServise.DateTime);
     tCompanyOrApp : string = IntToStr(frmReceivinOgEquipment.cbnameclCompanyOrApp.DbItemID);
     tStatusName : string = IntToStr(frmReceivinOgEquipment.cbStatusName.DbItemID);
     tCount : string = frmNewApplication.RecordCount.Text;
     sOnlyDiagnostic: string = BoolToStr(frmReceivinOgEquipment.cbOnlyDiagnostic.Checked);
     sWarranty: string = BoolToStr(frmReceivinOgEquipment.cbWarranty.Checked);
     begin
      //проверка на заполнение полей
      if (tTypeKC='-1') then ShowHint(frmReceivinOgEquipment.cbTCK, 'данное поле обязательное для заполнения ')else
      if (tDate='-1') then ShowHint(frmReceivinOgEquipment.dtDateInServise, 'данное поле обязательное для заполнения ')else
      if (tNameCompany='-1') then ShowHint(frmReceivinOgEquipment.cbNameCompany, 'данное поле обязательное для заполнения ')else
      if (tNameTypeOfEquipment='-1') then ShowHint(frmReceivinOgEquipment.cbNameTypeOfEquipment, 'данное поле обязательное для заполнения ')else
      if (tNameManufacturer='-1') then ShowHint(frmReceivinOgEquipment.cbNameManufacturer, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.eModel.Text='') then ShowHint(frmReceivinOgEquipment.eModel, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.eSerialNamber.Text='') then ShowHint(frmReceivinOgEquipment.eSerialNamber, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.eEquipment.Text='') then ShowHint(frmReceivinOgEquipment.eEquipment, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.mDescriptionATCsWords.Text='') then ShowHint(frmReceivinOgEquipment.mDescriptionATCsWords, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.mExternalStatus.Text='') then ShowHint(frmReceivinOgEquipment.mExternalStatus, 'данное поле обязательное для заполнения ')else
    begin
      // запись в таблицы базы данных
      SQLExecute('INSERT INTO servise (dateInServise, id_status, id_Company, id_TypeOfEquipment, id_manufacturer, model, serialNamber, equipment, externalStatus, descriptionATCsWords, id_clCompanyOrApp, record_count, Warranty, OnlyDiiagnostics) VALUES ("'+tDate+'", "'+tStatusName+'", "'+tNameCompany+'", "'+ tNameTypeOfEquipment + '", "'+tNameManufacturer+'", "'+frmReceivinOgEquipment.eModel.Text+'", "'+frmReceivinOgEquipment.eSerialNamber.Text+ '", "'+frmReceivinOgEquipment.eEquipment.Text+ '", "'+ frmReceivinOgEquipment.mDescriptionATCsWords.Text+ '", "'+ frmReceivinOgEquipment.mExternalStatus.Text+ '", "'+tCompanyOrApp+'", "'+tCount+'", "'+sWarranty+'", "'+sOnlyDiagnostic+'")');
      // обновление таблицы данных главной формы
      frmServiceCen.tgList.dbUpdate;
      frmReceivinOgEquipment.RecordCount.Text := IntToStr(GetNewRecordCount('servise'));
      //закрытие формы
      frmReceivinOgEquipment.Close;
  end;
end;

в чем причина?

после я поставьте пробел..  эта тема уже поднималась

1,431

(22 replies, posted in General)

blackpearl8534 wrote:

can anyone help??

https://downloader.disk.yandex.ru/preview/29f17502ab6b2e3b1c504f4cf0f7400c8c3831ed3cee60fc3ea4fe70d3b0ee84/5c20e278/VcxU0P_nauZ4EcQJ8f84IFsHJxWCK5BnW9tBLLrBL4IUwTjjZpVyOSj8stAD5lWYFU22ilrUXEveny-dHbni1w%3D%3D?uid=0&filename=234233.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=2048x2048

возможн-ли в компоненте  DBImage сделать отключение для каждой кнопки отдельно?

https://downloader.disk.yandex.ru/preview/958e187e54381b2ed4e39e270791de10e559a6568aff8627a938ee0d68228d67/5c201a63/kOa8RABzsH3eXyZkX2tFb5EhSIgrR3jGdwqIipeVhFKid7azhgdtt9tfScCycIGinm4UqgohYZomvBXi3WrD_A%3D%3D?uid=0&filename=ugijhpok.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=2048x2048

данные для записи нового пациента нужно брать из других таблиц.
SUBFORM2_OPD_REGISTRATION table contains patient data

tables

1,436

(7 replies, posted in Russian)

k245 wrote:

У вас какая СУБД? В SQLite  для хранения логического значения используется поле Integer

integer не принимает хоть с ковычками хоть без
https://downloader.disk.yandex.ru/preview/846dbe58e185ae2c3f48064aea87d44bc568ad1dc0fc936b970760d4a1c7679b/5c2006a1/lgoWOqOxPKvu-jrwKdf-ipmI8mQQ7KwQiAaN6cy3uqUyibIADnEEN7BR446bc1RYfwDOzBN5UBaPpDZ5aef85Q%3D%3D?uid=0&filename=intgerno.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=2048x2048
 
string принимает и даже записывает в базу, но тут же выдает ошибку
 
https://3.downloader.disk.yandex.ru/preview/dd11d50e6c34f0acc97ba05539d41132bf23d10f0ff6f62d6c256c72801c4aaa/inf/QgoGVNytx9bepU7FCcD6wZrvpvo8TOa1Os0mQbmx2j5VT1VWDlOIgTLcq6EEr43DbXVwkImrQy-TovTym5USJQ%3D%3D?uid=118806873&filename=www.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=1316x606

1,437

(7 replies, posted in Russian)

k245 wrote:

Запись значения чекбокса в таблицу <таблица> в поле <поле>

SQLExecute( 'update <таблица> set <поле> = '+ Form1.CheckBox1.sqlValue +' where <условие>' );

<Условие> должно однозначно идентифицировать запись, лучше всего использовать ID, например:

SQLExecute( 'update contractor set customer = '+ Form1.CheckBox1.sqlValue +' where id = '+inttostr(Form1.TableGrid.dbItemId) );

нет все равно ошибка

я уже разные способы опробывал и в string и integer переводил
https://downloader.disk.yandex.ru/preview/2b742e870c16e49ed6e952296d17552d1c35357f17299d19fc3d5c769594ad17/5c1ffabc/F_PFGl-iNnOYFqu-31zMdblcA0bXEVFv552foVldlj97f27NnxaRbNPENqJAo7tdfnWPar9Avp6MVoifJpFG1A%3D%3D?uid=0&amp;filename=gfdfhjh.jpg&amp;disposition=inline&amp;hash=&amp;limit=0&amp;content_type=image%2Fjpeg&amp;tknv=v2&amp;size=2048x2048

 procedure frmReceivinOgEquipment_bOkCompany_OnClick (Sender: TObject; var Cancel: boolean);

 var tTypeKC : string = IntToStr(frmReceivinOgEquipment.cbTCK.DbItemID);
     tNameCompany : string = IntToStr(frmReceivinOgEquipment.cbNameCompany.DbItemID);
     tNameTypeOfEquipment : string = IntToStr(frmReceivinOgEquipment.cbNameTypeOfEquipment.DbItemID);
     tNameManufacturer : string = IntToStr(frmReceivinOgEquipment.cbNameManufacturer.DbItemID);
     tDate : string = FormatDateTime('yyyy-mm-dd',frmReceivinOgEquipment.dtDateInServise.DateTime);
     tCompanyOrApp : string = IntToStr(frmReceivinOgEquipment.cbnameclCompanyOrApp.DbItemID);
     tStatusName : string = IntToStr(frmReceivinOgEquipment.cbStatusName.DbItemID);
     tCount : string = frmNewApplication.RecordCount.Text;
     //sOnlyDiagnostic: string = BoolString('frmReceivinOgEquipment.cbOnlyDiagnostic.Checked');
     //sWarranty: string = BoolString('frmReceivinOgEquipment.cbWarranty.Checked');
     //sOnlyDiagnostic, sWarranty:string;
     //sOnlyDiagnostic, sWarranty:integer;
     begin
      //if frmReceivinOgEquipment.cbOnlyDiagnostic.Checked then sOnlyDiagnostic:='1' else sOnlyDiagnostic:='0';
      //if frmReceivinOgEquipment.cbWarranty.Checked then sWarranty:='1' else sWarranty:='0';
      //проверка на заполнение полей
      if (tTypeKC='-1') then ShowHint(frmReceivinOgEquipment.cbTCK, 'данное поле обязательное для заполнения ')else
      if (tDate='-1') then ShowHint(frmReceivinOgEquipment.dtDateInServise, 'данное поле обязательное для заполнения ')else
      if (tNameCompany='-1') then ShowHint(frmReceivinOgEquipment.cbNameCompany, 'данное поле обязательное для заполнения ')else
      if (tNameTypeOfEquipment='-1') then ShowHint(frmReceivinOgEquipment.cbNameTypeOfEquipment, 'данное поле обязательное для заполнения ')else
      if (tNameManufacturer='-1') then ShowHint(frmReceivinOgEquipment.cbNameManufacturer, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.eModel.Text='') then ShowHint(frmReceivinOgEquipment.eModel, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.eSerialNamber.Text='') then ShowHint(frmReceivinOgEquipment.eSerialNamber, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.eEquipment.Text='') then ShowHint(frmReceivinOgEquipment.eEquipment, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.mDescriptionATCsWords.Text='') then ShowHint(frmReceivinOgEquipment.mDescriptionATCsWords, 'данное поле обязательное для заполнения ')else
      if (frmReceivinOgEquipment.mExternalStatus.Text='') then ShowHint(frmReceivinOgEquipment.mExternalStatus, 'данное поле обязательное для заполнения ')else
    begin
      // запись в таблицы базы данных
      SQLExecute('INSERT INTO servise (Warranty, OnlyDiiagnostics, dateInServise, id_status, id_Company, id_TypeOfEquipment, id_manufacturer, model, serialNamber, equipment, externalStatus, descriptionATCsWords, id_clCompanyOrApp, record_count) VALUES ("'+frmReceivinOgEquipment.cbWarranty.sqlValue+'", "'+frmReceivinOgEquipment.cbOnlyDiagnostic.sqlValue+'", "'+tDate+'", "'+tStatusName+'", "'+tNameCompany+'", "'+ tNameTypeOfEquipment + '", "'+tNameManufacturer+'", "'+frmReceivinOgEquipment.eModel.Text+'", "'+frmReceivinOgEquipment.eSerialNamber.Text+ '", "'+frmReceivinOgEquipment.eEquipment.Text+ '", "'+ frmReceivinOgEquipment.mDescriptionATCsWords.Text+ '", "'+ frmReceivinOgEquipment.mExternalStatus.Text+ '", "'+tCompanyOrApp+'", "'+tCount+'")');
      // обновление таблицы данных главной формы
      frmServiceCen.tgList.dbUpdate;
      frmReceivinOgEquipment.RecordCount.Text := IntToStr(GetNewRecordCount('servise'));
      //закрытие формы
      frmReceivinOgEquipment.Close;
  end;
end;

1,438

(7 replies, posted in Russian)

vovka3003 wrote:
procedure Form1_CheckBox1_OnClick (Sender: TObject);
begin
  if Form1.CheckBox1.sqlValue = '1' then
  Form1.Edit1.Text := 'Да' else
  Form1.Edit1.Text := 'Нет'
end;

begin
  Form1_CheckBox1_OnClick(nil);
end.

не то, не так спрасил:
мне нужно записать значение чекбокса в базу данных (поле ДА\НЕТ) скриптом

1,439

(1 replies, posted in Russian)

))))))  а я и не заметил

1,440

(7 replies, posted in Russian)

Как правельно записать скриптом значение чекбокса в поле ДА\НЕТ?

1,441

(1 replies, posted in Russian)

сегодня делал пример для пользователя форума и наткнулся на баг:
на одной форме две кнопки дабавить запись при клике на  кнопку  (varsion 2)  сохранить  срабатывает и другая кнопка

https://downloader.disk.yandex.ru/preview/24f82b2e4b939663cd6f72194314b4e8ac1233bc7942927c806613fe875cc529/5c1fc4ba/DcVhyB0q3A0zL81IQM_NJR-V81IM-WIMO5VJtXgFy4dRJ8BC0T-067MOYwLuVX6IwBg49ugDby7d7Pk5DgTzMQ%3D%3D?uid=0&amp;filename=gbdg.png&amp;disposition=inline&amp;hash=&amp;limit=0&amp;content_type=image%2Fpng&amp;tknv=v2&amp;size=2048x2048

eyeman303 wrote:

In the FORM3_OPD_VISIT_RECORD I created a field called Name which is to be formed by the combination of First Name, Middle Name and Last Name registered in FORM2_OPD_REGISTRATION. How can it be done?

1,443

(1 replies, posted in Russian)

помещаю в переменную имя формы если сделать frmS.show - форма открывается, а если frmS.eDolg.text- то ошибка

var
frmS: TForm;

procedure frmAppl_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
  frmS:=frmAppl;
end;

procedure frmAppl_button2_OnClick (Sender: TObject; var Cancel: boolean);
begin
frmS.eDolg.text
end;

1,444

(6 replies, posted in Russian)

спасибо погоняю немного, посмотрю

1,445

(6 replies, posted in Russian)

DriveSoft wrote:

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

Выподающее меню - отчеты

то показывает то не показывает список файлов из папки report... не могу понять почему
https://downloader.disk.yandex.ru/preview/845346adc18ac902c94a76bb935a0f955de079f4790f7be013979968b50c831c/5c1d1762/l4Fntz5LxT7kZ5w5Jfrwn4AfZxigf4ECr14Ph8MQ5FD37KzIbOwOQoyKAadGB8Cd0gV9BGioEc40xH8Ci_ekuA%3D%3D?uid=0&amp;filename=2222.png&amp;disposition=inline&amp;hash=&amp;limit=0&amp;content_type=image%2Fpng&amp;tknv=v2&amp;size=2048x2048

1,446

(7 replies, posted in Russian)

не могу разобраться в связях ваших таблиц, чго-то голова сегодня не варит..
но насколько я понял ваш вопрос , то эти таблицы должны быть связаны тогда скрипт должен выглядить  примерно так

procedure Frm_ob_ComboBox1_OnChange (Sender: TObject);
begin
    Frm_ob.ComboBox7.dbItemID:= SQLExecute( SELECT имя поля FROM имя таблицы LEFT OUTER JOIN  имя таблицы ON тиблица.id= таблица.id_поле WHERE таблица.id=' + Frm_ob.ComboBox1.value);
 end;

взять значение поля из двух таблиц  объедененых по условию где id поля равен id Frm_ob.ComboBox1

1,447

(1 replies, posted in Russian)

vovka3003 wrote:

Доступа нет... 2 варианта вижу:
1). Закрыть 2 кнопки костылями.
2). Скрыть полностью, создать свою кнопку.

3-й (закрыть бутылкой пива) не стал озвучивать smile

точно, закрыть! Спасибо

1,448

(1 replies, posted in Russian)

знаю что можно скрыть все три кнопки, но как скрыть только две?

https://downloader.disk.yandex.ru/preview/e60916564ecad3689a42cc2dd1b00e921b89431f9a84f25e69fadb9a2ae783f3/5c1bf8dc/AXW_SCLqcY4xJvIM8NMxzTLt_yMXGG954yNgCG7ruqzedWcL3etp8I_e9hfsg0yq2Zo9RcqhFerN6m5WqEeQ0A%3D%3D?uid=0&amp;filename=111111.jpg&amp;disposition=inline&amp;hash=&amp;limit=0&amp;content_type=image%2Fjpeg&amp;tknv=v2&amp;size=2048x2048

1,449

(6 replies, posted in Russian)

ну вот и возникла у меня опять проблема
в выподающем списке переодически не  выводится список файлов из папки отчета
подразумеваю, что в этом виновата процедура формирования отчета 
 
Выпадающее меню строчки 1577 - 1765
  в нем выподающий список файлов отчета 1714 - 1756
Формирование отчета строчки 1935 - 2135

 
вход в программу через кнопку вход

не могу понять по чему то выводит список то нет

1,450

(4 replies, posted in Russian)

IFNULL решает

s:= SQLExecute('SELECT IFNULL (SUM(sumInPrice.inPrice),0) FROM sumInPrice LEFT OUTER JOIN servise ON servise.id=sumInPrice.id_servise WHERE servise.id='+ frmServiceCen.tgList.sqlValue);
    frmAppl.eDolg.Text:='Сумма долга:  '+ IntToStr(SQLExecute('SELECT IFNULL (SUM(listWorkOff.priceWorkOff * listWorkOff.klVoWorkOff), 0)-"'+s+'" FROM listWorkOff LEFT OUTER JOIN servise ON servise.id=listWorkOff.id_servise WHERE servise.id='+ frmServiceCen.tgList.sqlValue));