Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2010, 11:09   #1
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию Добавление данных в 2 таблицы

В базе access есть 2 таблицы "Таб1" и "Таб2".Как сделать так,чтобы при добавлении данных в Таб1 они параллельно добавлялись в Таб2?Первая таблица после закрытия программы будет очищаться
nervniy вне форума Ответить с цитированием
Старый 22.08.2010, 12:54   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Можно либо выбирать все записи из Tab1 и вставлять их в Tab2 перед удалением. А можно сразу запросом (наверное можно так) вставлять записи в Tab2. Если конечно у Tab2 структура такая же как у Tab1.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.08.2010, 13:11   #3
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию

Структура у Таб2 такая же как и у Таб1
nervniy вне форума Ответить с цитированием
Старый 22.08.2010, 13:47   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А если структура одинакова, то зачем сначала вставлять в tab1, потом оттуда в tab2? Почему не сразу в tab2? В чем прикол и зачем такой изврат?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.08.2010, 14:03   #5
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию

В первую таблицу заносятся данные за день(оказанные услуги,сумма и т.д),поэтому каждый день необходимо чтобы таблица была чистая,а во вторую они копируются для отчетности допустим за месяц...если предложишь другой вариант как это сделать,который проще,буду рад

Последний раз редактировалось nervniy; 22.08.2010 в 14:06.
nervniy вне форума Ответить с цитированием
Старый 22.08.2010, 14:27   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Хы, так ты и заноси данные спокойно во вторую таблицу сразу, а для отчетности сделай поиск спомощью SQL запросов, в которых будешь указывать какие записи отбирать с какой и по какую дату . Составишь запросик типа:
Код:
select * from tab2 where data beetween data='01.08.2010' and data='31.08.2010';
и получишь данные, которые укладываются в промежуток с 01.08.2010 по 31.08.2010
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.08.2010, 14:52   #7
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию

ну я бы тоже так сделал,намного проще...но людям,которые будут потом работать с программой,надо именно так,чтобы открываешь программу,а там dbgrid был чистым каждый день
nervniy вне форума Ответить с цитированием
Старый 22.08.2010, 15:05   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
а там dbgrid был чистым каждый день
Ну так не делайте при запуске программы сразу датасет активным .

Ну, а если серьезно, то в чем проблема-то? В том, чтобы сделать, чтобы когда заказчик запустит прогу, то там показались данные за какой-то конкретно один день или за промежуток?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.08.2010, 15:27   #9
nervniy
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 52
По умолчанию

когда заказчик запускает прогу,то открывается форма на которой есть чистый dbgrid,подключенный к таблице из базы,с возможностью его редактировать,внесли какие то данные,на следущий день открываю прогу опять и dbgrid должен быть пустой,чтоб его таковым сделать получается необходимо очистить эту таблицу из базы....но инфу то внесенную надо как то все таки сохранить,чтобы они в дальнейшем могли распечатать отчет за период
nervniy вне форума Ответить с цитированием
Старый 22.08.2010, 15:49   #10
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а каким образом реализована очистка таблицы?

может тогда проще перед удалением копировать эти записи?!
можно запросом (раз уж триггера там не видно) типа такого
Код:
insert into tab2
(field1, field2, ...)
select field1, field2, ...
from tab1
where /* фильтр за вчера */
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
добавление данных через DBEdit в разные таблицы Kamelli БД в Delphi 6 31.07.2013 00:58
Добавление таблицы в Word mania04 Общие вопросы C/C++ 0 13.04.2010 12:46
Добавление записей в таблицы Fishb1 Microsoft Office Access 2 26.02.2009 21:45
Добавление данных в таблицы Interbase hijke БД в Delphi 18 22.10.2008 20:52
Добавление в 2 таблицы Dissonance БД в Delphi 5 04.06.2008 23:54