26

(7 replies, posted in Russian)

Я попытался добавить строку
Form1.TableGrid1.dbUpdate;
в конце кода , что бы обновить таблицу, и все поля где есть зачёркнутость, что бы они ушли в низ. Но вылетает ошибка. Причём всё срабатывает, сортировка происходит, но ошибка зачем то выскакивает.
https://a.radikal.ru/a05/2002/e0/e9b7fd31f30d.jpg

procedure Form1_TableGrid1_OnEditAccept (Sender: TObject; ACol, ARow: Integer; Value: String; var Accept: Boolean);
begin
    if (ACol=0) and (not Form1.TableGrid1.Cell[ACol,ARow].Empty) then // если изменяют значения в пятой колонке и значение не является пустым
    begin
        if Value = 'True' then
        begin
            SQLExecute('UPDATE test SET yes=1 WHERE id='+Form1.TableGrid1.sqlValue);
            Form1.TableGrid1.Cell[1,ARow].TextColor := clGray;
            Form1.TableGrid1.Cell[1,ARow].FontStyle := fsStrikeOut;
        end else
        if Value = 'False' then
        begin
            SQLExecute('UPDATE test SET yes=0 WHERE id='+Form1.TableGrid1.sqlValue);
            Form1.TableGrid1.Cell[1,ARow].TextColor := clWindowText;
            Form1.TableGrid1.Cell[1,ARow].FontStyle := 0;
        end;
    end;
    Form1.TableGrid1.dbUpdate; //ОШИБКА ИЗ ЗА ЭТОЙ СТРОЧКИ
end;

https://d.radikal.ru/d32/2002/97/0857a5682abb.jpg

27

(4 replies, posted in Russian)

спасибо

DriveSoft wrote:

Речь идет об использовании уже существующей БД MySQL в проекте?


Есть возможность использовать существующую БД, но она должна удовлетворять двум условиям


1. Каждая существующая таблица БД должна иметь поле Primary Key с именем id

2. Внешние ключи в таблицах должны быть вида: id_tablename, где tablename - имя таблицы, на которую ссылается ключ.


Затем используя для проекта БД SQLite, создайте структуру БД в My Visual Database, которая в точности повторяет структуру в вашей существующей БД, после чего просто переключите ваш проект на использование MySQL и подключитесь к существующей БД.

А в будущем не планируется сделать возможность копирования этих строк? Что бы не в ручную из одного проекта MVDB в другой пересоздавать, а можно было бы копировать и вставить

29

(7 replies, posted in Russian)

derek wrote:

Здравствуй Agatlogic,
Возможно, попробуйте это так
Derek.

Ваш пример в "Memo", а меня интересует в "table gride"
переделал пример под задачу. Заранее спасибо

30

(7 replies, posted in Russian)

как зачеркнуть текст в tablgrid, и сделать его серым или бледным при checkbox=1? что бы получилось что-то подобное
https://b.radikal.ru/b10/2002/5d/908980ae24f1.jpg

31

(4 replies, posted in Russian)

Целый, пробую как в примере
https://vk.com/@createmyvisualdatabasea … aem-derevo сделать. Оттуда скачал проект, но ошибка такая же. Незапускается проект.
Просто хочу свой проект немного облегчить при запуске. Что бы пока я работаю с одной частью кода, отключать ненужную. Что даст возможность программе грузится не минуту, а пару секунд.
вот ссылка на тот проект для скачивания
https://vk.com/away.php?to=https%3A%2F% … Qi-j3Rzrvm

32

(4 replies, posted in Russian)

не могу понять как она работает, скачал чужой проект как пример или попробовал сделать в своём. Итог один и тот же. После строки end. просто через какое то количество пробелов красная строка без пояснений. Пример моего кода:

uses
  'задачник.pas';

begin

end.

может что то дописать нужно?

33

(6 replies, posted in Russian)

Спасибо, работает

34

(6 replies, posted in Russian)

А как сделать так, что бы checkbox был только в тех строках, где есть данные в колонке "name" ?

35

(6 replies, posted in Russian)

1) Есть ли возможность по примеру
Form1.TableGrid1.Columns.InsertcheckboxColumn(0);
создать checkbox только в той строчке таблицы, где допустим есть запись "задача"
2) как с помощью этого checkbox , поменять значение в строке с 0 на 1 или наоборот. То есть как им  внести изменения базу данных?

36

(2 replies, posted in Russian)

sibprogsistem wrote:

они выделяются автоматом

Да, если скрипт не большой. То выделяются, но если он больше размеров экрана, то уже не подсвечивается.
Есть ли какие то программы или внутри MVDB, что бы можно было код сгруппировать пробелами? Что бы перед каждым begin к примеру добавлялся отступ.

37

(2 replies, posted in Russian)

Какие есть способы при длинных скриптах понять какой begin к какому end; относится? Если экран меньше чем эта длина они не подсвечиваются. Есть какие то способы выровнять скрипт по отступам автоматически или может есть сторонние программы для скрипта для удобства?

38

(1 replies, posted in Russian)

Разобрался...
kb := 0;
while cProm <> cEnd do
     begin
     v := FormatDateTime('yyyymmdd',задача_люди.DatePicker1.DateTime +kb);
     cProm := strtoint(v);
     kb:=kb+1;
     end;
end;

На какой форме, и в какой таблице должны быть дочерние записи?
На форме frmAddPloskiyList в таблице TableAddRazvertki должны быть все дочерние записи таких же параметров которые выбраны в ComboBOX? или по производителю, или как? Не пойму задачу...

40

(1 replies, posted in Russian)

Как создать записи исходя из диапазона дат?
Допустим (data1)18.02.2020 и (data2)27.02.2020
нужно создать в таблице 10 записей, так как 27(data2)-18(data1)+1(начальный день включительно)=10
name DAY1   date 18.02.2020
name DAY2   date 19.02.2020
name DAY3   date 20.02.2020
name DAY4   date 21.02.2020
name DAY5   date 22.02.2020
name DAY6   date 23.02.2020
name DAY7   date 24.02.2020
name DAY8   date 25.02.2020
name DAY9   date 26.02.2020
name DAY10 date 27.02.2020
как это сделать?
я так понимаю нужен цикл. Но я с ними не разу не сталкивался

41

(10 replies, posted in Russian)

есть такой вариант. Он правильный?
Form2.Edit2.value := abs(Trunc(form2.datetimepicker2.datetime - form2.datetimepicker1.datetime)+1);
m := Form2.Edit2.text;

42

(10 replies, posted in Russian)

А как эту строчку приравнять к переменной?
Form2.Edit2.value := abs(Trunc(form2.datetimepicker2.datetime - form2.datetimepicker1.datetime)+1);
нужно что то похожее на
m := abs(Trunc(form2.datetimepicker2.datetime - form2.datetimepicker1.datetime)+1);

43

(10 replies, posted in Russian)

а как это посчитать не в калькуляторе, а в скрипте?
round(abs(julianday(date1) - round(abs(julianday(date2)))))
Что бы я мог получить переменную с этим значением?
в 1 способе месяц не привязан к количеству дней, что в разные месяцы даёт разное количество дней
во втором, не могу получить переменную количества дней, что бы использовать в скрипте, в момент сохранения

44

(10 replies, posted in Russian)

wow derek, very simple and interesting

45

(10 replies, posted in Russian)

Thanks jean.brezhonek. this is what I need

46

(10 replies, posted in Russian)

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

И кнопка отмена действия, ил вернуться на пару шагов назад. А то иногда нечаянно удалишь что нить или перенесёшь не так, а откатить ток загружаясь

48

(3 replies, posted in Russian)

А если речь идёт о "ShowRecord" ?

49

(3 replies, posted in Russian)

Что бы работать с id, перед открытием записи я вытаскиваю из таблицы ид в переменную строкой
idrevenue:= SQLExecute('SELECT id FROM revenue WHERE id='+ мероприятие_бухгалтерия.TableGrid1.sqlvalue);
а есть ли способ узнать ид когда форма уже открыта? ну то есть вычислить ид записи в момент сохранения скриптом

вроде бы решил таким способом
SQLExecute('INSERT INTO zada4i(дата_время) VALUES ('+задача_люди.DateTimePicker1.sqlDate+')');