На форме есть грид.
Если выбрать через кнопку запись на редактирование (Показать запись - выбрать форму) с одним незаполненным полем - выдаёт ошибку.
Казалось бы всё логично.
НО!!! Этот же проект, скомпилированный 2 месяца назад в этой же версии нормально работает!
В чём разница то?
Версия 1.46 бета
26 2018-03-22 06:06:49
Topic: Непонятки с версией 1.46 (2 replies, posted in Russian)
27 2018-02-19 09:09:06
Re: можно ли запихнуть одномерный числовой массив в одно поле? (7 replies, posted in Russian)
k245, вы как-то сильно упрощаете задачу.
Не считая того, что у работников может быть (и есть) несколько графиков сменности (это может решаться ещё одной таблицей и ссылкой на неё, но в которой опять же должен лежать календарь), существует и такая вещь, как разного рода неявки и выходы вне графика.
Так что всё равно надо держать полный график выходов.
Я решил просто всё обрабатывать как строковые данные. В поле типа Мемо можно впихивать довольно большие значения.
28 2018-02-15 23:57:35
Re: можно ли запихнуть одномерный числовой массив в одно поле? (7 replies, posted in Russian)
Да это понятно, что работники и табель в разных таблицах.
Речь идёт именно о таблице табель: мне не хочется создавать 31 поле, по количеству дней. Запросы будут гигантскими.
29 2018-02-14 15:01:40
Re: можно ли запихнуть одномерный числовой массив в одно поле? (7 replies, posted in Russian)
для табелирования народа.
Т.е. просто проставить в какую смену кто когда вышел
А вытащить - просто пройтись циклом по строке
30 2018-02-13 15:10:48
Topic: можно ли запихнуть одномерный числовой массив в одно поле? (7 replies, posted in Russian)
проще говоря месячный календарь в одно поле, или для каждого числа всё-таки придётся создавать своё поле?
31 2018-01-31 01:11:20
Re: Помогите с запросом (5 replies, posted in Russian)
GROUP BY AUTO_TB.Госномер
32 2018-01-25 02:59:57
Topic: Как получить системную переменную? (1 replies, posted in Russian)
Искал по форуму, но не нашёл.
Как можно получить в проекте системную переменную (к примеру %HOMEPATH%)
А то из объявленных функций только получение имени юзера.
А функции дельфи не работают.
33 2018-01-25 02:56:33
Topic: Отображение проекта в панели задач (3 replies, posted in Russian)
Можно ли сделать так, чтобы в панели задач отображались не все вкладки, а только последняя открытая?
Ну или только процесс. Чтобы при переключении с другой задачи кликнуть на вкладку процесса и высветилась последняя открытая форма.
А то некоторые пользователи впадают в ступор, какую вкладку выбирать.
34 2018-01-25 02:34:42
Re: Поиск дубликатов и запрет их внесения при добавлении новой записи. (8 replies, posted in Russian)
Я её использую, чтобы вновь введённое значение сразу же появилось для выбора в комбобоксах.
В противном случае иногда приходится перезапускать программу.
А по поводу begin'а - у вас описана процедура, но нет главной программы.
А она, пусть и пустая, должна быть.
procedure бла-бла-бла;
begin
тело процедуры
end;
begin
end.
35 2018-01-20 23:44:23
Re: Поиск дубликатов и запрет их внесения при добавлении новой записи. (8 replies, posted in Russian)
procedure form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
if form1.Edit1.Text = SQLExecute ('SELECT поле FROM таблица WHERE поле = '''+form1.Edit1.Text+'''') then
showmessage('Такое значение уже существует') else
begin
SQLExecute('INSERT INTO таблица (поле) VALUES ('''+form1.Edit1.Text+''')');
end;
UpdateDatabase('таблица');
end;
Если значение вносится с помощью действия "Сохранить запись" то можно на кнопку сохранения повесить событие OnClick, где выбрать все записи и пристрелить последнюю.
procedure form1_btAddRecord_OnClick (Sender: string; var Cancel: boolean);
begin
SQLExecute('DELETE FROM таблица WHERE таблица.поле = ''' + form1.Edit1.Text + ''' AND таблица.id > (SELECT MIN(id) FROM таблица)') ;
end;
Но первый метод, ИМХО, более правильный
36 2018-01-20 23:21:52
Re: Дублирующиеся записи в Combobox (4 replies, posted in Russian)
Вот теперь работает.
Огромное спасибо, Derek!
37 2018-01-20 12:50:05
Re: Дублирующиеся записи в Combobox (4 replies, posted in Russian)
Нет, к сожалению не помогло.
В версии, которую я использую, функции dbSQLExecute нет.
38 2018-01-19 01:27:05
Topic: Дублирующиеся записи в Combobox (4 replies, posted in Russian)
Есть Комбобокс, куда выводятся записи из таблицы с одинаковыми значениями.
Как сделать так, чтобы в комбобоксе такая запись выводилась только 1 раз?
39 2018-01-12 07:37:40
Re: Как пересчитать одно поле в таблице вычисляемую из другой (3 replies, posted in Russian)
WHERE поле по которому нужна выборка ={элемент формы из которого берётся требуемое поле}
Есть вариант
GROUP BY {элемент формы из которого берётся требуемое поле}
40 2018-01-11 00:32:40
Re: Передача данных в Parent Combobox из одной формы в другую (4 replies, posted in Russian)
Ещё один вопрос на эту тему.
В таблицу (справочник) вводятся значения через скрипт, а не через кнопку сохранения.
Но эти значения появляются в соответствующих комбобоксах только в следующем сеансе работы программы.
метод DoOnChange не срабатывает.
41 2018-01-10 10:49:36
Re: Вопрос по вводу значений в поле Date (5 replies, posted in Russian)
var sDate : string = FormatDateTime('yyyy-mm-dd', Form.DateTimePicker.DateTime);
Begin
SQLExecute('INSERT INTO table (Date) VALUES ('''+sDate+''')');
end;
42 2018-01-04 00:00:18
Re: Передача данных в Parent Combobox из одной формы в другую (4 replies, posted in Russian)
Спасибо большое! Заработало.
43 2018-01-03 06:32:07
Topic: Передача данных в Parent Combobox из одной формы в другую (4 replies, posted in Russian)
Есть 2 формы и такой кусок скрипта
procedure frmAddPribor_btAddPribor_OnClick (Sender: string; var Cancel: boolean);
var sType : string = IntToStr(frmAddPribor.cbTypeModel.DbItemID);
sModel : string = IntToStr(frmAddPribor.cbModel.DbItemID);
sDate : string = FormatDateTime('yyyy-mm-dd',frmAddPribor.dtpDate_izg.DateTime);
sPribor : string;
begin
if frmAddPribor.tbZav_num.Text = SQLExecute('SELECT Zav_num FROM Pribor WHERE Zav_num = '''+frmAddPribor.tbZav_num.Text+'''')then
showmessage('Прибор с таким номером уже существует') else
begin
SQLExecute('INSERT INTO Pribor (id_Type, id_Model, Zav_num, Inv_num, Date_izg) VALUES ('''+sType+''', '''+sModel+''', '''+ frmAddPribor.tbZav_num.Text + ''', '''+ frmAddPribor.tbInv_num.Text + ''', Date('''+sDate+'''));');
MoviePribors.Show;
MoviePribors.cbType.dbItemID := frmAddPribor.cbTypeModel.dbItemID;
MoviePribors.cbModel.dbItemID := frmAddPribor.cbModel.dbItemID;
MoviePribors.cbPribor.dbItemID := SQLExecute('SELECT id FROM Pribor WHERE Zav_num = '''+frmAddPribor.tbZav_num.Text+'''');
end;
end;
Комбобоксы со второй формы имеют полностью аналогичную структуру комбобоксам второй формы.
По идее данные должны передаться, но по факту этого не происходит.
Я так понимаю это связано с parent'ом.
Подскажите, пожалуйста, как можно выкрутится в версии 1.46 ?
Метод Form.Combobox.dbSQLExecute не работает.