Последняя версия DataExpress 3 beta от 9 октября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

База данных обслуживания техники

Раздел для обсуждения и помощи в процессе разработки баз данных пользователей.
Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Вс авг 05, 2018 12:29 am

Гocть писал(а):Действие кнопки "массовые вычисления".

Больше спасибо!

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Пн авг 06, 2018 11:29 pm

Оказалось не могут одновременно работать локальные и сетевые подключения.

Аватара пользователя
admin
Разработчик
Сообщения: 3832
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: База данных обслуживания техники

Сообщение admin » Вт авг 07, 2018 8:09 am

Это относится к любым приложениям, работающим с базами Firebird.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Вт авг 07, 2018 9:01 am

А по моему это относится почти ко всем клиент серверным СУБД. Файловый режим отдельно (в некоторых типа 1С или Access возможна сетевая работа в файловом режиме), и отдельно режим клиент<>сервер. Комбинированных ещё не встречал. По всем законам жанра любой SQL сервер должен безусловно монопольно блокировать файл базы. Исключение составляют нереляционные и облачные бд.
Фрилансер. Разработка на заказ. Консультирование.

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Ср авг 08, 2018 9:17 am

Спасибо.

Мне нужно чтобы внешняя программа открыла DataExpress от имени определенного пользователя и открыла определенную запись в форме на редактирование. Это возможно, или я фантазирую?

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Ср авг 08, 2018 9:43 am

В принципе возможно, но зачем? Ведь для подобных целей есть есть SQL.
Фрилансер. Разработка на заказ. Консультирование.

Аватара пользователя
rausNT
Знаток
Сообщения: 473
Зарегистрирован: Чт авг 24, 2017 9:23 am

Re: База данных обслуживания техники

Сообщение rausNT » Ср авг 08, 2018 9:51 am

Prepod писал(а):открыла определенную запись в форме на редактирование.


открыла, или внесла изменения и закрыла?

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Ср авг 08, 2018 10:29 am

rausNT писал(а):
Prepod писал(а):открыла определенную запись в форме на редактирование.


открыла, или внесла изменения и закрыла?


нет. Моя программа на python успешно записывает данные в таблицу формы. После окончания записи мне необходимо как-то распечатать шаблон оносящийся к записи формы и её таблице. Так вот я и хочу после окончания записи открывать DataExpress для того чтобы пользователь мог нажать кнопку "Распечатать шаблон".

P.S. Если можно как-то распечатать шаблон формы из вне - был бы только рад.

Аватара пользователя
rausNT
Знаток
Сообщения: 473
Зарегистрирован: Чт авг 24, 2017 9:23 am

Re: База данных обслуживания техники

Сообщение rausNT » Ср авг 08, 2018 10:34 am

может это https://www.autoitscript.com/site/autoit/downloads/ поможет?

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Ср авг 08, 2018 11:05 am

Пример для main с добавлением новой записи. Имя формы в тегах. Например {@ Форма 1 @}
(для печати откорректируйте сами). Можно как угодно расширить скрипт (передача значений в поля, автозакрытие и т.д.)

Код: Выделить всё

function GetCommandLine:PChar;
external 'GetCommandLineA@Kernel32 stdcall';

function ParseCL:String;
var CL:String;
  iFrom:integer;
begin
  CL:=WinCPToUtf8(GetCommandLine);
  if (Utf8Pos('{@',CL,1)=0) and (Utf8Pos('@}',CL,1)=0) then
begin result:=''; exit; end;
  iFrom:=Utf8Pos('{@',CL,1)+2;
  result:=
  Trim(
  Utf8StringReplace(
  Utf8Copy(CL,iFrom,Utf8Pos('@}',CL,1)-iFrom),
  '%20',' ',[rfReplaceAll])
  );
end;

procedure AddNewRec(Sender:TObject);
var Fm:TdxForm;
begin
    if Trim(ParseCL)='' then exit;
    MainWindow.Hide; // опционально
    Fm:=TDxForm.Create(ParseCL);
    Fm.OpenRecord(0);
    Fm.Append;
    Fm.EditWindow.ShowModal;
  if Fm.EditWindow.ModalResult = mrOk then
    Fm.Post else Fm.Cancel;
    Fm.Close;
    Fm.Free;
    MainWindow.Close; // опционально
end;

procedure DataBase_Open;
begin
  AddNewRec(nil);
end;


В dxdb_icon эту базу можно добавить запись командой (ярлыком): dxdb://base.mydataxpress.ru:GETCOMMANDLINE {@ Форма №# @}
например: dxdb_icon Форма 1, dxdb_icon Форма 3, dxdb_icon Форма 4
Фрилансер. Разработка на заказ. Консультирование.


Вернуться в «Помогите собрать базу!»