Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа С БД

15K
21 августа 2006 года
KAN
40 / / 08.08.2006
Вопрос скорее по ацесссу:
Как сделать так, чтобы данные одной таблицы заносились автоматом в другую?
Т.е. у меня есть 2 таблицы: maintable и users
maintable состоит из след.полей: id, number, familiya,imya,address,lastupdate, comment
users: id,idmain, comment,lastupdate
Мне надо связать lastupdate и comment двух таблиц, чтоб при заполнении одной таблицы, эти поля в другой таблице изменялись. (где idmain-прявязка к счётчику (id) главной таблицы(maintable)
648
21 августа 2006 года
Tiraspolsky
220 / / 23.07.2003
Тебе не нужны поля comment, lastupdate в двух таблицах. Это -дублирование (избыточность). При необходимости получить эти данные надо генерить запрос, используя привязку записей. (Собственно, для этого привязка и делается).
15K
22 августа 2006 года
KAN
40 / / 08.08.2006
вот мне и интересно, как это делается?
суть в том, что я не дублирую поля. В одной таблице, которая майн, остаются только последние комменты и дата изменений, а в юзерс, находится т.н. хистори, т.е. там только такие записи и существуют, по которым можно отследить кто и что менял.
в акцесе, когда привязываю, поля двух таблиц(через схему данных) - ничего не происходит.
648
23 августа 2006 года
Tiraspolsky
220 / / 23.07.2003
Напиши конкретно, какие поля содержат обе таблицы (без дублирования) и что ты желаешь видеть на экране, я напишу тебе запрос, который выполнит все, что ты пожелаешь.
15K
23 августа 2006 года
KAN
40 / / 08.08.2006
main: counter,number,familiya,imya,otchestvo,address,lastupdate, comment
users: counter,date,time,number,lastupdate,who,comment
таблица main статична, т.е. она практически не растёт, а чтобы был лог изменений нужна таблица users, там указаны дата/время, и кто/что/когда менял, она постоянно нарастает, с каждым изменением.
Надо: чтобы, если меняется запись в таблице main, то добавляется новая запись в таблицу users.
использую базу access (mdb), подключаю ее через ADODC компонент.
648
23 августа 2006 года
Tiraspolsky
220 / / 23.07.2003
Ты пишешь "Надо, чтобы данные одной таблицы заносились автоматом в другую". Не надо копировать данные из однлй таблицы в другую. Для извлечения сведений существуют запросы (язык SQL). Но все же отвечу на последний пост. Я понял так, что юзеры меняют табл. main, а тебе нужен протокол изменений.
Если юзеры вносят изменения с помощью твоей проги, то надо после каждого Update табл. main вызывать процедуру updateUsers
Private sub updateUsers(rs_main as Recordset)
Dim users as Recordset
Set users=db.OpenRecordset("users")
users.AddNew
users.Fields("time")=time ' и т.д. для каждого поля

users.Update
users.close
end sub
Если же юзеры работают с БД, не используя твою прогу, то ты должен по таймеру получать Recordset табл. main и сравнивая его с запасенным ранее Recordset принимать решение, нужно или нет выполнять users.AddNew
403
23 августа 2006 года
ace lighting
411 / / 05.05.2006
Лично я пробовал работать с BD но чесно говоря у меня ничё не вышло. Да я и сам знал, ещё заранее, что не выйдет...:(
15K
24 августа 2006 года
KAN
40 / / 08.08.2006
спасибо, я в общем-то приблизительно так и думал....
ещё вопросик....бывает такое, когда делаешь .recordset.update
выскакивает сообщение, что мол "Не могу найти строку для обновления, возможно данные были изменены...." и не делает update
Потом, когда загружаю базу в access, и пытаюсь удалить все записи, он говорит, что некоторые записи блокированы ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог