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

9,552

(1 replies, posted in Script)

In current version not supported but planed.

9,553

(237 replies, posted in Russian)

CrazyWetEr
отправьте мне на support@drive-software.com всю папку с проектом, одного файла .vdb недостаточно.
постараюсь помочь.

Реализовать можно, используя событие OnAfterClick кнопки отвечающую за сохранение и самостоятельно формировать SQL запрос для записи в базу с помощью функции SQLExecute


sPassword := VarToStr( SQLExecute ('SELECT password FROM user WHERE login="' + sUserName2+'"') );
вместо переменной можно подставить текст с компонента TextBox
sPassword := VarToStr( SQLExecute ('SELECT password FROM user WHERE login="' + Edit1.Text+'"') );

9,555

(5 replies, posted in General)

Please, send me your project to support@drive-software.com
i need to know database structure.

9,556

(3 replies, posted in Russian)

в вычисляемом поле просто напишите: название_поля1 + название_поля2


только вы не увидите немедленный результат вычисления например на форме редактирования, только после того как сохраните запись и снова откроете, как правило вычисляемые поля выводятся в компонент TableGrid, если вам необходимо складывать немедленно значения на форме, необходимо воспользоваться скриптом.

9,557

(237 replies, posted in Russian)

CrazyWetEr
это можно реализовать с помощью скрипта, скрипт необходимо разместить на событие OnClick кнопки с действием Сохранить, который проверит наличие данного кода товара перед выполнение действия Сохранения

procedure frmTovar_ButtonSave_OnClick (Sender: string; var Cancel: boolean);
begin

    if frmTovar.dbAction = 'NewRecord' then // если форма с действием Новая запись, то начинаем проверку
    begin
          // делаем SQL запрос, где проверяем наличие данного кода, содержащегося в компоненте edKodTovara 
          if StrToInt(VarToStr(SQLExecute('SELECT count(kodtovara) FROM tovar WHERE kodtovara=' + edKodTovara.Text))) > 0 then
          begin
                ShowMessage('Товар с данным кодом уже есть в базе данных'); // показываем сообщение об ошибке
                Cancel := True; // отменяем действие кнопки Сохранить запись
         end;
    end;

end;

Важно! для правильной работы скрипта, скачайте пожалуйста версию 1.41
https://www.dropbox.com/s/fr76z69sc69l1 … 201.41.zip

9,558

(3 replies, posted in Russian)

Приветствую,

пожалуйста, опишите вопрос подробней, где необходимо сделать вычитание? в вычисляемом поле? в скрипте? в SQL запросе? в отчете?

Hello,

You can't do it, i'll fix it.

Приветствую,

действительно есть такой баг, поправил, скачайте версию 1.41 по этой ссылке, запустите проект с помощью ее для устранения ошибки.
https://www.dropbox.com/s/fr76z69sc69l1 … 201.41.zip


Дайте знать, все ли ок.

5maniac5
Дополнительное поле в базе данных для количества дней должно быть числом,  на форме разместить компонент TextBox куда будете вводить необходимое количество дней, тогда код будет таким

procedure Form1_DateTimePicker1_OnChange (Sender: string);
var
     i: integer;
begin
     // проверяем корректность ввода количества дней
     try
         i := StrToInt(Edit1.Text); // Edit1 - компонент содержит количество дней
     except
         i := 0; // если например в Edit1 ввели текст, то возникла ошибка преобразования в число
     end;

     Form1.DateTimePicker2.Date := Form1.DateTimePicker1.Date + i; // прибавляем i дней
end;


// события изменения данных в Edit1
procedure Form1_Edit1_OnChange (Sender: string);
begin
    Form1_DateTimePicker1_OnChange(''); // вызываем код из события Form1_DateTimePicker1_OnChange чтобы обновить данные
end;

9,562

(14 replies, posted in Script)

skara22


Place button for clear and create event OnClick:

procedure Form1_bClear_OnClick (Sender: string; var Cancel: boolean);
begin
     // clear values in components
     Form1.edLastname.Text := '';
     Form1.edFirstname.Text := '';
     Form1.dtDateOfBirth.Checked := False;

     // make click in button for search
     Form1.bSearch.Click;
end;

Hi, in current version there is no function for check directory exists, but thank you for idea, i'll make it )

glkonst79
Пришлите тоже проект на support@drive-software.com
посмотрю.

Можно с вычисляемым полем, либо воспользоваться скриптом, если необходимо чтобы дата на форме обновилась сразу же.

допустим есть два компонента выбора даты на форме, в первый (DateTimePicker1) вводим начальную дату , а во втором компоненте (DateTimePicker2) будет появляться дата +N дней.


у компонент выбора даты есть событие OnChange, которое срабатывает, когда пользователь выбирает дату

procedure Form1_DateTimePicker1_OnChange (Sender: string);
begin
     Form1.DateTimePicker2.Date := Form1.DateTimePicker1.Date + 5; // прибавляем 5 дней
end;

так же можно сделать поиск по интервалу дат, чтобы отфильтровать записи, у которых подходит срок.
в этом сообщении написано, как это сделать
http://myvisualdatabase.com/forum/viewt … d=207#p207


всплывающее окно при старте так же можно сделать, у компонента TableGrid есть настройки, где можно в пункте 3. указать фильтр записей, примерно такого вида:
(datefield > date('now')) and (datefield < date('now', '+5 days'))
будут показаны записи, у которых дата больше текущей и меньше текущей+5 дней

также в настройках нужно поставить галочку, Автовыполнение запроса

Пришлите проект на support@drive-software.com
постараюсь помочь.

9,567

(237 replies, posted in Russian)

kirikx
в текущей версии такое возможно реализовать только с помощью SQL запроса, где можно проверить поле на пустое значение: WHERE pic = null

9,568

(8 replies, posted in Russian)

Пришлите пожалуйста проект на support@drive-software.com
постараюсь помочь с SQL запросом.

9,569

(2 replies, posted in General)

Hello,

procedure Ordine_grid_prodotto_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
   Ordine.cb_codProdotto.dbItemID := Ordine_grid_prodotto.dbItemID;
end;

Пришлите проект на support@drive-software.com
поправлю шаблон отчета

Это делается в SQL запросе в секции WHERE, например


WHERE

(datefield >= {dtDepFrom}) AND (datefield <= {dtDepTo});


где datefield - поле с датой
dtDepFrom - компонент DateTimePicker с датой От
dtDepTo - компонент DateTimePicker с датой По

9,572

(5 replies, posted in General)

On form frmEditEmpskill set property of cboSkill ParentComboBox= cboOrg


Also i think you can remove ComboBox cboEmp

9,573

(1 replies, posted in General)

You can mix text and fields in property FieldName, example:
Name: {firstname}, phone {phonefield}


Result:
Name: Smith, phone +134643643

9,574

(1 replies, posted in General)

official version 1.40
unofficial 1.41 version become official about 1 week.
at the moment I'm writing documentation in my native language and then translate it into English.

9,575

(3 replies, posted in General)

Hello,


Please, send me your project to support@drive-software.com.


Thanks.