вот что получилось
выведите таблицу в отдельном гриде, простым просмотром и проверьте имеются ли там такие же записи
My Visual Database → Posts by sibprogsistem
вот что получилось
выведите таблицу в отдельном гриде, простым просмотром и проверьте имеются ли там такие же записи
Спасибо, этот код работает.
Но: оно пишется в строки.
Т.е. в гриде нету рспределения по необходимым колонкам
Например, должны быть 2 колонки в гриде - портал и ецп.
И данные, которые занесены в табе портал, должны отобразиться в двух колонках грида, связанных с порталом.
Другие две записи из таба ЕЦП, должны быть записаны в грид в другие две колонки с названием ЕЦП.
Т.е. должны быть распределение.
А така, как в настроках грида ничего нету, т.е. просто туда все ссыпается - это неправильно.
SELECT fio_portal, date_portal, fio_ecp, date_ecp
FROM portal, ecp
в Вашем случае будет так
SELECT fio_portal, date_portal, fio_ecp, date_ecp
FROM portal, ecp
но в итоге вы все равно получте проблемы
самый лучший вариант выглядит всетаки так
SELECT fio_portal, date_portal from portal
union
select fio_ecp, date_ecp from ecp
просто добавьте еще поле в таблицы с именем формы
а в свойствах компонента DateTimePicker1 формат пробывали указывать? фотмат указывается так:
y.d.m
d.m.y
d.y.m
если вы добвили в таблицу связь, то файл sqlite в карневой папке проекта нужно удалить а потом заново заполнить, ведь на данный момент в поле
id_portal
значений нет
и какова логика записи (как эти таблицы связываются)?
эту ветку посмотрите
http://myvisualdatabase.com/forum/viewtopic.php?id=4854
там есть отбор по дате
сделал постоянный клик кнопки
procedure first_OnShow (Sender: TObject; Action: string);
var
Timer1: TTimer;
begin
first.Button2.Click ; // первый клик на кнопку sql запроса
Timer1 := TTimer.Create(first);
Timer1.OnTimer :=@rrr;// вызов процедуры
Timer1.Interval := 200;// время срабатывания
Timer1.Enabled := True;
end;
procedure rrr ;
begin
first.Button2.Click ; // клик на кнопку sql запроса
end;
попробуте теперь
Так же в таблице ecp отсутствовала связь id_portal
связываете таблицы через ключ где id_portal указывает на номер ключа таблицы portal
Привет снова, Chaoba,
Избыточные данные обычно относятся к данным об одном и том же субъекте, которые хранятся более одного раза, а не к данным, относящимся к разным субъектам.
Пожалуйста, посмотрите на диаграмму. Верхняя часть диаграммы показывает, как данные хранятся в плоском файле - красные прямоугольники показывают все данные, которые являются избыточными.
Когда вы создаете реляционную базу данных, вы удаляете избыточность, создавая связанные таблицы и связывая эти таблицы с тем, что называется «внешним ключом». Посмотрите на синие прямоугольники - «таблица строк счета» связана с «таблицей заголовка счета» его внешним ключом заголовка счета. «Таблица заголовков счетов» связана с «таблицей счетов» внешним ключом таблицы счетов. Ничего не повторяется
MVD создает все это автоматически - все, что вам нужно сделать, это создать ссылку в вашей структуре данных.
Наконец, посмотрите на зеленые коробки; это не избыточные данные, просто один и тот же товар (принтер) был куплен по двум разным счетам двумя разными покупателями.
Я надеюсь, что это не делает вещи более запутанными! Но важно получить правильную структуру данных. и когда это, MVD очень прост в использовании.
Regards,
Derek.
Добрый день.
Делаю проект, но не могу реализовать таким образом, что-бы значения, которые заносятся в разные таблицы в итоге сводились в одyjм гриде на общем окне. (вкладка first)
И после ввода нового значения, после нажатия на кнопку СОХРАНИТЬ - добавляет еще одно значение (по сути тоже самое что уже біло ввдено, но с исправлениями, если что-то менял)
И как мне сделать, что-бы автоматом обновлялась таблица? а то она обновляется тьолько тогда, когда вновь запускаю программу
прикладывю проект.
сводим значения таблиц в грид SQL запросом Так:
разместите на форме кнопку- выбирите действие (SQL запрос)
select
table1.value1,
table1.value2,
table2.value1,
table2.value2
from table1,
table2
where table1.id = table2.id_table1
для постоянно обновления грида можно сделать таймер при загрузке формы
procedure first_OnShow (Sender: TObject; Action: string);
var
Timer1: TTimer;
begin
Timer1 := TTimer.Create(first);
Timer1.OnTimer :=@rrr;// вызов процедуры
Timer1.Interval := 200;// время срабатывания
Timer1.Enabled := True;
end;
procedure rrr ;
begin
first.TableGrid1.dbUpdate;
end;
И после ввода нового значения, после нажатия на кнопку СОХРАНИТЬ - добавляет еще одно значение (по сути тоже самое что уже біло ввдено, но с исправлениями, если что-то менял).
не понятно
вам нужны таблицы
1. Имя
2. Фамили
3. Инная информация...
есть 2-варианта
1. с начало нужно создать запись в таблице ФИО
потом используя компонент комбобокс создать запись во вторую таблицу.. где комбобокс будет играть роль Ключа записи
2. использовать только скрипт или скрипт клика на кнопку сохраниения записи , но этот вариант как я считаю не имеет смысла потому, что запись в паблицу сама по себе ни с чем и ни скем не связана, для связи записей таблиц Вам нужен внешний ключ.. дла создания внешнего ключа можно использовать кастыли .. Да в программе можно связывать таблицы но проблема в том как именно программа понимает этот ключ.. если создать две записи в разные таблицы то и программа будет понимать их как две разные записи... запись в таблицы должна происходить с заранее указанными ключами а как программа поймет что от чего если первоначальной записи у Вас просто не будет..
потому вариант 1.лучше всего..
вот пример связи
нет, но их можно переключать
settings.ini:
[Options]
DBMS=sqlite or mysql
поздравляю всех с наступающим 2019 годом!!
Дмитрий прошу вас помочь даделать обработку ответа от смс сервиса
суть вот в чем... есть готовая обработка ответов от Epochta
if w = 'epochta' then begin
while true do
begin
iPos1 := PosEx('<RESPONSE>', sl.Text, iOffset);
if iPos1=0 then break;
iPos2 := PosEx('</RESPONSE>', sl.Text, iOffset);
iOffset := iPos2+1;
sRow := Copy(sl.Text, iPos1, iPos2-iPos1);
sstatus := Copy(sRow, Pos('<status>', sRow)+Length('<status>') , Pos('</status>', sRow)-Pos('<status>', sRow)-Length('<status>'));
end;
if sstatus= '-1' then ShowMessage('Неправильный логин и/или пароль') else
if sstatus= '-2' then ShowMessage('Неправильный формат XML') else
if sstatus= '-3' then ShowMessage('Недостаточно кредитов на аккаунте пользователя ') else
if sstatus= '-4' then ShowMessage('Нет верных номеров получателей') else
if sstatus= '-5' then ShowMessage('Неверный текст') else
if sstatus= '-7' then ShowMessage('Ошибка в имени отправителя ') else
if sstatus= '1' then ShowMessage('Сообщение принято!') else
if not ping('http://api.myatompark.com')then ShowMessage('Ошибка подключения ');
end;
я хотел что бы ответы от turbosms и Clickatel обабатывались в подобном варианте, так можно настроить бальше возможностей в программе в зависимости от ответа
проект прикладываю процедура обработки ответа строчки 159-204
TdbButton(Form.FindComponent('Button1')).caption:='Clicked';
да но будет не сама галочка а выбор да или нет
в свойствах компонента editable-AllowEdit
Все равно не работает, там ошибка имени баз, я говорю про отчёт внутри записи, а не на главном окне программы. Вообщем ладно, спасибо за помощь.
на сколько я понял из вашего вопроса Вам нужно что-то вроди этого
А можно ли из приложенного файл excel в базу данных, данные из этого файла вытянуть в отчёт?
не понял вопрос из самого файла excel или сначало импортировать в базу а потом в отчет?
посмотрите эту тему
http://myvisualdatabase.com/forum/viewt … 806#p14806
возможно-ли загрузить веб страницу ?
Пожалуйста, приложите ваш проект, также сообщите используемую версию программы.
Я НЕ ПРАВЕЛЬНО СКАЗАЛ ИЗВЕНЯЮСЬ
в самой MVDB
пробывал загружать в ней разные проекты и все так же.. версия программы
по вашей ссылки
https://www.dropbox.com/s/anufoqnsh809x … a.zip?dl=0
загружаете любой проект снимаете флажки .....закрываете проект и открываете снова и программа вновь откроет все формы..
в программе все формы открываются при запуске даже те которые стрытые оставлял
В записях отчёт выдает ошибку((
у меня ошибок нет все ок работает.. скачайте последнию версию MVDB
https://www.dropbox.com/s/anufoqnsh809x … a.zip?dl=0
посмотрите этот пример
позволил себе немного вольности )))
что-то форум не принимает архив
скачайте тут https://yadi.sk/d/pUOqMaSrSOviGw
нужно более точное описание вопроса...
на сколько я вас понял вы хотите отобразить записи в в гриде... и при клике передавать их в отчет?
Добрый день!
Не могу разобраться как сделать. Необходимо чтобы в каждой записи (tablegrid) был свой список записей, для вывода этого списка в отчет. Чтобы каждая строка записи была в отчете в прямоугольнике (например), а правее от каждой записи был пустой прямоугольник. Этот проект подразумевает создание проверочного листа по списку номеров, где в первом столбце будет номера, а во втором пустые ячейки где будет отмечаться (в распечатанном виде, ручкой) результат проверки (ок или nok). Проэкт приложил. Спасибо.
когда добаляете проект не забывайте кликать кнопки (add file)
My Visual Database → Posts by sibprogsistem
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi