if (date > StrToDate('27.04.2021')) then showmessage('Сегодняшняя дата больше');
вот теперь точно то что мне надо)))
спасибо!
My Visual Database → Posts by Petr
if (date > StrToDate('27.04.2021')) then showmessage('Сегодняшняя дата больше');
вот теперь точно то что мне надо)))
спасибо!
if (DateToStr(Now) = '27.04.2021') then showmessage('Даты совпадают');
Неточно обрисовал задачу(((
Мне нужно выполнение действия не только в определенную дату но и во все дни после этой даты.
Если использовать знак равно то проверка условия в Вашем скрипте работает.
Если использовать знак больше или меньше то сравнивается только дата, а месяц и год не учитываются.
Помогите пожалуйста доработать скрипт:
if (DateToStr(Now) > '27.04.2021') then showmessage('Время прошло')
if (DateToStr(Now) = '27.04.2021') then showmessage('Даты совпадают');
то что надо. спасибо!
Не понятно, что именно Вам нужно ..
Мне нужно чтобы при открытии формы в точно определённый мною день производилось какое либо действие (нажималась кнопка на форме или выскакивало сообщение или т.п.)
Я хотел это реализовать прописав в скрипте события OnShow формы что то типа сравнения нужной мне даты с текущей датой.
Например: if Now > "2021-04-27" then frmX.Button1.Click;
Т.е. 28го апреля при открытии пользователем формы frmX будет автоматически нажиматься кнопка Button1.
if t1.Date > "2021-04-27"
ругается: THEN expected
Наверное правильнее не в скрипте указывать конкретную дату, а на форме выбирать из календаря.
procedure form1_Button1_OnClick (Sender: TObject); begin if t1.Date > {DateTimePicker1} then ...
мне нужно чтобы при открытии формы в точно определённый день выскакивало сообщение
добрый день господа!
подскажите как правильно прописать в скрипте условие сравнения текущей даты с заданной?
что то типа: if Date > 27-04-2021 then
спасибо.
Уже отвечал на подобное. Повторюсь.
Этой процедурой можете задавать и разрядность и кол-во знаков после запятой.
procedure frmPlatez_TableGrid1_OnChange (Sender: TObject);
begin
if frmPlatez.TableGrid1.Columns[3] is TNxNumberColumn then
begin
TNxNumberColumn(frmPlatez.TableGrid1.Columns[3]).FormatMask:='#,##0.00'; //это сама колонка
TNxNumberColumn(frmPlatez.TableGrid1.Columns[3]).Footer.FormatMask:='#,##0.00'; //а это для подвала
end;
end;
по первому вопросу:
http://myvisualdatabase.com/forum/viewtopic.php?id=5840
по второму выложите проект, думаю вам помогут форумчане, по скринам не всегда можно разобраться в причинах
Создал таблицу и настроил поля TreeView. Теперь можно и скриптом заполнять.
Или если в проекте используете TableGrid (с настроенными полями) до перехода на форму с TreeView или на этой же форме, то поля TreeView можно не настраивать.
Скриптом сможете заполнить столько полей сколько настроили в TreeView или сколько максимально используется в любом TableGrid.
Почему так? Я не скажу. Не разбираюсь в этом. Может кто другой подскажет.
ваш пример абсолютно рабочий. где-то в другом месте накосячили.
Предполагаю что если на форме большое кол-во элементов то её сразу нужно разворачивать на максимальный размер экрана.
AutoSize не используем. AutoScroll ставим галочку. Вроде работает.
procedure Form1_OnResize (Sender: TObject);
begin
Form1.Width := Screen.Width;
Form1.Height := Screen.Height;
end;
Form2 - форма которую закрываете и возвращаетесь к форме Form1
procedure Form2_OnClose (Sender: TObject; Action: string);
begin
Form1.TableGrid1.dbUpdate;
end;
Combobox сохраняет запись во внешнем ключе.
Поэтому если вы сгруппируете однотипные по определённому полю записи то во внешний ключ ничего не запишется.
Поэтому, как научили меня на форуме говорить, нужно слепить костыль)))))
procedure Form1_ComboBox1_OnDropDown (Sender: TObject);
begin
Form1.ComboBox1.dbSQLExecute ('SELECT vhod_numer FROM Zapros GROUP BY vhod_numer ');
end;
Создаёте компонент Edit1 который и будет участвовать в поиске.
procedure Form1_ComboBox1_OnCloseUp (Sender: TObject);
begin
Form1.Edit1.Text := Form1.ComboBox1.Text;
end;
Да. Это то что мне нужно!
Derek спасибо!!!
Помогите получить сумму двух подвалов из разных таблиц находящихся на одной форме,
и отобразить в edit.
У меня работает.
Прежде чем вам ответить я протестировал.
SELECT
PU.id,
TipP.Tip,
PU.Nomer,
XarPU.Faz
FROM
PU
LEFT OUTER JOIN TipP ON TipP.id=PU.id_TipP LEFT OUTER JOIN XarPU ON XarPU.id=TipP.id_XarPU
WHERE
(CASE WHEN {ComboBox1} <> -1 THEN PU.id_TipP = {ComboBox1} ELSE 1=1 END)
думаю что нет. а какие проблемы? наименование листа и таблица с развертками останутся. новая форма будет выскакивать для редактирования или добавления новых разверток к листу.
на форме frmAddPloskiyList уберите компоненты для привязки листа к развёрткам,
а создайте кнопу Новая запись и уже при переходе на новую форму выбирайте развёртки и сохраняйте записи в AppRazvertki.
да, это я уже сделал) не знал только что это костыль называется)))
просто хотел разобраться что не так я с форматами делаю.
ещё раз спасибо!!!
уточню: мне нужно определить есть ли в базе Zayavka записи где IspolnitelName="Горловецкий" и PostavsikName is null.
IspolnitelName и PostavsikName беру из справочников.
Я думал что если при создании новой записи в Combobox ничего не выбираешь то поле остаётся пустым.
Но условие PostavsikName is null при выборке не работает (не воспринимается).
Если в выборке использовать конкретное значение (PostavsikName="Атомпром"), как выше в процедуре, то всё работает.
А зачем вам время обнулять? Если для дальнейшей визуализации то потом заданием форматов можете в любом виде представлять.
Или для чего другого?
sibprogsistem спасибо!
разобрался, работает!
Единственное с чем не справился: не могу в условии фильтра использовать пустые поля заполняемые через Combobox.
PostavsikName is NULL игнорирует. Воспринимает только конкретные значения(((
____________________________________________________________________________
procedure Pusk_OnMouseEnter (Sender: TObject);
begin
if SQLExecute('SELECT count(Zayvka.id) FROM Zayvka JOIN Ispolnitel ON Zayvka.id_Ispolnitel=Ispolnitel.id JOIN Postavsik ON
Zayvka.id_Postavsik=Postavsik.id WHERE IspolnitelName="Горловецкий" AND PostavsikName="Атомпром"')='0'
then
begin
Pusk.Edit1.Text := '';
end
else
begin
Pusk.Edit1.Text := 'есть заявки на согласовании';
end;
UpdateDatabase('Zayvka');
end;
Добрый день!
Помогите на примере простого справочника решить следующую задачу:
При открытии формы нужно проверять базу на наличие хоть одной записи где поле ФИО = Иванов и поле Адрес = null (пусто).
Если такая запись есть то на форме компонент Кнопка становится видимой, и наоборот.
Спасибо.
Попробуйте вот так:
TNxNumberColumn(all.TableGrid1.Columns[14]).FormatMask := '#,##0.00';
TNxNumberColumn(all.TableGrid1.Columns[14]).Footer.FormatMask := '#,##0.00';
My Visual Database → Posts by Petr
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi