Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / автоматическое обновление / 24 сообщений из 24, страница 1 из 1
20.10.2003, 14:40
    #32298462
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
на аксессе в адп проекте при изменении данных в табличной форме и переходе на другую запись аксесс автоматически кладет обновления в базу

как его отучить делать такую гадость ?
или
как изменить содержание запроса выполняемого при этом обновлении ?

я хочу делать обновления сам когда захочу и как захочу ;)

ЗЫ: Половые связи с другими языками или средами разработки не предлагать :)
...
Рейтинг: 0 / 0
20.10.2003, 14:50
    #32298490
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
как его отучить делать такую гадость ?
Эта гадость - стандартное поведение аксеса начиная с первой версии.
Непонятно как вы работали с аксесом если этого не знаете.
Если же вы работали не с аксесом - то почему "Половые связи с другими языками или средами разработки не предлагать"?

А вообще использовать св-во формы Me.Recordset и транзакции.

я хочу делать обновления сам когда захочу и как захочу ;)
Ну и кто тебе родной мешает? Выгони пользователя на хер и обновляй все сам.
...
Рейтинг: 0 / 0
20.10.2003, 14:59
    #32298518
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Эта гадость - стандартное поведение аксеса начиная с первой версии.
мне и нужно нестандартное поведение вопрос в том как это реализовать

Непонятно как вы работали с аксесом если этого не знаете.
Если же вы работали не с аксесом - то почему "Половые связи с другими языками или средами разработки не предлагать"?

так надо

А вообще использовать св-во формы Me.Recordset и транзакции.
не понял про что Вы ... это как то связано с поставленным вопросом ?

Ну и кто тебе родной мешает? Выгони пользователя на хер и обновляй все сам.
всмысле вообще выкинуть все компы кроме сервера БД и сидеть на телефоне ручками апдейты к базе писать ?
...
Рейтинг: 0 / 0
20.10.2003, 15:02
    #32298528
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
> всмысле вообще выкинуть все компы кроме сервера БД

А можно и сервер, до кучи :)

Погляди в Form_BeforeUpdate и Form_AfterUpdate. М.б. тебе это нужно?
...
Рейтинг: 0 / 0
20.10.2003, 15:05
    #32298538
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
А вообще использовать св-во формы Me.Recordset и транзакции.
не понял про что Вы ... это как то связано с поставленным вопросом ?


Я про то, что
Открываешь адо рекордсет

Прицепляешь его к форме через св-во Me.Recordset

Перед любым изменением (событие OnDirty) начинаешь транзакцию

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

Не забываешь откатить транзакцию (если еще открыта) в момент закрытия формы.
...
Рейтинг: 0 / 0
20.10.2003, 15:10
    #32298551
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
сейчас вижу такое решение
Код: plaintext
1.
2.
3.
4.
Private Sub Form_BeforeUpdate(Cancel As Integer)
  здесь update который я хочу после чего
  Cancel = True
  Me.Undo
End Sub

оно мне не нравится
...
Рейтинг: 0 / 0
20.10.2003, 15:17
    #32298571
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Перед любым изменением (событие OnDirty) начинаешь транзакцию
По нажатию на кнопку (или когда ты там хочешь делать обновления сам) коммитишь транзакцию


оч много оч длинных транзакций оч не выгодно блокирующих данные
не вариант
...
Рейтинг: 0 / 0
20.10.2003, 15:24
    #32298584
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
оч много оч длинных транзакций оч не выгодно блокирующих данные
На всякий случай поясню. Имелось в виду начинать транзакцию только если она еще не начата.


Тебе нужно по одной записи апдейтить?
Тогда чем тебе твой собственный вариант не нравится?
Родное аксесовкое обновление отключил? Отключил
Свое собственное сделал? Сделал.
Обошелся тремя строчками кода. Чем недоволен?
...
Рейтинг: 0 / 0
20.10.2003, 15:40
    #32298611
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Как вариант - вообще делай отсоединенный рекордсет (если он получится обновляемым конечно). На AfterUpdate формы делай все что хочешь и обновляй источник.
...
Рейтинг: 0 / 0
20.10.2003, 16:35
    #32298738
1
1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
делаешь локальную таблицу и после ввода даных обновляеш таблицу на сервере когда захочешь и как захочешь;)
...
Рейтинг: 0 / 0
20.10.2003, 17:16
    #32298830
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Как вариант - вообще делай отсоединенный рекордсет
да вот я чего то вроде этого и хочу добиться чтоб был вообще анбаунд контрол
думал если так сделать

dim rs as new adodb.recordset
rs.open "select bla from bla",conection,ту все попробовал,и тут
set me.recorset = rs
поле1.controlsource = "bla"

то получится
а нифига
изменяю поле меняю ров и вижу апдейт :(
...
Рейтинг: 0 / 0
20.10.2003, 17:21
    #32298842
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
вообще надеялся на то что можно как то строчку с апдейтом самому писать

мой вариант не оч канает тем что придется рекверить всю форму
например в форме 5 записей и после "кривого" апдейта мне придется реквери сделать вместо ресинка 1ой строчки рекордсета %)
...
Рейтинг: 0 / 0
20.10.2003, 17:32
    #32298866
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
После того как наваял рекордсет сделай Set rs.ActiveConnection = Nothing
проверять некогда, но может чего хорошего и получится.
...
Рейтинг: 0 / 0
20.10.2003, 17:35
    #32298874
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
2 Лох Позорный
Нормально всё получится - как раз отсоединённый от данных набор записей и получится.
Только надо писать ещё rs.CursorLocation = adUseClient по-моему, хотя не уверен, надо проверять, читал про это уже достаточно давно...
...
Рейтинг: 0 / 0
20.10.2003, 17:49
    #32298906
Ostrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Как-то непонятно поставлен вопрос.
Eсли нужно запретить пользователю вообще что-либо менять в форме то:

Private Sub Form_Load()
For Each Control In Me.Controls
If Control.ControlType = acTextBox Then: Control.Enabled = False
Next Control
End Sub

Если надо проигнорировать изменения сделанные пользователем то так:

Private Sub Form_BeforeUpdate(Cancel As Integer)
Cancel = True
End Sub
...
Рейтинг: 0 / 0
21.10.2003, 12:51
    #32299680
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
В общим делая свою программу на C# я поступаю следующим образом.
Создаю ДатаАдаптер, Создаю Коннекшн, Создаю ДатаСет.

У ДатаАдаптера, есть такие свойства которые хранят значения запросов которые нужно выполнить при Update Inset Delete и Select, в которые я могу написать что угодно сам... И вызывать метод который синхронизирует данные я могу в любой нужный мне момент.

Как подобного алгоритма действий добиться в аксессе непонятно... вот в чем собсвенно вопрос.
...
Рейтинг: 0 / 0
21.10.2003, 13:01
    #32299700
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
>Как подобного алгоритма действий добиться в аксессе непонятно...

Тебя Лох Позорный уже просветил по поводу транзакций. Это именно то, что ты хочешь.
...
Рейтинг: 0 / 0
21.10.2003, 17:23
    #32300273
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
не понял я как "уже просветил по поводу транзакций" связано с тем чего я хочу

еще раз повторю

я хочу чтоб запрос которым аксесс апдейтит строчку указал я сам ...
...
Рейтинг: 0 / 0
21.10.2003, 17:29
    #32300283
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
нет ну это ж ппц ... а как быть с секьюрити ?
как мне запретить человеку таблицу курочить ?
делать на все таблички вьюшки с тригерами инстед оф апдейт ?
...
Рейтинг: 0 / 0
21.10.2003, 17:31
    #32300286
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Ты в ADP. Ну так и ставь права пользователям.
...
Рейтинг: 0 / 0
21.10.2003, 17:39
    #32300296
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
как?
например я хочу чтоб у юзера не было прав обновлять таблицу напрямую но было право вызвать хп которая обновляет по моим правилам

как я этого могу добиться если аксесс сам генерит строчку апдейта
...
Рейтинг: 0 / 0
21.10.2003, 17:40
    #32300299
Paul Chabinsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
вообще не менять ничего с баунд конролов ? только из диалогов чтоли ?
...
Рейтинг: 0 / 0
21.10.2003, 17:50
    #32300314
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
Хочешь, чтоб по твоим - пиши триггеры.
...
Рейтинг: 0 / 0
21.10.2003, 18:05
    #32300349
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматическое обновление
2 Paul Chabinsky
Датасеты и всё прочее есть в дотнете - так что пиши всё там, аксес так делать не умеет, либо на транзакциях всё строй (уже говорили). Либо рекордсет отсоединяй. Если хочешь работать в аксесе. Твой механизм там реализуется.

Paul Chabinsky писал:например я хочу чтоб у юзера не было прав обновлять таблицу напрямую но было право вызвать хп которая обновляет по моим правилам

Если у пользователя нет прав на редактирование, то аксес никакого апдейта генерить не будет - потому как работает с подключением, указанном в адп.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / автоматическое обновление / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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