powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
25 сообщений из 52, страница 1 из 3
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671282
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим есть открытый рекордсет А (select * from data), проходит время, пользователи с других машин работают с данными, что-то добавляется, удаляется, изменяется. Я открываю рекордсет Б (select * from data)
Могу ли я использовать информацию в рекордсете А и Б для поиска и анализа изменения данных в таблице "data"
Спасибо.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671289
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее мне нужно отследить изменения в данных, но я вот подумал, может быть использовать два набора: один слямзить до изменений, другой считать после. Потом перебрать и проанализировать.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671291
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты затронул очень серьезную тему.

Первое, что приходит в голову - вести таблицу с логом изменений (в БД). Тогда ты всегда можешь получить в удобном виде нужную информацию за нужный период.

Но лучше подробнее опиши задачу - зачем требуется следить за изменениями.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671299
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть хранилище информации состоящее из трех логически связанных таблиц и справочного "обрамления".
В это хранилище пишут и читают информацию пользователи, а также пишут и читают администраторы.
Нужно сделать так, чтоб администратор и пользователь узнал об изменении/добавлении/удалении полей в таблицах.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671301
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"..полей и записей"
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671308
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть, нужно не просто добавить или изменить информацию в информационном хранилище, нужно поставить об этом в известность группу пользователей программы.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671314
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда лог - наиболее оптимальный вариант. Если жалко места, его можно чистить (скажем, записи недельной давности)
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671317
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiто есть, нужно не просто добавить или изменить информацию в информационном хранилище, нужно поставить об этом в известность группу пользователей программы.

Соответственно.
Либо пользователи периодически проверяют лог на предмет появления новых (с момента последнего запроса) записей.
Либо организовывать уведомление - у тебя какая СУБД?
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671326
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiто есть, нужно не просто добавить или изменить информацию в информационном хранилище, нужно поставить об этом в известность группу пользователей программы.

Соответственно.
Либо пользователи периодически проверяют лог на предмет появления новых (с момента последнего запроса) записей.
Либо организовывать уведомление - у тебя какая СУБД?

Логи там не подойдут, нужно что-то альтернативное.

Сейчас снова нелегкая свела с Access. Задал этот вопрос на форуме Access, советуют триггер Бенедикта. Скачал прогу, и нифига не понял. Пройдусь наверное, голова совсем не варит.
Спасибо!
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671334
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе триггер Бенедикта? Это то же ведение лога, только через ж00у.

Если свои таблицы ты модифицируешь своей же программой, то лог нужно писать самому - это гораздо прозрачней и масштабируемей.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671559
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно это реализовать в 3-х звенной архитектуре приложения. 1 звено - собственно само хранилище, 2 - звено сервер-приложений (промежуточный слой вашего ПО, отвечающий за бизнес-логику), 3 - клиентская часть, которая работает только через 2-звено.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671585
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneможно это реализовать в 3-х звенной архитектуре приложения. 1 звено - собственно само хранилище, 2 - звено сервер-приложений (промежуточный слой вашего ПО, отвечающий за бизнес-логику), 3 - клиентская часть, которая работает только через 2-звено.

тогда уж лучше перейти на SQL-сервер и засунуть бизнес-логику в хранимки.

а если нет желания усложнять - организовать бизнес-логику на стороне клиентской программы, но отделив ее от самого клиента
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671606
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Менять логику работы приложения нельзя. Есть уже построенная система.
Я думаю, что впиваться клыками в SQL сервер, мне еще рано, нужно сделать все в Accesse, но вопрос как мне кажется смежный и с VB.
Идея Бенедикта интересная. Она позволяет вложить внутрь процесса обновления и создания записи программную процедуру/функцию. Уже в ней разобраться что произошло и сделать все что нужно.
Тут есть заслуживающие внимания моменты.

Но у у меня не получается использовать этот механизм, еще немного побадаюсь и пойду другим путем.
Спасибо!
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671790
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-frutti,

Так это....
Получается, кроме тебя еще кто-то в таблицы пишет?
Тогда дело другое..., просто ты не говорил вроде, что создаешь не целое приложение, а часть какого-то другого
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36671944
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-frutti,

Так это....
Получается, кроме тебя еще кто-то в таблицы пишет?
Тогда дело другое..., просто ты не говорил вроде, что создаешь не целое приложение, а часть какого-то другого

Это что-то в духе органайзера для группы людей. Есть админ, который выдает в базу задания, есть пользователи, которые выполняют задания. Нужно ,чтобы каждая группа знала обо всех изменениях в базе.
Ну типа получилось, правда к сож. не попробовал применить инкапсуляцию (правильно я хоть слово то это пишу?) , но мне почему-то кажется, что будет еще масса подходящих случаев. :)
С триггерами Бенедикта разрулил. но к сож не все там так хорошо, как кажется, в частности они не работают при связанных таблицах, при доступе к данными любыми другими средствами ,кроме локально открытой жеты.
Тем не менее красиво получилось.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36672013
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiЭто что-то в духе органайзера для группы людей. Есть админ, который выдает в базу задания, есть пользователи, которые выполняют задания.

Я в третий раз попытаюсь выяснить: все программы, которые делают запись в эти таблицы, написаны тобой, или есть ЕЩЕ какие-то программы, которые тебе не подчиняются или, допустим, кто-то пишет в таблицы "ручками"?
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36672398
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiЭто что-то в духе органайзера для группы людей. Есть админ, который выдает в базу задания, есть пользователи, которые выполняют задания.

Я в третий раз попытаюсь выяснить: все программы, которые делают запись в эти таблицы, написаны тобой, или есть ЕЩЕ какие-то программы, которые тебе не подчиняются или, допустим, кто-то пишет в таблицы "ручками"?

Все все написано мною, и соответственно все мне подконтрольно. "Ручками" никто не пишет.
Полей в таблицах много.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36672416
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiВсе все написано мною, и соответственно все мне подконтрольно. "Ручками" никто не пишет.
Полей в таблицах много.

Тогда непонятно, зачем тебе внешний триггер, с которым ты еще и справится никак не можешь.

У тебя есть конкретное место в программе, которое пишет в нужную таблицу. Если вдруг эти места разбросаны по всей программе - это неправильно - нужно собрать в одно место. К этому же месту прикручиваешь то, что хочешь чтобы делал триггер, и не паришь себе мозг. И такой подход, повторюсь, гораздо более масштабируемый и обслуживаемый.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36672574
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiВсе все написано мною, и соответственно все мне подконтрольно. "Ручками" никто не пишет.
Полей в таблицах много.

Тогда непонятно, зачем тебе внешний триггер, с которым ты еще и справится никак не можешь.

У тебя есть конкретное место в программе, которое пишет в нужную таблицу. Если вдруг эти места разбросаны по всей программе - это неправильно - нужно собрать в одно место. К этому же месту прикручиваешь то, что хочешь чтобы делал триггер, и не паришь себе мозг. И такой подход, повторюсь, гораздо более масштабируемый и обслуживаемый.

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

И в аксе нет конкретного места, которое пишет в программу. Все эти тонкости и детали сокрыты от пользователя. В этом есть свои положительные моменты. Есть форма с подформами. Есть контролы. Можно конечно отслеживать изменения через контролы, но мне показалось правильнее стать с блокнотиком возле таблицы и в сл. если в ней меняются данные чиркнуть в тетрадку мелким почерком:)
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36672585
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-frutti,

Тьфу, блин, ты и прогу в аксессе пишешь?
Ты же вроде на VB6 начинал...
То-то я тебя понять никак не могу
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36672633
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiИ в аксе нет конкретного места, которое пишет в программу

Почему нет?
У формы целая куча событий:
До вставки
После вставки
До обновления
После обновления
Внесены изменения .... и т.д. и т.п.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36673334
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас предложили работу связаную с аксом. Шансов у меня мало, так как оч. серьезная контора.
Решил попробовать, а почему и нет. Вот и нужно было кое-что для них чирикнуть.

Shocker.Protutti-fruttiИ в аксе нет конкретного места, которое пишет в программу
Почему нет?
У формы целая куча событий:
До вставки
После вставки
До обновления
После обновления
Внесены изменения .... и т.д. и т.п.

Эти все события имеются, я даже с ними имел дело, но все они связаны с формой, а в случае с "триггером" я получаю "После обновления", "Внесены изменения" вне связи с формой.
Это работает если код делает изменения в таблице, или если запрос. Другими словами происходит некоторая концентрация методов работы с данными. Я в одном месте контролирую ситуацию, а не в 5 или 10ти.
Возможно я ошибаюсь, но мне понравилась сама суть подхода. Плохо только то ,что это все работает локально. Короче триггеры в настоящих СУБД суперская штука.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36673356
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в реляционных базах данных есть специальная возможность - транзакция. поищите тут или в гугле примеры как правильно это делать в рамках акцесса по словам BeginTrans, CommitTrans
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36673386
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneв реляционных базах данных есть специальная возможность - транзакция. поищите тут или в гугле примеры как правильно это делать в рамках акцесса по словам BeginTrans, CommitTrans

Транзакции в аксе я немного пользую (там где нужно "обрамить" группу операторов сиквела и выполнить их либо все либо ни одного) но сейчас я говорил немного о другом.
...
Рейтинг: 0 / 0
Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
    #36673398
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiKonst_Oneв реляционных базах данных есть специальная возможность - транзакция. поищите тут или в гугле примеры как правильно это делать в рамках акцесса по словам BeginTrans, CommitTrans

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

я вам толкую о том, что транзакции как раз и применяются при многопользовательской работе с базой, чтобы исключить ситуации с колизиями вставки/обновления/удаления данных одновременно разными пользователями.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 1 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите пожалуйста, как мне отследить изменения в рекордсетах?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]