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

Ошибка

select case when value < 0 then 'нет данных' when value > 0 then (tb_forma.stiomost-((DATEDIFF(CURRENT_DATE,forma_user.forma_data)+1)*tb_forma.summa)) end

2

(3 replies, posted in Russian)

Все работает спасибо

3

(3 replies, posted in Russian)

Здравствуйте, помогите пожалуйста с проектом

Помогите рассчитать количество дней носки одежды и стоимость с помощью вычисляемых полей

Подсчет дней выдает ошибку

DATEDIFF(CURRENT_DATE,out.out_date) 
derek wrote:

При использовании SQLQuery стандартный вывод осуществляется только в TABLEGRID.
Вы можете использовать скрытый TABLEGRID со столбцом, содержащим идентификатор записи, а затем написать скрипт для извлечения DBIMAGE.
Но это тот же самый скрипт, который вы использовали бы для непосредственного извлечения DBIMAGE, поэтому нет смысла использовать этот подход.

Жаль очень, я думал может как нибудь получиться сделать  без таблицы. Спасибо ещё раз за помощь

derek wrote:

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

Подскажите пожалуйста, через SQL запрос можно вывести картинку таким же примером?

derek wrote:

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

Да круто, это то что мне нужно
Благодарю Вас - derek

Подскажите пожалуйста, как загрузить картинку по имени с помощью функции LoadFromDatabase

ОШИБКА

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
 var
      id : integer;
begin

  id:=StrToInt('Form1.Edit1.Text');
  Form1.DBImage1.LoadFromDatabase('tabl', 'logo', id);
end;

8

(8 replies, posted in Russian)

k245 wrote:
Новичок wrote:

Может есть другие варианты как с помощью SQL загрузить изображение из базы данных?!?!

Ваш вариант оптимальный - простой и понятный метод:

Form2.DBImage1.LoadFromDatabase('work', 'img', Form1.TableGrid1.dbItemID);

Ещё есть функция сохранения данных (в том числе - изображений) в файл:
SaveFileFromDataBase - https://myvisualdatabase.com/forum/sear … =287649012


Спасибо за ответ Вам
Подумаю еще, может выход есть другой...

9

(8 replies, posted in Russian)

Может есть другие варианты как с помощью SQL загрузить изображение из базы данных?!?!

10

(8 replies, posted in Russian)

k245 wrote:

Для SQLite:

Form2.Label2.Caption := SQLExecute('SELECT STRFTIME(''%d.%m.%Y'',date_1) FROM work WHERE work.name='''+Form1.Edit1.Text+'''');

https://k245.ru/mvdb/funktsii.html

Спасибо, все получилось.

11

(8 replies, posted in Russian)

Во так получилось...
Есть какие нибудь предложения как облегчить код?
Как отобразить дату в Form2.Label2 в формате (30.12.2025)

procedure Form1_Edit1_OnChange (Sender: TObject);
begin
    form1.tablegrid1.dbfilter := 'work.name = "' + Form1.Edit1.Text + '"';
    Form1.TableGrid1.dbUpdate;
end;

procedure Form2_OnClose (Sender: TObject; Action: string);
begin
    Form1.Edit1.Text := '';
    updateDataBase('Work');
    Form1.Edit1.SetFocus;
    Form2.DBImage1.Clear;
end;

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin

    if (Form1.Edit1.Text <> '') then
    begin
    Form2.Label1.Caption := SQLExecute('SELECT name FROM work WHERE work.name='''+Form1.Edit1.Text+'''');
    Form2.Label2.Caption := SQLExecute('SELECT date_1 FROM work WHERE work.name='''+Form1.Edit1.Text+'''');
    form1.tablegrid1.selectedrow := 0;
    Form2.DBImage1.LoadFromDatabase('work', 'img', Form1.TableGrid1.dbItemID);
    Form2.ShowModal;
    end
    else ShowMessage('Заполните поле');

end;

12

(8 replies, posted in Russian)

k245 wrote:

Записать можно (https://k245.ru/mvdb/fajlovoe-hranilishhe.html) , а прочитать - низя....
Чтение только  скриптовыми командами SaveFileFromDataBase  и SaveFileFromDataBaseToStream. Или с помощью компонента, который вы на форме у себя поставили....

Скорее всего не правильно выразился, как показать изображение из базы данных в DBImage1 и как отобразить дату в label2 в формате дата.месяц.год

Здравствуйте, подскажите пожалуйста, как загрузить изображение с помощью SQL запроса из базы данных, как изменить формат даты (23:59:59)

А может вот так подойдет?
Этот пример был у кого-то на форуме.

procedure Form1_Edit1_OnChange (Sender: TObject);
begin
    if length(Form1.edit1.text) = 1 then Form1.edit1.text := namecase(Form1.edit1.text);
    Form1.edit1.selstart := length(Form1.edit1.text);
end;

Получилось вот такое решение, мне нравится.

Огромное спасибо Kerni https://san2.ru/smiles/thank-you.gif

111 - Администратор
1 - Пользователь 1
2 - Пользователь 2
3 - Пользователь 3
sparrow wrote:

У вас под рукой форум с возможностью поиска как в форуме так и через поисковые системы.
Вот первоисточник от к245. На локализацию сообщений можно не обращать внимания.

https://myvisualdatabase.com/forum/view … 964#p44964

Я вас не заставляю помогать мне
Надеюсь помогут другие

Спасибо большое вам на затраченное время

sparrow wrote:
procedure Init;
var
  tmpLoginButton: TdbButton;
begin
  tmpLoginButton := TdbButton.Create( frmdbCoreLogin );
  tmpLoginButton.Parent := frmdbCoreLogin;
  tmpLoginButton.Top := frmdbCoreLogin.bLogin.Top;
  tmpLoginButton.Left := frmdbCoreLogin.bLogin.Left;
  tmpLoginButton.Width := frmdbCoreLogin.bLogin.Width;
  tmpLoginButton.Height := frmdbCoreLogin.bLogin.Height;
  tmpLoginButton.Caption := 'Entry';
  tmpLoginButton.Font := frmdbCoreLogin.bLogin.Font;
  tmpLoginButton.Default := True;
  tmpLoginButton.OnClick := 'Login_OnClick';
  frmdbCoreLogin.bLogin.Visible := False;
end;

это пример как добавить 1 кнопку Ну и значения проставить в правой части где нужно и какие нужно.


Спасибо за подсказку, но у меня не получается, может есть какой-либо пример проекта

sparrow wrote:

там есть пример который позволит решить вашу проблему

Я не вижу


Это не решает мою проблему

Здравствуйте!
Подскажите пожалуйста, как добавить новые кнопки на форму авторизации (frmdbCoreLogin)
Первая кнопка при нажатии открывает форму Form1
Вторая кнопка открывает сайт (OpenURL())

21

(5 replies, posted in Russian)

Дерек, спасибо огромное за помощь.
Мне понравились изменения в новой версии, мне очень это поможет

https://san2.ru/smiles/thank-you.gifhttps://san2.ru/smiles/thank-you.gifhttps://san2.ru/smiles/thank-you.gif

derek wrote:

Пожалуйста.
Прилагается измененная версия, которая позволяет удалить номер (используйте form1.button11 ('x')), если вы что-то ввели неправильно.
С уважением,
Derek.

22

(5 replies, posted in Russian)

Спасибо Derek
https://san2.ru/smiles/thank-you.gifhttps://san2.ru/smiles/thank-you.gifhttps://san2.ru/smiles/thank-you.gif
Это самый подходящий мне пример.
Я очень благодарен.

derek wrote:

Привет Новичок, Salut Jean,,
Украдено из моего старого проекта - может, это поможет.
С уважением,
Derek.
(извините - загружен не тот проект. сейчас исправлено  sad)

23

(5 replies, posted in Russian)

Здравствуйте,
подскажите как сделать ввод цифровых значений с помощью кнопок расположенных на форме

Проект прилагаю.

derek wrote:

Hi,
If you want to display who is currently using your program, this implies that your users actually sign-in to your program, possibly using the standard 'role based' functionality built in to MVD.
Working on this assumption, you could:
1.   add a new field to the '_user' table (for examle 'on_line' - type of boolean)
2.   in a simple script, set 'on_line' to 1 when a user logs in and set 'on_line' to 0 when a user logs out.
3.  use a tool such as DB Browser to interrogate the relevant sqlite.db.(or write another MVD program that shares the sqlite.db to display who is logged on).
4.  using the 'on_line' field in the '_user' table to count how many users are online, you could display a message to show the program is already in use.
Derek.

Спасибо DEREK
А можно предоставить пример, если Вас не затруднит.
И возможно такое что через определенное количество минут обновлялся статус (кто онлайн) у пользователей.

Здравствуйте, может у кого то есть уже такие проекты.

Каким способом можно отображать активных участников у которых запущена программа и не нагружая саму программу.
1. Отображать кто сейчас находится в программе (у кого открыто приложение);
2. Запретить запуск более одной программы на компьютере.