powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при сохранении данных.
12 сообщений из 12, страница 1 из 1
Ошибка при сохранении данных.
    #32364438
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adpXP+MSSQL2000

Где подводный камень?
Вьюха состоит из двух таблиц: Orders и Clients, LEFT JOIN по IDclient.
Смотрю вьюху в режиме таблицы. Заношу в поле IDclient код клиента. Оно мне выдает: Данные, добавленные в базу данных, не будут отображены в форме, т. к. они противоречат на базовый источник записей.
При следующем просмотре вьюхи все ОК. Со всеми добавленными данными.

При тех же действиях в Enterprise Manager все нормально.
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364471
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного уточню свой вопрос.

На самом деле при Orders LEFT JOIN Clients все нормально. Описанная выше проблема возникает при:

SELECT Orders.*
FROM Orders LEFT OUTER JOIN
Clients Clients_1 ON Orders.SenderID = Clients_1.ID LEFT OUTER JOIN
Clients ON Orders.AddresseeID = Clients.ID

Вот теперь при любом изменении в полях AddresseeID, SenderID возникает ошибка.
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364474
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задай на форме команду синхронизации
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364476
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На какой форме? Я ж говорю: я вьюху смотрю в режиме таблицы. И пытаюсь изменить данные.
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364485
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>я вьюху смотрю в режиме таблицы

Оригинальный интерфейс :)
ну ладно ... смотри дальше
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364500
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
черт возьми))
Дело-то не в интерфейсе. Понятно, что SQL-инструкция используется как источник записей для формы. Просто я проверяю ее в режиме таблицы. Ладно.

Ни разу не сталкивался с командой синхронизации. Хелп говорит, что это SQL-инструкция для источника записей формы после обновления. ОК. Я сдублировал в команду синхронизации изначальную SQL-инструкцию. Ничего не изменилось. Просвети, плз, чего я не так делаю?
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364514
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>сдублировал в команду синхронизации изначальную SQL-инструкцию. Ничего не изменилось. Просвети, плз, чего я не так делаю?

в секции Where должен быть первичны ключ равный "?"

т.е.
Select p1,а1,f3 from t1 Where p1=?
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364522
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абсолютно ничего не изменилось.
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364541
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у всех работает.
у товариша zz
не хочет. странно как-то.
товариш zz может
не туда вставляеие?
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364543
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решилась. Спасибо, Виктор, натолкнул на мысль. Достаточно было
UniqueTable=Orders
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364564
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я думал УникальнаТаблица у тебя и так стоит
...
Рейтинг: 0 / 0
Ошибка при сохранении данных.
    #32364606
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zz
может стоит сначала
справку почитать?

Microsoft Access поддерживает только вставку, удаление и обновление данных в строках уникальной таблицы (на стороне «многие» объединения) в обновляемых статических наборах записей (Обновляемый снимок. Тип набора записей, обеспечивающий эффективную работу в среде клиент/сервер за счет кэширования данных на стороне клиента, что позволяет уменьшить число обращений к серверу для доступа к данным и их обновления.), созданных при выполнении операции объединения «один-ко-многим» в представлении, сохраненной процедуре, возвращающей строки, или инструкции SQL SELECT. Microsoft Access не позволяет обновлять поля на стороне объединения «один».

Для того чтобы набор записей (Набор записей. Общий термин для объектов Recordset типа таблицы, типа динамического набора записей и типа статического набора записей, представляющий набор записей, имеющий характеристики объекта.) был обновляемым, в форме или странице, основанной на объединении «один-ко-многим», должно определяться свойство Однозначная таблица (UniqueTable). Уникальная таблица располагается на стороне «многие» отношения «один-ко-многим». Таблицу называют уникальной потому, что одной ее записи соответствует только одна запись представления, возвращающей строки сохраненной процедуры или инструкции SQL. Например, в представлении, объединяющем таблицы «Клиенты» и «Заказы», таблица «Заказы» является уникальной, поскольку одна запись из этой таблицы соответствует не более чем одной уникальной записи в представлении. Напротив, одна запись в таблице «Клиенты» может соответствовать нескольким записям в представлении.

Кроме того, для источника записей (Источник записей. Базовый источник данных для формы, отчета или страницы доступа к данным. В базе данных Microsoft Access источником записей может быть таблица, запрос или инструкция SQL. В проекте Microsoft Access источником записей может быть таблица, представление, инструкция SQL или сохраненная процедура.), являющегося сохраненной процедурой или инструкцией SQL, содержащей неименованные параметры, если требуется отобразить текущее значение записи после ее обновления, необходимо также задать свойство Команда синхронизации (ResyncCommand). Обратите внимание, что если в этих случаях свойство Команда синхронизации (ResyncCommand) не задано, единственным последствием будет невозможность просмотра текущих значений записи после обновления или вставки. Обновление или вставка продолжают выполняться правильно. Для других типов источников данных Microsoft Access отображает текущие значения даже в тех случаях, когда свойство Команда синхронизации (ResyncCommand) не задано.

В обновляемом статическом наборе записей текущие значения отображаются только в отредактированных или вновь вставленных записях после успешного сохранения (см. обсуждение выше). Например, таблица «Заказы» содержит в качестве первичного ключа столбец кодов идентификации. При вставке данных в эту таблицу новое значение «КодЗаказа» отображается после сохранения записи или перехода к другой записи (что приводит к неявному сохранению записи). Точно так же в форме, основанной на представлении, объединяющем таблицы «Клиенты» и «Заказы», при обновлении поля «КодЗаказа» для другого значения «КодКлиента» адрес нового клиента отображается в поле «Адрес» только после сохранения записи.

Наконец, все ключевые поля или имя уникальной таблицы должны быть включены в список выбора инструкции SQL SELECT (хотя не обязательно видимы). Также необходимо выбрать все столбцы, удовлетворяющие условию NOT NULL, для которых не определены серверные значения по умолчанию, и предоставить в наборе записей значения для этих столбцов. Это не относится к полям с установленным свойством Идентификация.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при сохранении данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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