ну все правильно у Вас открыта форма для добавления новой записи, соответсвенно логично при нажатии сохранить создается новая запись. это не общая проблема это принцип работы. что вы хотите в итоге: чтоб бы не записывался дубль, или чтобы изменялись измененые значения (тогда надо открывать запись для редактирования)
76 2017-12-18 02:29:44
Re: Дублирование записей, если кнопка сохранения не закрывает форму (4 replies, posted in Russian)
77 2017-12-18 02:23:35
Re: Отчет (SQL) (11 replies, posted in Russian)
Дмитрий подскажите пожалуйста, каким образом данные из объектов формы можно передать в отчет?
В правой части окна дизайнера отчетов найдите вкладку "Variables", где вы сможете найти переменные, содержащие данные из компонентов, который были внесены в первый список в настройках кнопки с действием "Отчет". Эти переменные вы можете разместите на форме отчета как обыкновенные поля.
78 2017-12-15 02:47:27
Re: Проблема с TableGrid после поиска (6 replies, posted in Russian)
наверное у вас в поиске учавствует этот TableGrid. проверьте кнопку поиск
79 2017-12-05 09:12:20
Re: Значек курсора мыши "ожидание" (4 replies, posted in Russian)
нашел эту тему версия MVDB 4.04
подскажите как сделать чтобы менялся курсор, или чтобы пользователю понятно было что идет поиск, тот скрипт, который выше не работает. база порядка 300 тыс записей при запросе идет отбор (примерно 5-10 сек) в котором учавствуют датапикеры. так вот при нажатии на кнопкку датапикеры становятся белыми (какбуд-то очищаютя), а курсор при этом не меняется остается ввиде стрелочки crDefault (и пользователь пытается тыкать еще и еще, ему не понятно что уже запущен процесс), бывает очень редко курсор меняется на загрузку виндовс (крутится)
80 2017-11-27 02:03:35
Re: Проблема с построением отчета мастером (3 replies, posted in Russian)
компоненты учавствующие в поискемогут быть кобмбобоксы, editы, датапиккеры и т.д., т.е. какие вы копмоненты укажите учавствуют в поиске по тем значение и будет отбор в отчет. например в поиске учавствуют едит (фио) и датапикер (дата рождения), в едите указываете "Иванов" в датапикере 01.01.2017, в отчет попадут все записи иванов дата рожд 01.01.2017. если в поиске учавствует грид то выбранная запись в гриде попадет в отчет
81 2017-11-21 01:28:12
Re: Значение DateTimePicker в отчет (2 replies, posted in Russian)
Отлично! Спасибо!!!
82 2017-11-20 02:26:48
Topic: Значение DateTimePicker в отчет (2 replies, posted in Russian)
Добрый день!
Подскажите кто-нибудь, есть ли возможность с помощью кнопки отчет передать значение DateTimePicker, расположенный на форме, в fastreport, или это возможно только через кнопку отчетSql и надо при этом обязательно прописывать весь запрос через select.
сейчас так, но при этом надо писать длинный select
SELECT
strftime('%d.%m.%Y', {DateTimePicker1}) as DateField,
'{Memo1}' as MemoField
спасибо!
84 2017-11-09 03:31:54
Re: Защита файла *.PAS программы (6 replies, posted in Russian)
так из той версии, в которой работают юзеры этот .pas можно удалить, главное у себя оставить для дальнейшего редактирования
85 2017-11-07 09:29:39
Re: Версия 4.0 (33 replies, posted in Russian)
Добрый день! заметил если в Гриде font поменять цвет текста, то и весь грид становится этим же цветом, после этого приходится в Additional менять цвет. не помню было ли это в версиях 3.х
86 2017-11-03 01:32:16
Re: Связь Многие-ко-многим (12 replies, posted in FAQ)
Спасибо!!! хм оказалось все просто. Спасибо еще раз!
87 2017-11-02 10:16:38
Re: Связь Многие-ко-многим (12 replies, posted in FAQ)
На Form1 есть TableGrid1 при клике на который открывается форма frmBook на которой есть TableGrid1 и TableGrid2, так вот в них отображаюся все записи таблиц users и files, а должны только дочернии записи редактируеимой записи. Пароли на пользователях "1" на admin-admin
88 2017-11-02 07:24:31
Re: Связь Многие-ко-многим (12 replies, posted in FAQ)
Добрый день! Но что то все равно не получилось, да фильтр работает, но при редактировании связи не правильные в окне редактирования вываливаются все книги и все файлы (если открывать запись через грид из таблицы bookauthors), если же открывать окно редактирования книги через грид из таблицы books, то все но на этом гриде нельзя отфильтровать записи пользователей. Помогите пожалуйста!
90 2017-10-31 02:11:28
Re: Связь Многие-ко-многим (12 replies, posted in FAQ)
Добрый день!
хотел сделать так: вход будет по логин/пароль, user (он же автор) должен на гриде видеть только те книги, в которых он автор ну и открыть конечно же их, и отредактировать (добавить файл, или изменить категорию), админ же будет видеть все записи всех пользователей ну и конечно же редактировать тоже, для этого и надо чтоб в гриде отображался и пользователь и его книга.
вход по логин/пароль взят от сюда http://myvisualdatabase.com/forum/viewtopic.php?id=1633
достаточно чтобы автор видел только свои записи, но без отображение в гриде имени автора это не получается
91 2017-10-30 03:35:24
Re: Tablegrid (10 replies, posted in Russian)
так наверное
procedure lethal (Sender: string; var Cancel: boolean);
var
i, c: integer;
begin
c := Base.TableGrid1.RowCount - 1;
for i := 0 to c do
begin
if Base.TableGrid1.Cells[1,i] >'0' then Base.TableGrid1.Cells[1,i] := clRed then Base.TableGrid1.Cell[1,i].Color := clRed;
end;
end;
92 2017-10-30 02:47:47
Re: Связь Многие-ко-многим (12 replies, posted in FAQ)
Добрый день! подскажите как сделать чтобы на одном гриде отображался и автор, и книга. при клике на запись в гриде открывалось окно редактировании книги. добавил добавление файла к записи книги. я думаю структура не правильная или это как то надо с помощью вычислительного поля и select. если время будет помогите кто-нибудь. сейчас при клике на запись открывается окно, в котором все записи таблицы (т.е. не открывает дочернии).
93 2017-10-24 07:38:04
Re: SQL INSERT (5 replies, posted in Russian)
на действие SQL запрос используется select. в вашем случае надо использовать onclic для button
94 2017-10-18 09:09:22
Re: Значение в Insert из CheckBox1 (ДА/НЕТ) (6 replies, posted in Russian)
Упс, Дмитрий быстрей ответил
95 2017-10-18 09:08:07
Re: Значение в Insert из CheckBox1 (ДА/НЕТ) (6 replies, posted in Russian)
что значит прикрутить календарь?
наверное так
select * from main where otvet = (1) and data > ( '+FrmOth.DateTimePicker4.sqlDate+')
96 2017-10-13 01:47:08
Re: multiselect combobox save (13 replies, posted in Russian)
pt.82
Для каждого ComboBox-а должна быть отдельная таблица БД, в вашем случае вы сохраняете все в таблице db_items ?
Либо я не понял задумку.
да хотел сохранять все в таблицу db_items, т.е. если выбрано в первом комбобоксе 2 записи а во втором 3, то в в db_items должно записаться 6 записей. как по аналогии если на форме 2 комбобокса (без mutiselect) то в таблицу запишится одна запись в поля id_combobox1, id_combobox2 ну т.е id записей таблиц на которые настроены comboboxы и есть связ с записываемой базой.
или я не так понимаю данный скрипт?
97 2017-10-12 03:46:22
Re: multiselect combobox save (13 replies, posted in Russian)
Дмитрий, подскажите а как будет выглядеть скрипт если на форме 2,3 и т.д комбобокса с multiselect, которые необходимо сохранить. Нужно использовать вложеный цикл? набросал скрипт, но что то он не правильно отрабатывает
procedure frmEmployee_OnShow (Sender: string; Action: string);
var
idEmp: string;
idUsers, idFiles: integer;
Results: TDataSet;
i,c,d: integer;
begin
isChanged := False;
frmEmployee.ComboBox2.SetAllCheckBoxes(false);
frmEmployee.ComboBox4.SetAllCheckBoxes(false);
if Action='ShowRecord' then
begin
idEmp := IntToStr(frmEmployee.Button10.dbGeneralTableID);
SQLQuery('SELECT id_Users FROM db_items WHERE id_db_main='+idEmp, Results);
SQLQuery('SELECT id_db_files FROM db_items WHERE id_db_main='+idEmp, Results);
while not Results.Eof do
begin
idFiles := Results.FieldByName('id_db_files').asInteger;
d := frmEmployee.ComboBox4.Items.Count-1;
for i := 1 to d do
begin
if frmEmployee.ComboBox4.dbIndexToID(i) = idUsers then
frmEmployee.ComboBox4.ItemsChecked[i] := True;
end;
Results.Next;
end;
while not Results.Eof do
begin
idUsers := Results.FieldByName('id_Users').asInteger;
c := frmEmployee.ComboBox2.Items.Count-1;
for i := 1 to c do
begin
if frmEmployee.ComboBox2.dbIndexToID(i) = idUsers then
frmEmployee.ComboBox2.ItemsChecked[i] := True;
end;
Results.Next;
end;
end;
end;
procedure frmEmployee_Button10_OnAfterClick (Sender: string);
var
i,c,d: integer;
idEmp: string;
idUsers: string;
idFiles: string;
begin
if isChanged then
idEmp := IntToStr(frmEmployee.Button10.dbGeneralTableID);
SQLExecute('DELETE FROM db_items WHERE id_db_main='+idEmp);
c := frmEmployee.ComboBox2.Items.Count-1;
d := frmEmployee.ComboBox4.Items.Count-1;
for i := 1 to c do
begin
if frmEmployee.ComboBox2.ItemsChecked[i] then
begin
idUsers := IntToStr(frmEmployee.ComboBox2.dbIndexToID(i));
for i := 1 to d do
begin
if frmEmployee.ComboBox4.ItemsChecked[i] then
idFiles := IntToStr(frmEmployee.ComboBox4.dbIndexToID(i));
SQLExecute('INSERT INTO db_items (id_db_main, id_db_files, id_Users) VALUES('+idEmp+','+idFiles+', '+idUsers+')');
end ;
end;
end;
end;
98 2017-10-09 09:25:35
Re: Открытие файла через TableGrid (24 replies, posted in Russian)
Добрый день! подскажите не появилось время реализовать
1)Возможно ли использую свойство multiselect компонента ComboBox сразу нескольким записям сохранить данные в компонентах, которые в данный момент находятся на форме в том числе и связи
2)есть ли проект, в котором выбрав запись в гриде сделать ее копию в том числе и связи и при этом открылась открылась форма новой запись с заполненными данными выделенной записи в грид.
ps
проект приложил он черновой много лишнего повыкидывал. для чего надо пришел документ в нем например 5 приложений. 1) создаем документ присоединяем файлы, 2) созданный документ надо раздать определенным пользователям и вот тут проблемка, можно конечно создать опять документ привязать файлы и прявязать пользователя (исполнителя), а хотелось бы создать документ один раз, затем его через комбобок используя multiselect привязать сразу многим пользователям, или создать документ затем при помощи кнопки копия создать такой же и в копиях менять только пользователей.
Спасибо!
99 2017-09-20 03:10:11
Re: SQL запрос на поиск. Тема ЗАКРЫТА. Всем спасибо! (4 replies, posted in Russian)
по поиску от -до у компонента DateTimePicker есть свойство Filter где можно выбрать больше меньше и и кнопку поиск привязать к DateTimePicker
100 2017-09-07 04:04:09
Re: Открытие файла через TableGrid (24 replies, posted in Russian)
можно еще вопрос скрипт запускается но при выводе значений в гриде ошибка "" is not valid date and time
if ((Form1.GridEmployees.Cells[4,i] <> 'Выполнено') and ((StrToDateTime(Form1.GridEmployees.Cells[3,i]) <= Now) or (Form1.GridEmployees.Cells[3,i] = '' ))) then Form1.GridEmployees.Cell[3,i].Color := clRed;
опять же если использовать в or условия по отдельности то срабатывает
задача в чем состоит: если невыполнено и дата исполнения меньше сегодняшней или пусто то красным.
по отдельности раскрашивает