По поводу заполнения обязательных полей - хорошо бы чтобы на форме обязательные для заполнения поля как-нибудь отмечались, ну типа звездочкой или еще как нибудь (цветом?)
2 2015-03-17 20:24:58
Topic: Переход на Деньги (1 replies, posted in Russian)
Поделюсь опытом в связи с тем, что в версии 1.50 появился тип Деньги. У меня в программе поле цены имело тип REAL На самом деле тип Деньги, это тот же REAL, только форматирован вывод на экран с двумя нулями после запятой под копейки. Если вы хотите заменить обычный REAL на тип Деньги, то нужно сделать так: сделать копию файла базы, потом в среде разработки заменить в настройках базы старый тип поля на тип Деньги. Все данные в этом поле в таблице БД будут очищены и станут NULL. Копируете сохраненную базу назад - и в программе получаете красивые значения денежных величин!
3 2015-02-17 11:29:14
Re: Бета версия 1.49 (27 replies, posted in Russian)
Предложение по части представления структуры БД - хорошо бы сделать на рисунке не только перемещение и запоминание положения таблиц на экране, но и положение полей в таблице. Часто множественного пересечения линий связи, да еще и под различными углами, можно было бы просто избежать, если опустить или поднять определенное поле в таблице на рисунке сжхемы
4 2015-02-16 15:24:50
Topic: Почему возникает ошибка при определении массива констант? (1 replies, posted in Russian)
Пытаюсь в скрипте задать такой массив
const REG_PREFIX: array[1..4] of String = ('s', 'e', 'c', 'o' );
и получаю ошибку Если массив определить через var и потом в коде инициализировать, то это работает. Но не очень это красиво.
5 2015-02-16 13:04:30
Topic: Как определить кнопку, по корой открыли форму? (5 replies, posted in Russian)
Здравствуйте! Есть такая простая задача: например есть 4 кнопки. При нажатии на каждую открывается одна и та же форма редактирования записи БД. Как на этой форме редактирования узнать, по какой кнопке она открыта?
6 2015-02-13 11:06:57
Re: Бета версия 1.49 (27 replies, posted in Russian)
Здравствуйте Дмитрий! Спасибо за оперативную разработку представления структуры БД. Пара предложений - хорошо бы чтобы была возможность печати ее на принтер. И еще если можно сделать, чтобы линии связи (возможно опционально) были только вертикальные и горизонтальные, то есть без диагональных линий. Спасибо.
7 2015-02-05 21:07:28
Re: Что реализовать в первую очередь? (396 replies, posted in Russian)
Мне кажется хорошо-бы сделать показ схемы (модели) базы данных со связями между полями таблиц. У меня уже порядка 40 таблиц, и иногда бывает сложно вспомнить все взаимосвязи. Или может подскажите готовую программу, которая могла-бы нарисовать модель базы по готовой базе?
8 2015-02-05 14:44:37
Topic: Маска для ввода телефонного номера в отчет (15 replies, posted in Russian)
Как задать маску для вывода текстового поля телефонного номера по шаблону типа (916)567-1111 в отчете? При вводе на форме есть возможность указать маску ввода, но в таблице телефон запоминается просто как последовательность цифр.
9 2015-02-05 10:36:20
Re: Удаление записи из связанных таблиц (2 replies, posted in Russian)
Ошибся немного - есть еже таблица где определяется связь между работой и исполнителем, так как у работы может быть несколько исполнителей. И тогда получается что исполнитель будет родительской записью для записей из этой таблицы. То есть похоже проблема будет решаться установкой галочки в настройках таблиц, чтобы удалять дочернии записи из этой таблицы связей.
10 2015-02-05 10:17:25
Topic: Удаление записи из связанных таблиц (2 replies, posted in Russian)
Возникла такая проблема - есть три таблицы: Заявки, Работы, Исполнители Они связаны между собой через foreign key таким образом, что в таблице Работы есть ссылка на id Заявки, а в таблице Исполнители есть ключ на id из таблицы работы. Предположим у заявки есть работа, которой назначен исполнитель. Если я попытаюсь удалить исполнителя из таблицы Исполнители, то возникает ошибка целостности базы. В среде разработки есть в настройках таблиц чекбокс удаления дочерних записей при удалении родительской, но тут наоборот удаляется вроде-как дочерняя запись. Может просто не определять поле в таблице Исполнители, которое ссылается на запись в таблице Работы как foreign key?
11 2015-01-31 21:18:15
Topic: Как в SQL запросе задать условие того, что дата попадает в диапазон (1 replies, posted in Russian)
Есть датапикер, тип которого MonthYear Как в SQL запросе задать условие по полю типа Дата, чтобы были отобраны те записи, даты который попадают в диапазон, заданный пикером, то есть например январь 2015 года?
12 2015-01-31 21:13:57
Re: Вопрос по SQLite (10 replies, posted in Russian)
В примере, который я поместил в теме "Как сделать инкремент числового поля в записи?" как раз есть пример чтения из базы одного поля из таблицы.
13 2015-01-31 21:11:01
Re: Как сделать инкремент числового поля в записи? (7 replies, posted in Russian)
Вот примерно так:
procedure frmRequest_OnShow (Sender: string; Action: string);
var
sNumber: string;
begin
if (Action = 'NewRecord') then
begin
sNumber:= VarToStr(SQLExecute('SELECT s_number FROM system WHERE id=1'));
frmRequest.eNumber.Text := IntToStr(StrToInt(sNumber) + 1);
frmRequest.cbStatus.ItemIndex := 1;
frmRequest.cNewRecord.State := cbChecked;
end
else
begin
frmRequest.cNewRecord.State := cbUnchecked;
end;
end;
14 2015-01-29 20:42:35
Re: Вопрос по работе со временем (6 replies, posted in Russian)
Очевидно не работает, потому что тип поля в базе ДАТА, а нужно очевидно ДАТА/ВРЕМЯ Кстати, когда в редакторе базы поменял тип поля в таблице, все данные в этой колонке очистились. НО я перед этим копию сделал. Так что скорее всего просто добавлю еще колонку ВРЕМЯ и буду с ней отдельно работать.
15 2015-01-29 17:17:44
Re: Вопрос по работе со временем (6 replies, posted in Russian)
Сделал именно так. Но время не сохраняется.
Еще такой вопрос - можно ли у пикера сделать так, чтобы не было чекбокса в начале? ТО есть например чекбокс установлен, но не видим и пользователь его не может изменить.
16 2015-01-29 16:45:03
Re: Вопрос по работе со временем (6 replies, posted in Russian)
Спасибо! Попробовал связать два компонента Время и Дата - время не сохраняется в базе, дата сохраняется. Если вручную время в базе прописать, то пикер для времени его отображает.
17 2015-01-29 16:07:44
Topic: Вопрос по работе со временем (6 replies, posted in Russian)
Понадобилось кроме текущей даты сохранять и текущее время Как я понял в DateTimePicker есть режим показа/выбора даты и есть режим для времени. Дата в базе храниться вместе со временем как я понимаю. Нужно иметь возможность задавать дату и время отдельно (в отдельных соответствующих пикерах) и потом сохранять ее в одно поле записи. Как это можно сделать?
И попутно еще вопрос - Если на форме происходит создание записи в БД по кнопке в которой Action типа СОХРАНИТЬ ЗАПИСЬ, то в какой момент после сохранения можно вызвать метод скрипта, чтобы в эту запись (то есть ее id нужно получить) дописать еще некоторые данные, которые на основной форме невозможно в ней сохранить?
18 2015-01-23 14:57:37
Re: Что реализовать в первую очередь? (396 replies, posted in Russian)
А можно добавить такую фичу - я работаю всегда над одним проектом, и хорошо-бы чтобы при запуске среды разработки сразу грузился этот проект (точнее последний открытый проект) И размер окна и позиция окна среды разработки тоже чтобы сохранялась между сеансами работы.
20 2015-01-22 11:40:34
Re: Вопрос по SQLite (10 replies, posted in Russian)
Да, это запрос по кнопке, но это не постой SQL запрос - это Отчет SQL. Попробовал - тут это не работает.
21 2015-01-22 11:14:59
Topic: Вопрос по SQLite (10 replies, posted in Russian)
У меня такой вопрос - не могу найти в документации по SQLite - мне нужно в запросе select выдать в качестве одного из полей номер записи в результате, что-то типа rownum который есть в Оракле, но тут это не работает. Это можно как-то решить?
22 2015-01-21 13:08:11
Re: Русская документация My Visual Database (46 replies, posted in Russian)
Имелось ввиду скрыть вкладку не TabDatabaseLoc а вторую, в которая Настройки называется.
23 2015-01-21 12:23:09
Re: Русская документация My Visual Database (46 replies, posted in Russian)
А можно как-то отдельно отключить(скрыть) вкладку Настройки, на форме на которой выбирается путь к базе?
24 2015-01-15 12:13:52
Re: Два раза срабатывает onChange (5 replies, posted in Russian)
Да, я так и делаю, использую один обработчик в четырех местах по onChange, получая из Sender имя грида. Попутно такой вопрос возник - у меня на форме 4 грида в закладках находятся, в каждом делается запрос к одной и той-же таблице, только фильтр стоит по полю тип. Возможно с 4 гридами не самое рациональное решение, но так получилось из-за удобства интерфейса. Заметил следующее - когда открываю в каком-либо из этих гридов запись на редактирование, и потом при сохранении по OnChange грида раскрашиваю его ячейки, onChange срабатывает во всех 4-х гридах и происходит соответственно и их раскрашивание, хотя в самих гридах ничего не менялось. Это как-то решается? Сейчас там десятки записей, а будут сотни и тысячи, лишнее время на это будет тратиться.
25 2015-01-15 12:04:09
Re: Как сделать инкремент числового поля в записи? (7 replies, posted in Russian)
Да, запуск из одного места по сети - это хороший выход. Но есть нюансы: при раздельном локальном запуске у каждого пользователя свой файл settings.ini в котором в частности находится настройка ширины колонок в гридах. Каждый настраивает, ку ему удобнее. Также у меня сейчас используется еще отдельный ini файл с некоторыми локальными настройками, которые читаются из скрипта при запуске программы. Например переход в определенную вкладку на главной форме сразу после запуска программы. Особенность работы в том, что у меня каждый пользователь работает со своим разделом программы. Можно конечно настройки и в базу перенести, но у меня пока нет логина для пользователей, так как это пока не нужно.