Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
Есть табличка в MS SQL, в которой поле "id" ключевое и формируется автоматически (уникальное в пределах данной табл.). На дабавление повешен тригер, который регистрирует все добавления в другой табличке записывая туда сформированное "id" и др. инф. Средствами самого MS SQL добавление проходит нормально (как задумано), а при попытке добавить запись в форме MS Access появ-ся ошибка: "Данные, добавленные в БД, не будут отображены в форме, т.к. они противоречат условиям на базовый источник записей." В форме никаких ограничений на "базовый источник записей" не предусмотрено. При удалении тригера добавл. в форме работает. Подскажите пожалуйста в чём проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2003, 16:13 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
Сталкивался с нечто подобным. До конца не разгадал, но предполагаю следующие. При доюавлении записи форма, по-видимому, переоткрывает Recordset и успевает это сделать до того как отработает триггер. А потом таки определяет, что в вставленную ею запись влез кто-то еще (триггер) и изменил ее. И форма не берет эту запись в рекордсет. Как бороться с этим - не придумал. Имхо лучше таки отказаться от варианта генерить id на сервере триггером (см. /topic/21948 ). При таком способе возникает еще ряд неприятных сюрпризов, как на клиенте, так и на сервере. Сам долго боролся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2003, 16:29 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что после добавления Access выполняет попытку получить с сервера значение Id, посылая туда запрос SELECT @@Identity Понятно, что этот запрос вернет код ПОСЛЕДНЕЙ @@Identity, т.е. в Вашем случае - значение поля Id в записи ВТОРОЙ таблицы, в которой триггер что-то там регстрировал. После получения значения, как он думае Id, Access выполняет запрос типа: SELECT * FROM DataSource WHERE @id = <Полученное значение>. Этот запрос, понятное дело можеи и ничего не вернуть, или вернуть какую-то чепуху, в соответствии со значением поля Id во второй таблице. Пока не известно другого радикального способа это обойти, кроме как отказаться от использования Identity в первой или во второй таблице, или в обеих сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:17 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
Julius Пока не известно другого радикального способа это обойти, кроме как отказаться от использования Identity в первой или во второй таблице, или в обеих сразу. Да брось ты. Я один из способов еще в 98-ом году выложил в инет. Андрей А. Иванов Есть табличка в MS SQL, в которой поле "id" ключевое и формируется автоматически Ты внятно скажи, это поле identity или ты сам формируешь значение ключа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:52 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
>Pavel adp проектов в 98 году еще не было и впомине. разговор ведется именно об этой связке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:57 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
ДиД Ну спасибо, рассказали! Оказывается я не знаю о чем утверждаю. Спасибо. Действительно, A2K тогда еще не было. Зато был MSSQL 7.0 (и ADO в составе Visual Studio). Те же проблемы со счетчиком, то же свойство рекордсета Resync Command. Короче, готов помочь, но пусть сначала Андрей А. Иванов уточнит с ключом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 13:17 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
Убрал поле Identity в табличке регистрации изменений (Лог). Теперь работает, но приходится самому генерить "id" для этой таблички. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 13:24 |
|
||
|
Ошибка при добавлении записи
|
|||
|---|---|---|---|
|
#18+
Ну теперь понятно. Хотя я же спросил, трудно ответить что ли? Вот таблетка: верни в таблицу-лог счетчик, а в триггере на втавку основной таблицы вставь: Код: plaintext 1. 2. В конце вставь Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32100871&tid=1682393]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 413ms |

| 0 / 0 |
