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


пример, как контролировать количество цифр в поле ИНН
необходимо создать событие OnClick для кнопки с действием "Сохранить запись"

procedure frmAbonent_Button6_OnClick (Sender: string; var Cancel: boolean);
begin
    if Length(frmAbonent.edINN.Text)<>10 then
    begin
        ShowMessage('Поле ИНН должен содержать 10 чисел');
        Cancel := True;
    end;
end;

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

procedure frmAbonent_Button6_OnClick (Sender: string; var Cancel: boolean);
begin
    if frmAbonent.edFirstName.Text='' then
    begin
        ShowMessage('Обязательное поле не заполнено.');
        Cancel := True;
    end;
end;

Пожалуйста, зайдите в настройки таблицы и установите галочку "Автовыполнение запроса" в самом низу.

6,928

(35 replies, posted in Russian)

Тогда так

procedure Form1_ComboBox1_OnKeyPress (Sender: string; var Key: Char);
begin
    if Key='1' then Form1.cbGroups.ItemIndex := Form1.cbGroups.Items.IndexOf('A');
    if Key='2' then Form1.cbGroups.ItemIndex := Form1.cbGroups.Items.IndexOf('B');
end;

Приложите пожалуйста ваш проект к сообщению (zip файл без exe и dll)

6,930

(2 replies, posted in Script)

try this:

procedure Form1_Edit1_OnChange (Sender: string);
begin
   form1.DateTimePicker3.date := (form1.datetimepicker2.date - form1.Edit1.Value);
   form1.Label6.Caption := DateToStr(form1.DateTimePicker3.date);
end;

К сожалению в версии 1.46 работать не будет, только в последней бета версии
https://www.dropbox.com/s/s1roiqthyx7hx … 2.zip?dl=0


для кнопки Поиск необходимо создать два события OnClick и OnAfterClick

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Screen.Cursor := crSQLWait;
end;

procedure Form1_Button1_OnAfterClick (Sender: string);
begin
    Screen.Cursor := crDefault;
end;

6,932

(6 replies, posted in Russian)

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

6,933

(9 replies, posted in General)

Actually you can use TreeView in the current version, but it's not easy, example:
http://myvisualdatabase.com/forum/misc. … download=1

6,934

(35 replies, posted in Russian)

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.ComboBox1.ItemIndex := Form1.ComboBox1.Items.IndexOf('А');
end;

procedure Form1_Button2_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.ComboBox1.ItemIndex := Form1.ComboBox1.Items.IndexOf('Б');
end;

6,935

(13 replies, posted in Russian)

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   reg: TRegistry;
begin
     reg := TRegistry.Create;
     reg.Access := KEY_ALL_ACCESS;
     reg.RootKey := HKEY_CURRENT_USER;
     reg.OpenKey('software\KEY',true);

     reg.DeleteValue('VALUE');

     reg.CloseKey;
     reg.Free;
end;

6,936

(3 replies, posted in General)

jean.brezhonek
Please, send me your project to support@drive-software.com
I'll check it.


Thanks.

pha1984
You can get free license,  If you teach other people in class.

6,938

(2 replies, posted in Reports)

You can do it, only using separate "Text object" for this field with style Bold.

6,939

(6 replies, posted in Russian)

Это можно сделать с помощью двух кнопок с действием "Поиск" и небольшого скрипта, пожалуйте приложите ваш проект (zip файл без exe и dll)

6,940

(2 replies, posted in Russian)

В новых версиях проекта изменена кодировка файлов tables.ini и settings.ini на UTF-8, чтобы проект от новой версии можно было открыть в старой версии, откройте данные файлы например в программе notepad++ и изменить их кодировку на ANSI (Кодировки > преобразовать в ANSI)


также откройте файл проекта (*.vdb) и измените

[info]
version=4

на

[info]
version=2

6,941

(22 replies, posted in Russian)

yevgeny2003 wrote:

беда...в 1.46 не фурычит)

Переделал.

6,942

(9 replies, posted in General)

In the current version is not supported.

6,943

(2 replies, posted in General)

Hello,


Please use for that utility SQLite Studio, open database file (sqlite.db) then menu: Database > vacuum


But it does not necessarily, empty spaces in database will be used for new records.

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

6,945

(22 replies, posted in Russian)

yevgeny2003 wrote:

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

Если так, то можно, приложил исправленный проект:

6,946

(13 replies, posted in Russian)

Form1.Label.Caption := SQLExecute('SELECT textfield FROM tablename WHERE id=5');

id=5 написал для примера.

prahousefamily
Please, contact with me by email: support@drive-software.com
Let me know name of hospital.

6,948

(1 replies, posted in Russian)

Здравствуйте,


Сделал для вас проект с примером:

6,949

(22 replies, posted in Russian)

yevgeny2003
попробуйте для поиска использовать данный SQL запрос, он решит проблему сортировки, но как вставить пустные строки "Нет данных" к сожалению не знаю

SELECT
base1.nomer1
,base1.nomer2
,base1.napravlenie
,base1.fam
,base1.name
,base1.otch
,base1.dr
,base1.gorod
,base1.adres
FROM base1 WHERE (CASE WHEN '{edFam1}'<>'' then '{edFam1}' LIKE base1.fam else 1=0 end)


UNION ALL


SELECT
base1.nomer1
,base1.nomer2
,base1.napravlenie
,base1.fam
,base1.name
,base1.otch
,base1.dr
,base1.gorod
,base1.adres

FROM base1 WHERE (CASE WHEN '{edFam2}'<>'' then '{edFam2}' LIKE base1.fam else 1=0 end)


UNION ALL


SELECT
base1.nomer1
,base1.nomer2
,base1.napravlenie
,base1.fam
,base1.name
,base1.otch
,base1.dr
,base1.gorod
,base1.adres

FROM base1 WHERE (CASE WHEN '{edFam3}'<>'' then '{edFam3}' LIKE base1.fam else 1=0 end)


UNION ALL


SELECT
base1.nomer1
,base1.nomer2
,base1.napravlenie
,base1.fam
,base1.name
,base1.otch
,base1.dr
,base1.gorod
,base1.adres

FROM base1 WHERE (CASE WHEN '{edFam4}'<>'' then '{edFam4}' LIKE base1.fam else 1=0 end)


UNION ALL


SELECT
base1.nomer1
,base1.nomer2
,base1.napravlenie
,base1.fam
,base1.name
,base1.otch
,base1.dr
,base1.gorod
,base1.adres

FROM base1 WHERE (CASE WHEN '{edFam5}'<>'' then '{edFam5}' LIKE base1.fam else 1=0 end)

6,950

(13 replies, posted in Russian)

zoomix
Можно,вы можете воспользоваться командой SQLExecute для получения текста любого поля в БД, затем присвоить его в Label.Caption