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


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


если сами не справитесь, можете отправить свой проект на support@drive-software.com, помогу.

8,777

(237 replies, posted in Russian)

alex842
Пришлите пожалуйста ваш проект, посмотрю в чем дело
support@drive-software.com

8,778

(237 replies, posted in Russian)

alex842
Данный компонент с относительными путями работает, если задать свойство CopyTo
http://myvisualdatabase.com/help_ru/com … opyto.html


может быть не совсем то, но ведь сперва придется скопировать файл в папку с программой, а затем выбрать его через компонент DBFile, как раз свойство CopyTo и создавалось, чтобы этот процесс автоматизировать.

8,779

(4 replies, posted in Russian)

Отправил вам на емейл проект.

Кнопки у компонента скрыл

     frmViewNAF.DBFile1.RightButton.Visible := False;
     frmViewNAF.DBFile1.LeftButton.Visible := False;

рядом с компонентов расположил кнопку для открытия файла

procedure frmViewNAF_Button2_OnClick (Sender: string; var Cancel: boolean);
begin
     OpenFile(ExtractFileDir(Application.ExeName) + frmViewNAF.DBFile1.dbFileName);
end;

8,780

(2 replies, posted in Russian)

Чучкин Евгений
Спасибо )


если будут трудности, пишите, помогу )

8,781

(7 replies, posted in General)

Check out

8,782

(4 replies, posted in Russian)

3. Не совсем понял на счет формы ГостьПросмотр, это форма тоже для поиска? где присутствует таблица с результатами поиска? тогда можно сделать кнопку со скриптом, которая на основе выделенной записи в TableGrid (Form.TablrGrid.dbItemID) может сделать SQL запрос (через SQLExecute), чтобы узнать имя файла (имя файла хранится в поле "название поля_filename"), после чего воспользоваться функцией OpenFile для открытия файла.


Можете прислать свой проект на support@drive-software.com
постараюсь помочь.

8,783

(2 replies, posted in Russian)

Их можно экранировать

select
[group].name
from [group]

8,784

(7 replies, posted in General)

Yes,

I made script for button save:

procedure frmStudent_Button13_OnClick (Sender: string; var Cancel: boolean);
begin
     frmStudent.bSave.dbGeneralTableId := -1;
     frmStudent.bSave.Click;
end;

but make duplicate only about student,  not about Test, Debt and Exam


Here you can download ready example:

8,785

(3 replies, posted in Russian)

Чучкин Евгений
SQL запрос это прежде всего просто текст, поэтому мы подготовили дату для SQL запроса в текстовом формате )

8,786

(22 replies, posted in General)

Sorry for inconvenience, in current moment there is only online, translated by google manual
http://myvisualdatabase.com/forum/viewtopic.php?id=395


but I'll be happy to answer all your questions )

8,787

(237 replies, posted in Russian)

kunar80 wrote:

Спасибо! Но хотелось бы не накопления файлов, а их замещения. Т.е. в течение дня файл замещается на более новый и в итоге сохраняется в папке последний файл дня. При смене даты создаётся новый файл.

тогда, эту строку

CopyFile('sqlite.db', 'backup/backup '+ FormatDateTime('dd-mm-yyyy hh-nn-ss', now)+'.db');

можно заменить на

CopyFile('sqlite.db', 'backup/backup '+ FormatDateTime('dd-mm-yyyy', now)+'.db');

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

8,788

(21 replies, posted in Russian)

mitrich45
контроль лицензий в бета версии отключен, это окно можно игнорировать.

8,789

(3 replies, posted in Russian)

Но здесь нет условий.
Попробуйте так

procedure test_TableGrid2_OnCellClick(Sender: string; ACol, ARow: Integer);
var
   f:string;
   sDate: string;
begin
    test.DateTimePicker1.datetime:=now; // это строка не обязательна

    sDate := '"'+ FormatDateTime('yyyy-MM-DD 00:00:00.000', now) + '"';
    f:= SQLExecute('SELECT count(id) FROM stat WHERE (id_klient=' + IntToStr(test.TableGrid2.dbItemID) + ') and (date='+ sDate +');');
    test.Label1.Caption:= f;
end;

была путаница с кавычками в запросе, и формат даты для ее поиска через SQL запрос, был неверный
и test.Label1.Caption:=(f); тут скобки не нужны


если не получится, пришлите пожалуйста проект на support@drive-software.com

8,790

(21 replies, posted in Russian)

mitrich45
данная бета версия 1.46 абсолютно бесплатная )

8,791

(6 replies, posted in Russian)

mitrich45
начиная с версии 1.46 программа стала платной

Чуть позже я планирую сделать FAQ с категориями )
возможно примеры из данной темы пригодятся для этого.

8,793

(41 replies, posted in Russian)

Виктор


Спасибо за отзыв smile

8,794

(41 replies, posted in Russian)

savage
Нет, бета версия 1.46 бесплатная )

8,795

(2 replies, posted in Russian)

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


Можно, скачайте пожалуйста пример проекта, для демонстрации, нажмите кнопку "Print selected record"

8,796

(41 replies, posted in Russian)

atempbox

Из основных нововведений планируется:

- Визуальное представление структуры базы данных
- Встроенный экспорт/импорт
- Поддержка шифрование базы данных
- Решение проблемы, с необходимостью пересоздавать базу данных при изменении ее структуры
- Поддержка клиент-серверной работы программы (используя FireBird)
- Android, iOS (но это не скоро)

Dogon
Версия 1.46 имеет испытательный период 60 дней, по истечении которого, функционал программы будет заблокирован и дальнейшее использование программы требует приобретение лицензии.


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

8,798

(13 replies, posted in General)

alsu
Please, send me your project to support@drive-software.com
with link on this topic, I'll try to help you.

8,799

(9 replies, posted in Script)

ramonjrtan
Yes, you should create event "OnClick" of button with action "Save Record", where you can make check.

procedure Form2_Button1_OnClick (Sender: string; var Cancel: boolean);
 begin
    if frmEmployee.edLastName.Text='' then
    begin
       ShowMessage('Enter Last Name.');
       Cancel := True;
       Exit;
    end;


 end;

If you are experiencing difficulties, please, send me your project to support@drive-software.com
I'll try to help you.

kunar80

для этого есть функция OpenFile, она универсальна, может открыть как файл так и папку

OpenFile('c:\Films');