Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP (почему не удается редактировать поле в форме) / 10 сообщений из 10, страница 1 из 1
19.05.2003, 11:55
    #32162819
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
Скажите почему не удается редактировать поле в форме?
Я создал recordset на основе одной таблицы, привязал его к форме, однако редактировать запись мне удается, потому как "запись только для чтения"
C recordet_ом на основе нескольких таблиц дело еще хуже, даже при попытке добавить запись через addnew пишет ошибку о невозможности добавления записи так как запрос содержит несколько таблиц!
И вообще как редактировать записи в форме adp, если к примеру она строится на запросе из нескольких таблиц, при этом ввести имя таблицы в свойство формы "уникальная таблица" ни как нельзя! Потому как сам проек у меня не подключен к SQLServer а подключение происходит в момент открытия формы. Соответственно в режиме конструктора формы при попытке добавить имя таблицы в поле "уникальная таблица" мне не дает сам access!!
Помогите разобраться я с проектами совсем недавно занимаюсь.
Продолжение:
подкличил проект к серверу (вообще насколько это необходимо делать? что лучше подключать проект к серверу или при загрузке галвной формы создавать глобальное подключение?)
Появились таблицы, открыл одну из ник к примеру таблицу "товары", запись редактировать могу.
Создал простую ленточную форму.
написал в источник данных "SELECT * FROM Товары"
открыл форму, запись редактировать не могу !!!!!
В чем причина? Спасибо.
...
Рейтинг: 0 / 0
19.05.2003, 13:17
    #32162936
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
Я создал recordset на основе одной таблицы, привязал его к форме, однако редактировать запись мне удается, потому как "запись только для чтения"
Всмысле ты программнно подсовываешь форме рекордсет? Там есть нюансы. Код в студию.
Соответственно в режиме конструктора формы при попытке добавить имя таблицы в поле "уникальная таблица" мне не дает сам access!!
Ну программно и это можно.
подкличил проект к серверу (вообще насколько это необходимо делать? что лучше подключать проект к серверу или при загрузке галвной формы создавать глобальное подключение?)
Сеть - локалака? тогда все что нужно - прописать параметры коннекта в меню файл -> подключение.
открыл форму, запись редактировать не могу !!!!!
Могу предположить что тип набора записей не "Обновляемый статический набор" (св-ва формы -> данные).
...
Рейтинг: 0 / 0
19.05.2003, 13:19
    #32162938
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
Сорри если подключить проект к серверу то записи в форме можно редактировать. То есть если для данных форме прописать "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
19.05.2003, 14:26
    #32163051
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
Народ меня уже клинит, ну где может быть ошибка?
После присвоения рекордсета форме (см. на пост выше)
присвоил программно me.uniquetable="Товары"
Поробовал редактировать записи в форме (форма ленточная)
мне все равно выдается сообщение что форма только для чтения!! Блин что за теке?
...
Рейтинг: 0 / 0
19.05.2003, 14:28
    #32163058
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
Первичный ключ есть?
...
Рейтинг: 0 / 0
19.05.2003, 14:33
    #32163063
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
Попробуй так:
Код: 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
19.05.2003, 15:06
    #32163113
Jem
Jem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
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
19.05.2003, 17:57
    #32163366
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP (почему не удается редактировать поле в форме)
да у тебя батенька похоже ACCeSS 2000

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

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

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

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

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

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

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


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