adiziktdy wrote:

Проект пока заморожен к сожалению и не доведен до логического конца, но для примера пожалуйста.
База данных MySQL (в setting.ini указать свой host и username)

Ссылку на скачивание пришлю на e-mail

Большое спасибо!
Скачаю и рассмотрю

adiziktdy wrote:

А совет от админа быстрее и красивше  big_smile

https://a.radikal.ru/a14/1902/f8/85c1e6ea1e65.jpg

Добрый день!
Можете поделиться проектом с журналом посещений занятий.
Необходимо что-то подобное, для примера рассмотрел бы
Ваш проект. Заранее благодарен.

sibprogsistem wrote:
procedure Form1_Button1_OnAfterClick (Sender: string);
begin
   SQLExecute( 'INSERT INTO D (X, Y, Z, id_main) VALUES ("' + Form2.Edit1.Text + '","' + Form2.Edit2.Text + '","' + Form2.Edit3.Text +'", "'+IntToStr(Last_Insert_id)+'")' );
end;

id_man - содержит id записи с которой Вам нужно связать новую запись, где man- имя таблицы с которой связываете запись
 
Last_Insert_id - получить id последней записи

------------------------------------------------------------------------------------------

Не получается связать по ID. Прописывает Last_ID "0", хотя ID из таблицы main может быть и 1, и 2, и 7. Выдает ошибку.

Скрипт следующий на кнопке:
procedure frmAdd_Button1_OnAfterClick (Sender: TObject);
begin
SQLExecute( 'INSERT INTO parent (p_name_1, p_name_2, p_name_3, phone, id_main) VALUES ("' + frmAdd.add_parent_name_1.Text + '","' + frmAdd.add_parent_name_2.Text + '","' + frmAdd.add_parent_name_3.Text + '","' + frmAdd.add_phone.Text + '", "'+IntToStr(Last_Insert_id)+'")' )
end;

DriveSoft wrote:

Используйте событие OnAfterClick от кнопки сохранения, в основную таблицу S сохраняйте информацию с помощью кнопки с действием Сохранить запись, а в таблицу D с помощью данного скрипта

procedure Form1_Button1_OnAfterClick (Sender: string);
begin
   SQLExecute( 'INSERT INTO D (X, Y, Z) VALUES ("' + Form2.Edit1.Text + '","' + Form2.Edit2.Text + '","' + Form2.Edit3.Text +'")' );
end;

Помогите, как с помощью данного скрипта отображать в гридах данные. В моем случае скрипт работает, записывает данные в таблицу, но необходимо, чтобы он еще как-то был привязан к id другой таблицы. В одном гриде данные по ребенку (таблица main), во втором гриде (таблица parent) - данные по родителю данного ребенка. Все заносится в одной форме с кнопкой Сохранить. В первую таблицу данные записываются по стандартной настройке Сохранить запись, во вторую таблицу - по скрипту OnAfterClick. Но на форме в гриде данные второй таблицы не отображаются. Через SQLiteStudio увидел, что там еще нужно заполнение id_main. Если в этой же программе его ввести, то в MVD привязка ребенок-родитель в двух таблицах отображается. Помогите пожалуйста.

Добрый день!
На форме есть две связанные таблицы (слева данные по ученику, справа - данные по его посещаемости по датам).
Можно ли вывести объединенные данные из двух таблиц в файл Excel? Помогите небольшим примером кто сможет.

Можете подсказать как изменить данный скрипт, чтобы была возможность обновления таблицы при обновлении файла Excel (при изменении данных в файле Excel должны меняться данные в таблице MVD, при удалении строк в файле Excel - также данные удаляются в MVD)

Все, получилось вывести копию следующегшо месяца:

AddPay.cb_month.dbItemID := SQLExecute('SELECT id_month +1 FROM pays WHERE id=' + Pays.t_pays.sqlValue);

Спасибо!

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

Добрый день!
Помогите пожалуйста решить проблему.
Описывать не стану - все в приложенном скрине. Необходимо при создании новой записи на другой форме скопировать значение месяца +1 (т.е. следующий)

Добрый день!
Помогите решить вопрос. К примеру, на форме Form1 есть таблица с множеством строк и 8 столбцами (TableGrid1). Необходимо выводить значение 4 столбца последней строки данной таблицы в текстовое поле (Edit2) другой формы (Form2)
Очень нужно. Спасибо!

Добрый день!

Помогите с внедрением шрифтов при экспорте в PDF. Есть кнопка "Создать счёт". На кнопке действие (Action) Открыть в PDF с шаблоном отчета. В отчете использую свои шрифты. После экспорта открывается pdf-файл с точками и сообщением о том, что шрифты не найдены.
Помогите, кто знает как устранить эту проблему!

62

(4 replies, posted in Russian)

Vickus wrote:
sibprogsistem wrote:
Vickus wrote:

Добрый день!
Помогите решить проблему.
Необходимо на кнопку повесить скрипт для создания новой записи в другой форме с копированием данных из таблицы в поля другой формы.
Спасибо

новая запись скриптом

SQLExecute('INSERT INTO ваша_таблица(поле_1,поле_2)VALUES("значение", "'+так вставляем данные из переменной+'")');

Не могли бы вы сделать маленький пример с 3-4 полями?
А если данные из разных таблиц?

63

(4 replies, posted in Russian)

sibprogsistem wrote:
Vickus wrote:

Добрый день!
Помогите решить проблему.
Необходимо на кнопку повесить скрипт для создания новой записи в другой форме с копированием данных из таблицы в поля другой формы.
Спасибо

новая запись скриптом

SQLExecute('INSERT INTO ваша_таблица(поле_1,поле_2)VALUES("значение", "'+так вставляем данные из переменной+'")');

А если данные из разных таблиц?

64

(4 replies, posted in Russian)

Добрый день!
Помогите решить проблему.
Необходимо на кнопку повесить скрипт для создания новой записи в другой форме с копированием данных из таблицы в поля другой формы.
Спасибо

sibprogsistem wrote:
procedure Frm_main_t2_OnChange (Sender: TObject);
var
i,c, col:Integer;
begin
  c := Frm_main.t2.RowCount-1;  // количество строк
  col := Frm_main.t2.Columns.Count-1; // количество колонок

if Form1.TableGrid1.RowCount > 0   then begin
   if  Frm_main.t2.Cells[8,c] = 'задолженность'  then   // если во 2-й колонке последней записи есть слово задолженность
     begin
       for i := 0 to col do  // проходим по всем колонкам
           Frm_main.t2.Cell[i,c].Color := $006B8DE7; // присваиваем цвет ячейкам в каждой колонке в последней строке
     end;
end;
end;

БОЛЬШОЕ СПАСИБО!

sibprogsistem wrote:
Vickus wrote:

Появился вопрос.
Если записей нет, то скрипт выдает ошибку. Можно ли как-то изменить скрипт, чтобы ошибка не появлялась, либо выходило сообщение, что записей нет?
Еще раз спасибо.

поместите код в этот блок

if Form1.TableGrid1.RowCount > 0   then begin
здесь код
end;

Простите, что сразу не ответил. Не пойму куда это условие вставить.
Вот мой код:
procedure Frm_main_t2_OnChange (Sender: TObject);
var
i,c, col:Integer;
begin
  c := Frm_main.t2.RowCount-1;  // количество строк
  col := Frm_main.t2.Columns.Count-1; // количество колонок

   if  Frm_main.t2.Cells[8,c] = 'задолженность'  then   // если во 2-й колонке последней записи есть слово задолженность
     begin
       for i := 0 to col do  // проходим по всем колонкам
           Frm_main.t2.Cell[i,c].Color := $006B8DE7; // присваиваем цвет ячейкам в каждой колонке в последней строке
     end;
end;

67

(2 replies, posted in Russian)

Спасибо.
Для меня это очень сложно разобраться.
Можете подсказать как скопировать данные строки из таблицы в ячейки формы?
Был пример с SQL-запросом, но у меня не работает sad

sibprogsistem wrote:
Vickus wrote:
sibprogsistem wrote:
var
i,c:Integer;
begin
  c:= Form1.TableGrid1.RowCount-1;
   if  Form1.TableGrid1.Cells[1,c]= 'задолженность'  then   Form1.TableGrid1.Cell[1,c].Color := $006B8DE7;

Я так понял, что Вы оптимизировали код скрипта, но мне нужно, чтобы он применялся только для последней созданной записи

procedure Form1_TableGrid1_OnChange (Sender: TObject);
var
i,c, col:Integer;
begin
  c:= Form1.TableGrid1.RowCount-1;  // колл строк
  col:= Form1.TableGrid1.Columns.Count-1; // колл колонок

   if  Form1.TableGrid1.Cells[1,c]= 'задолженность'  then   // если во 2-й колонке последней записи есть слово задолженность
     begin
       for i:=0 to col do  // проходим по всем колонкам
           Form1.TableGrid1.Cell[i,c].Color := $006B8DE7; // присвеваем цвет ячейкам в каждай колонке в последней строке
     end;
end;

Появился вопрос.
Если записей нет, то скрипт выдает ошибку. Можно ли как-то изменить скрипт, чтобы ошибка не появлялась, либо выходило сообщение, что записей нет?
Еще раз спасибо.

Большое спасибо за помощь и за пошаговые разъяснения

sibprogsistem wrote:

примените тоже самое только для строки row

Вставил Ваш код - он выделил цветом последнюю ячейку с надписью "Задолженность".
Можете полностью код выложить. К сожалению, я не специалист, только пытаюсь научиться. Спасибо.

sibprogsistem wrote:
var
i,c:Integer;
begin
  c:= Form1.TableGrid1.RowCount-1;
   if  Form1.TableGrid1.Cells[1,c]= 'задолженность'  then   Form1.TableGrid1.Cell[1,c].Color := $006B8DE7;

Я так понял, что Вы оптимизировали код скрипта, но мне нужно, чтобы он применялся только для последней созданной записи

DriveSoft wrote:

Что именно вы имеете ввиду под последней? Просто последняя строчка в компоненте? или последняя созданная запись?

последняя созданная

Добрый день!
Подскажите скрипт для окраски последней записи в таблице.
Есть скрипт, позволяющий окрашивать строку по условию, но не знаю как сделать, чтобы он работал только по самой последней записи.

procedure Frm_main_t2_OnChange (Sender: TObject);
var
    i,f,r,c: integer;
begin
    c := Frm_main.t2.Columns.Count - 1;
    r := Frm_main.t2.RowCount - 1;
    for i := 0 to r do
begin
    if Frm_main.t2.Cells[8,i] = 'задолженность' then
    begin
    for f := 0 to c do
    Frm_main.t2.Cell[f,i].Color := $006B8DE7;
    Frm_main.t2.ScrollToRow(0);
    end;
end;
end;

74

(2 replies, posted in Russian)

Добрый день!
Кто-то делал базы клиентов с платежами по месяцам и поиску задолженности на текущую дату?
Может подскажете или тестовый проект дадите?

Огромное спасибо!
Все получилось!