|
|
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
на аксессе в адп проекте при изменении данных в табличной форме и переходе на другую запись аксесс автоматически кладет обновления в базу как его отучить делать такую гадость ? или как изменить содержание запроса выполняемого при этом обновлении ? я хочу делать обновления сам когда захочу и как захочу ;) ЗЫ: Половые связи с другими языками или средами разработки не предлагать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 14:40 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
как его отучить делать такую гадость ? Эта гадость - стандартное поведение аксеса начиная с первой версии. Непонятно как вы работали с аксесом если этого не знаете. Если же вы работали не с аксесом - то почему "Половые связи с другими языками или средами разработки не предлагать"? А вообще использовать св-во формы Me.Recordset и транзакции. я хочу делать обновления сам когда захочу и как захочу ;) Ну и кто тебе родной мешает? Выгони пользователя на хер и обновляй все сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 14:50 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Эта гадость - стандартное поведение аксеса начиная с первой версии. мне и нужно нестандартное поведение вопрос в том как это реализовать Непонятно как вы работали с аксесом если этого не знаете. Если же вы работали не с аксесом - то почему "Половые связи с другими языками или средами разработки не предлагать"? так надо А вообще использовать св-во формы Me.Recordset и транзакции. не понял про что Вы ... это как то связано с поставленным вопросом ? Ну и кто тебе родной мешает? Выгони пользователя на хер и обновляй все сам. всмысле вообще выкинуть все компы кроме сервера БД и сидеть на телефоне ручками апдейты к базе писать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 14:59 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
> всмысле вообще выкинуть все компы кроме сервера БД А можно и сервер, до кучи :) Погляди в Form_BeforeUpdate и Form_AfterUpdate. М.б. тебе это нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:02 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
А вообще использовать св-во формы Me.Recordset и транзакции. не понял про что Вы ... это как то связано с поставленным вопросом ? Я про то, что Открываешь адо рекордсет Прицепляешь его к форме через св-во Me.Recordset Перед любым изменением (событие OnDirty) начинаешь транзакцию По нажатию на кнопку (или когда ты там хочешь делать обновления сам) коммитишь транзакцию Не забываешь откатить транзакцию (если еще открыта) в момент закрытия формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:05 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
сейчас вижу такое решение Код: plaintext 1. 2. 3. 4. оно мне не нравится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:10 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Перед любым изменением (событие OnDirty) начинаешь транзакцию По нажатию на кнопку (или когда ты там хочешь делать обновления сам) коммитишь транзакцию оч много оч длинных транзакций оч не выгодно блокирующих данные не вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:17 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
оч много оч длинных транзакций оч не выгодно блокирующих данные На всякий случай поясню. Имелось в виду начинать транзакцию только если она еще не начата. Тебе нужно по одной записи апдейтить? Тогда чем тебе твой собственный вариант не нравится? Родное аксесовкое обновление отключил? Отключил Свое собственное сделал? Сделал. Обошелся тремя строчками кода. Чем недоволен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:24 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Как вариант - вообще делай отсоединенный рекордсет (если он получится обновляемым конечно). На AfterUpdate формы делай все что хочешь и обновляй источник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:40 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
делаешь локальную таблицу и после ввода даных обновляеш таблицу на сервере когда захочешь и как захочешь;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:35 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Как вариант - вообще делай отсоединенный рекордсет да вот я чего то вроде этого и хочу добиться чтоб был вообще анбаунд контрол думал если так сделать dim rs as new adodb.recordset rs.open "select bla from bla",conection,ту все попробовал,и тут set me.recorset = rs поле1.controlsource = "bla" то получится а нифига изменяю поле меняю ров и вижу апдейт :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 17:16 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
вообще надеялся на то что можно как то строчку с апдейтом самому писать мой вариант не оч канает тем что придется рекверить всю форму например в форме 5 записей и после "кривого" апдейта мне придется реквери сделать вместо ресинка 1ой строчки рекордсета %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 17:21 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
После того как наваял рекордсет сделай Set rs.ActiveConnection = Nothing проверять некогда, но может чего хорошего и получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 17:32 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
2 Лох Позорный Нормально всё получится - как раз отсоединённый от данных набор записей и получится. Только надо писать ещё rs.CursorLocation = adUseClient по-моему, хотя не уверен, надо проверять, читал про это уже достаточно давно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 17:35 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Как-то непонятно поставлен вопрос. 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 17:49 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
В общим делая свою программу на C# я поступаю следующим образом. Создаю ДатаАдаптер, Создаю Коннекшн, Создаю ДатаСет. У ДатаАдаптера, есть такие свойства которые хранят значения запросов которые нужно выполнить при Update Inset Delete и Select, в которые я могу написать что угодно сам... И вызывать метод который синхронизирует данные я могу в любой нужный мне момент. Как подобного алгоритма действий добиться в аксессе непонятно... вот в чем собсвенно вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 12:51 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
>Как подобного алгоритма действий добиться в аксессе непонятно... Тебя Лох Позорный уже просветил по поводу транзакций. Это именно то, что ты хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 13:01 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
не понял я как "уже просветил по поводу транзакций" связано с тем чего я хочу еще раз повторю я хочу чтоб запрос которым аксесс апдейтит строчку указал я сам ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 17:23 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
нет ну это ж ппц ... а как быть с секьюрити ? как мне запретить человеку таблицу курочить ? делать на все таблички вьюшки с тригерами инстед оф апдейт ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 17:29 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Ты в ADP. Ну так и ставь права пользователям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 17:31 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
как? например я хочу чтоб у юзера не было прав обновлять таблицу напрямую но было право вызвать хп которая обновляет по моим правилам как я этого могу добиться если аксесс сам генерит строчку апдейта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 17:39 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
вообще не менять ничего с баунд конролов ? только из диалогов чтоли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 17:40 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
Хочешь, чтоб по твоим - пиши триггеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 17:50 |
|
||
|
автоматическое обновление
|
|||
|---|---|---|---|
|
#18+
2 Paul Chabinsky Датасеты и всё прочее есть в дотнете - так что пиши всё там, аксес так делать не умеет, либо на транзакциях всё строй (уже говорили). Либо рекордсет отсоединяй. Если хочешь работать в аксесе. Твой механизм там реализуется. Paul Chabinsky писал:например я хочу чтоб у юзера не было прав обновлять таблицу напрямую но было право вызвать хп которая обновляет по моим правилам Если у пользователя нет прав на редактирование, то аксес никакого апдейта генерить не будет - потому как работает с подключением, указанном в адп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2003, 18:05 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32298538&tid=1678739]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 332ms |

| 0 / 0 |
