powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP (почему не удается редактировать поле в форме)
10 сообщений из 10, страница 1 из 1
ADP (почему не удается редактировать поле в форме)
    #32162819
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите почему не удается редактировать поле в форме?
Я создал recordset на основе одной таблицы, привязал его к форме, однако редактировать запись мне удается, потому как "запись только для чтения"
C recordet_ом на основе нескольких таблиц дело еще хуже, даже при попытке добавить запись через addnew пишет ошибку о невозможности добавления записи так как запрос содержит несколько таблиц!
И вообще как редактировать записи в форме adp, если к примеру она строится на запросе из нескольких таблиц, при этом ввести имя таблицы в свойство формы "уникальная таблица" ни как нельзя! Потому как сам проек у меня не подключен к SQLServer а подключение происходит в момент открытия формы. Соответственно в режиме конструктора формы при попытке добавить имя таблицы в поле "уникальная таблица" мне не дает сам access!!
Помогите разобраться я с проектами совсем недавно занимаюсь.
Продолжение:
подкличил проект к серверу (вообще насколько это необходимо делать? что лучше подключать проект к серверу или при загрузке галвной формы создавать глобальное подключение?)
Появились таблицы, открыл одну из ник к примеру таблицу "товары", запись редактировать могу.
Создал простую ленточную форму.
написал в источник данных "SELECT * FROM Товары"
открыл форму, запись редактировать не могу !!!!!
В чем причина? Спасибо.
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32162936
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я создал recordset на основе одной таблицы, привязал его к форме, однако редактировать запись мне удается, потому как "запись только для чтения"
Всмысле ты программнно подсовываешь форме рекордсет? Там есть нюансы. Код в студию.
Соответственно в режиме конструктора формы при попытке добавить имя таблицы в поле "уникальная таблица" мне не дает сам access!!
Ну программно и это можно.
подкличил проект к серверу (вообще насколько это необходимо делать? что лучше подключать проект к серверу или при загрузке галвной формы создавать глобальное подключение?)
Сеть - локалака? тогда все что нужно - прописать параметры коннекта в меню файл -> подключение.
открыл форму, запись редактировать не могу !!!!!
Могу предположить что тип набора записей не "Обновляемый статический набор" (св-ва формы -> данные).
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32162938
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри если подключить проект к серверу то записи в форме можно редактировать. То есть если для данных форме прописать "SELECT * FROM Товары" то запись можно редактировать.
А если сделать так
Dim rst as ADODB.Recordset
Set rst=new ADODB.Recordset
rst.open "SELECT * FROM Товары", MyCnn, adOpenKeySet, AddLockOptimistic
(где MyCnn мое глобальное подключение)
Set Me.Recordset=rst
То форма берет данные из рекордсета однако их редактировать нельзя!
Почему так и как правильно сделать?
Спасибо.
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163051
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ меня уже клинит, ну где может быть ошибка?
После присвоения рекордсета форме (см. на пост выше)
присвоил программно me.uniquetable="Товары"
Поробовал редактировать записи в форме (форма ленточная)
мне все равно выдается сообщение что форма только для чтения!! Блин что за теке?
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163058
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ есть?
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163063
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.ActiveConnection = myCnn 'а потом попробуй CurrentProject.Connection вместо myCnn
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
rs.Source =  "SELECT * FROM dbo.Products" 
rs.Open
Set Me.Recordset = rs

Если не прокатит, то сравнивай myCnn и CurrentProject.Connection
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163113
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Pavel
Прокатило!!!
Причем прокатило так же как и я делал, просто заменой MyCnn на CurrentProject.Connection
Спасибо!
Однако я не хочу подключать сам проект к серверу, хочется все же работать со своим глобальным подключением.
Что нужно для этого исправить в глобальном подключении? Вот строка
его:
Provider=SQLOLEDB.1; Data Source=MyServer; Extended Properties="Database=MyDataBase; Trusted_Connection=yes"; Auto Translate=True; Packet Size=4096; Workstation ID=MyServer; Use Encryption for Data = False; Tag with column collation when possible=false

Вот еще часть свойств:
Read-Only Data Source = False
Ну там еще куча свойств фиг знает что они значат :((

Вот строка CurrentProject.Connection
Provider=MSDataShape.1; Persist Security info=False; Data Source=Myserver; Integrated Security=SSPI; Initial Catalog=MyDataBase; Data Provider=SQLOLEDB.1

Спасибо!!
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163366
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да у тебя батенька похоже ACCeSS 2000

а разница в провайдере данных

это стандартная ошибка , исправленная в xp

ACCeSS 2000 - обновляемый рекордсет только на основе datashape

Смотри: подключение, с использованием двух драйверов
DATASHAPE + OLEDB
http://kozin1.narod.ru/sql/connection_strings.html

если так настаиваешь именно на своем драйвере
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163505
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это да!
Интересно а много еще таких вот "сюрпризов" в adp Access 2000.
Небось работа через recordset с формой тоже таит в себе непонятки!!! БЛИН. :(
...
Рейтинг: 0 / 0
ADP (почему не удается редактировать поле в форме)
    #32163727
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще один достаточно известный СЮРПРИЗ
наверное делал сумму в главной форме на основе суммы с накоплением в примечании подчиненной ?

так вот попробуй в 2000 adp сделать то же самое.
- получилось?
- а теперь сделай обновить данные ?
- а попробуй применить фильтр ?

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


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