Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 545

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Я с делфи работаю не давно и еще не совсем разобралась.
У меня есть база (Access) в ней три таблицы(договора, клиенты и сводная). На форме выложены компоненты (3 DBGrida, MonthCalendar и кнопка1), в 1-ом DBGrid -данные о договорах,
во 2-ом DBGrid -данные о клиентах. Не подскажете как сделать так , чтобы при выборе в 1-ом DBGrid договор , во втором -клиента и в календаре дату, при нажатиии на кнопку1 выбранные данные сохранялись в базу и выводились в 3-ий DBGrid ?

Танюшка Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Танюшка (статус: Посетитель)
Вопрос отправлен: 2 мая 2008, 11:11
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Танюшка!
Итак, первое, что следует запомнить, что данные в DBGride не хранятся. Он только отображает их и не более.
Второе. Работать будем с ADOTable, с которыми вы через DataSource связали гриды. По этому, я предположу, что первый dbgrid это dbgrid1 и он связан с ADOTable1.
И третье. Я не знаю имен полей, которые там у вас. По этому буду писать "на бум".
итак вот код-набросок.

ADOTable3.append;//Добавим новую пустую запись в таблице, куда будем писать данные.
ADOTable3.FieldByName('pole').AsString := ADOTable1.FieldByName('pole').AsString; Такими шагами переписываем
//с нужных таблиц в третью необходимые данные в нужные поля. Также выбираем типы.
ADOTable3.FieldByName('поледлявремени').AsDateTime := MonthCalendar1.Date;//дату записали
ADOTable3.post;// подтвердили добавление записи.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 2 мая 2008, 16:36
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 19 мая 2008, 12:55; участников в обсуждении: 2.
Танюшка

Танюшка (статус: Посетитель), 2 мая 2008, 17:01 [#1]:

Спасибо за ответ на самом деле навел на нужное решение!!!!
И можно еще немножко понаглеть, как в MonthCalendar1 еще учитывать и заносить время(чч.мм) заранее спасибки :)
Вадим К

Вадим К (статус: Академик), 2 мая 2008, 21:37 [#2]:

то есть заносить?
Галочка "подтверждения прочтения" - вселенское зло.
Танюшка

Танюшка (статус: Посетитель), 3 мая 2008, 09:45 [#3]:

т.е. при выборе даты чтобы в БД сохранялось время этого события
Вадим К

Вадим К (статус: Академик), 3 мая 2008, 13:35 [#4]:

ну это просто. Текущая дата выдается по функции Now. То есть,
ADOTable3.FieldByName('поледлявремени').AsDateTime := Now;
Галочка "подтверждения прочтения" - вселенское зло.
Танюшка

Танюшка (статус: Посетитель), 19 мая 2008, 11:06 [#5]:

Не могли бы вы мне разобраться еще вот в каком вопросе:
та же задача, но теперь мне нужно чтобы при выборе договора в первом гриде, во втором отображались те клиенты, которые привязаны к этому договору (т.е. в аксессовской бд код договора "привязан" к коду клиента (1 ко многим))
Вадим К

Вадим К (статус: Академик), 19 мая 2008, 12:55 [#6]:

Это называется Master-Detail. Гуглим по этому словосочитанию.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 5 июня 2023, 08:51
Выполнено за 0.02 сек.
Рейтинг@Mail.ru