powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / О формах ввода
16 сообщений из 16, страница 1 из 1
О формах ввода
    #32138508
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(Проект ADP, к серверу MSSQL.)
Есть ленточная форма связанная с таблицей, при вводе данных в форму и переходе на новую строку Аксес выдает сообщение:
"невозможно обновить запись, поскольку она удалена другим пользователем, либо в ней изменено значение ключа"
После чего вместо новых данных ячейки либо обнуляются, в случае если форма указана для ввода данных, либо в ячейках пишет "#ошибка".
Что это может быть и как от этого избавиться???
...
Рейтинг: 0 / 0
О формах ввода
    #32138517
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читаем справку:

Свойство «Команда синхронизации» (ResyncCommand)
Свойство Команда синхронизации (ResyncCommand) определяет инструкцию SQL или сохраненную процедуру, которая используется в обновляемом статическом наборе записей таблицы. String, чтение/запись.

выражение.ResyncCommand

выражение Обязательно. Выражение, возвращающее один из объектов в списке «Применение».

Заметки
Свойство Команда синхронизации (ResyncCommand) является строковым выражением, представляющим инструкцию SQL или сохраненную процедуру, параметры которой задаются ключевыми столбцами уникальной таблицы в выводящемся наборе записей. В качестве маркера параметров используется вопросительный знак (?).

Значение данного свойства задается в окне свойств или в программе Microsoft Visual Basic.

Параметры должны соответствовать как по количеству, так и по порядку набору ключевых столбцов таблицы, определяемой свойством Однозначная таблица (UniqueTable). Свойство Команда синхронизации (ResyncCommand) предназначено для выбора «фиксированных» значений строки в наборе записей после обновления, в том числе обновления в столбцах объединения.

Если значение свойства Команда синхронизации (ResyncCommand) является пустым, то Microsoft Access определяет для страниц доступа к данным и для форм, основанных на представлениях или на запросах SQL без параметров, содержащих объединение, операцию ресинхронизации с помощью соответствующего запроса. Для страниц доступа к данным и форм, основанных на сохраненных процедурах или на инструкциях SQL с параметрами, Microsoft Access во время выполнения не может определить соответствующий запрос на синхронизацию. Поэтому пользователь должен определить свойство Команда синхронизации (ResyncCommand), чтобы обеспечить правильные характеристики обновления строк. Если свойство Команда синхронизации (ResyncCommand) не задано и Microsoft Access не может определить соответствующий запрос, то после обновления или вставки выполняется стандартная операция синхронизации ADO (вывод текущих значений).
...
Рейтинг: 0 / 0
О формах ввода
    #32138531
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а поконкретней, пожалуйста, а то как то расплывчато.
...
Рейтинг: 0 / 0
О формах ввода
    #32138552
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо править тригер.
...
Рейтинг: 0 / 0
О формах ввода
    #32138554
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и запрос для отображения таблицы - выборка всех записей, а вот добавляя строку, единственное что я использую - тригер на вставку, чтобы данные еще вставлялись в другую таблицу.
...
Рейтинг: 0 / 0
О формах ввода
    #32138584
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что самое интересное, есть ли тригер или его нет ошибку выдает одну и ту же.
...
Рейтинг: 0 / 0
О формах ввода
    #32138589
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавте в тригер
Код: plaintext
1.
2.
3.
4.
5.
6.
Declare @Idt Int, @s VarChar( 50 )
Set @Idt = @@Identity
 /* Ваш код
INSERT .....
*/ 
Set @s = 'Select Identity(Int, ' + Cast(@Idt As VarChar( 10 )) +' ,1) As idt Into #Tmp'
Execute(@s)
...
Рейтинг: 0 / 0
О формах ввода
    #32138597
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал добавить в тригер, но ничего не дало.
...
Рейтинг: 0 / 0
О формах ввода
    #32138606
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глюк в sql server пропал, а вот аксес все равно ругается на вставку новых данных.
...
Рейтинг: 0 / 0
О формах ввода
    #32138652
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может есть еще идеи, а то вся работа застопорилась????
...
Рейтинг: 0 / 0
О формах ввода
    #32138657
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TimeStamp случайно не используете?
...
Рейтинг: 0 / 0
О формах ввода
    #32138668
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не использую.
Самое интересное, создаю новую форму и эта проблема не наблюдается, возможно это происходит по тому, что тригер был написан после создания формы, и она не обновилась, но заново ее переписывать не охота, может возможно что-нить в свойствах поменять????
...
Рейтинг: 0 / 0
О формах ввода
    #32138727
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иногда бывают глюки, можно сохранить формы как текст, а потом обратно считать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim obj
For Each obj In Application.CurrentProject.AllForms
   SaveAsText acForm, obj.Name,  "d:/OBJ/"  & obj.Name &  ".frm" 
Next

Public Function LoadObjs()
Dim fs, f, S
Dim Obj
Set fs = CreateObject( "Scripting.FileSystemObject" )
Set f = fs.GetFolder( "d:\OBJ\" )
For Each Obj In f.files
    S = Obj.Name
    Select Case Right(Obj.Name,  3 )
    Case  "FRM" 
        Application.LoadFromText acForm, Left(S, Len(S) -  4 ),  "d:\OBJ\"  + S
    End Select
Next Obj
End Function
...
Рейтинг: 0 / 0
О формах ввода
    #32139143
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работает. Неужели единственный выход создавать эти формы с начала???
...
Рейтинг: 0 / 0
О формах ввода
    #32139155
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Описанное выше позволяет создать форму заново с теми же свойствами, что и были. Следовательно проблема не в том, когда создана форма, а какие у нее свойства. Совет: сравнить свойства с новой формой и найти причину
...
Рейтинг: 0 / 0
О формах ввода
    #32139292
pv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказывается все дело в представлении, для более элегантного ввода использовалось представление, чтобы пользователь вводи не идентификатор продукта, а мог вводить "тип продукции, производителя, модель" по раздельности, соответственно это я пытался сделать через представление, на что и ругался Аксес, но вот мне может кто-нить подскажет как это сделать???
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / О формах ввода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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