Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / record is deleted / 7 сообщений из 7, страница 1 из 1
15.07.2004, 13:58:46
    #32605933
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
MDB XP

при выполнении запроса на добавление из 4 линкованых таблиц SQL Server

в линкованую MDB получается ошибка record is deleted

если запрос на добавление открыть в виде таблицы и все 1080 записей через буфер обмена перенести в нужную таблицу то все переносится

если из запроса убрать второй или третий left join тоже все работает.
если исходные таблицы прилинковать к аналогичным таблицам в MDB - тоже все в порядке

база досталась в наследство, запрос делался в конструкторе
вот текст запроса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
INSERT INTO [#Оплата] ( Дата, Сумма, Наличные, Назначение, Сотрудник, Предприятие, Накладная,
Примечание, Платежка, [Дата платежки], [Номер ордера], Архив )
SELECT Деньги.Дата, Деньги.Сумма, Деньги.Наличные, Назначение.Наименование, Люди.Наименование,
Деньги.Предприятие, Деньги.Документ, Деньги.Примечание, Деньги.Платежка, Деньги.[Дата платежки],
Деньги.[Номер ордера], False AS Выражение1
FROM ((Деньги LEFT JOIN Накладные ON Деньги.Документ = Накладные.Накладная)
LEFT JOIN Назначение ON Деньги.Назначение = Назначение.Назначение)
LEFT JOIN Люди ON Деньги.Сотрудник = Люди.Человек
WHERE (((Year([Накладные].[Дата]))=[Forms]![#Обновление отчета]![Год])) OR
(((Year([Деньги].[Дата]))=[Forms]![#Обновление отчета]![Год]));
...
Рейтинг: 0 / 0
18.07.2004, 12:20:54
    #32609554
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
В третьей или еще в какой-то табле есть поле или поля с типом, непонятным для Акса типа digint или есть поле bit без default. Думаю, что отремонтировать можно если в запрос воткнуть преобразование типов. Лучше со стороны сервера.
...
Рейтинг: 0 / 0
18.07.2004, 12:53:18
    #32609555
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
то есть все в МДБ? и [#Оплата] - линкованная мдб табла, а все остальные - серверные?

я попробовал вот что - собственно селект оформил как самостоятельный запрос к серверу в мдб, пусть его зовут qry1. исходный запрос преобразовал к виду insert into [#Оплата] (...) SELECT ...
FROM qry1
(В расчете на фиксацию числа сеансов к целевой табле. Но уверенности нет.)
вариант - создать ЛОКАЛЬНУЮ копию целевой таблы, в которую производить "предварительную запись", а потом из нее уже переносить в линкованную.


Rivkin Dmitry прав в том отношении, что для подобных конфигураций ошибки приведения типов наиболее характерны. Некоторые лечатся установленными сервиспаками (на все - и мдак и джет). Второй источник ошибок в таких конструкциях - многосеансовое обращение к табле. (Не обязательно лечится, но сервис-паки именно на Акцесс я бы, наверно, ставил) В твоем случае, похоже на наличие более одного соединения к целевой табле для вставки.
...
Рейтинг: 0 / 0
18.07.2004, 12:54:45
    #32609556
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
Victosha
я попробовал вот что

То есть, подразумевается - я бы попробовал
...
Рейтинг: 0 / 0
19.07.2004, 09:10:12
    #32609835
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
спасибо за ответы.

авторя попробовал вот что - собственно селект оформил как самостоятельный запрос к серверу в мдб, пусть его зовут qry1. исходный запрос преобразовал к виду insert into [#Оплата] (...) SELECT ...
FROM qry1

В общем так и и сделал. по любому запрос к серверу быстрее чем на клиенте считать

авторRivkin Dmitry прав в том отношении, что для подобных конфигураций ошибки приведения типов наиболее характерны. Некоторые лечатся установленными сервиспаками (на все - и мдак и джет). Второй источник ошибок в таких конструкциях - многосеансовое обращение к табле. (Не обязательно лечится, но сервис-паки именно на Акцесс я бы, наверно, ставил) В твоем случае, похоже на наличие более одного соединения к целевой табле для вставки.

разумеется сервиспаки все стоят jetsp8 Mdac2.8 AccessXPSP3


еще одна трабла - сегодня буду искать причину:
экспортирую базу MDB на MSSQL все экспортируется, кроме пары таблиц
вероятная причина столбец даты

пробовал upsizing wizard и MSSQL DTS wizard - оба не могут перегнать данные
аксессовский просто пишет что ничего не может без детализации ошибки а DTS говорит что ошибка в столбце даты - и почему-то приплетает к этому что -то типа
ошибка преобразования в поле датареализации типа dbtimeshamp хотя тип
- дата а не таймштамп .....

проверил даты на валидность - нашел дату 22/09/3229
заменил на подходящее значение - не помогает та же ошибка
...
Рейтинг: 0 / 0
19.07.2004, 09:32:53
    #32609859
TatianaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
у меня был такой (и не однажды случай) если пользовалась акксесовским мастером , то при перетаскивании таблиц добавлял в таблицу поле
dbtimestamp
, и к тому же к ключу(имени) добавлял какой-то идиотский префикс-5-6 букв "а" причём у своего коллеги я тоже такое видела, как раз помогала базу переводить
после этого решила пользоваться для перевода только ДТСом

но самое интересное, что это поле добавлялось не только где было поле с датой,
закономерность я не вычислила
...
Рейтинг: 0 / 0
19.07.2004, 11:49:33
    #32610204
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
record is deleted
авторзакономерность я не вычислила

в dts есть опция вставлять ли в таблицу это поле дополнительно и опции всегда - никогда и автоматически.

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


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