powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / После выполнения команды DataGrid не редактируется!
3 сообщений из 3, страница 1 из 1
После выполнения команды DataGrid не редактируется!
    #33855814
Tamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста!
Выполняю запрос с параметрами к базе данных Northwind.mdb через объект Command. Вроде все нормально. но Datagrid не редактируется! Если обращаюсь к хранимой процедуре в SQL так же через объект Command - проблема та же, но если через rs.Open "имя_процедуры" "имя_пар1", "имя_пар2" - DATAGrid редактируемий.
Когда пытаюсь выполнить запрос с параметрами в Аccess через
rs.open "[sales by year] #1/1/95#, #12/1/95#" - думает, что это обычный запрос и дает ошибку. Как добиться, чтоб после выполнения запроса с параметрами DataGrid был все таки редактируемым???

Dim cn As New ADODB.Connection, com As new ADODB.Command
Dim prm2 As ADODB.Parameter, rs As ADODB.Recordset

Private Sub Form_Load()

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=E:\nwind.mdb"
cn.CursorLocation = adUseClient
cn.Open
rs.CursorType = adOpenDynamic
rs.ActiveConnection = cn
rs.LockType = adLockOptimistic

com.CommandType = adCmdUnknown
com.CommandText = "[Sales by year]"
com.ActiveConnection = cn

com.Parameters.Append com.CreateParameter("BeginningDate", adDate, adParamInput)
com.Parameters.Append com.CreateParameter("EndingDate", adDate, adParamInput)
com.Parameters(0).Value = "1/1/95"
com.Parameters(1).Value = "12/1/95"

Set rs = com.Execute()
Set DataGrid1.DataSource = rs

End Sub
...
Рейтинг: 0 / 0
После выполнения команды DataGrid не редактируется!
    #33856565
Фотография Danilo K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tamara
Dim cn As New ADODB.Connection, com As new ADODB.Command
Dim prm2 As ADODB.Parameter, rs As ADODB.Recordset

Private Sub Form_Load()

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=E:\nwind.mdb"
cn.CursorLocation = adUseClient
cn.Open
rs.CursorType = adOpenDynamic
rs.ActiveConnection = cn
rs.LockType = adLockOptimistic

com.CommandType = adCmdUnknown
com.CommandText = "[Sales by year]"
com.ActiveConnection = cn

com.Parameters.Append com.CreateParameter("BeginningDate", adDate, adParamInput)
com.Parameters.Append com.CreateParameter("EndingDate", adDate, adParamInput)
com.Parameters(0).Value = "1/1/95"
com.Parameters(1).Value = "12/1/95"

Set rs = com.Execute()
Set DataGrid1.DataSource = rs
End Sub
Ну дык йолк!
Смотрите, что вы делаете:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    'Новому экземпляру устанавливаете свойства
    rs.CursorType = adOpenDynamic
    rs.ActiveConnection = cn
    'Вот то свойства, которое и контролирует в данном случае редактируемость
    rs.LockType = adLockOptimistic
    
    ...    
    
    ' А тут тот экземпляр отправляете в мусор, заменяя его новым,
    ' который возвращает Execute() as Recordset
    ' ЕСТЕСТВЕННО, все те свойства "сбросятся"
    Set rs = com.Execute()

    ' rs.LockType = adLockOptimistic - Нужно сюда!
    'Но скажу более, он не даст так просто поменять, т.к. 
    'это свойство нельзя менять пока рекордсет открыт
    'Нужно
    rs.close
    rs.LockType = adLockOptimistic
    rs.open



    Set DataGrid1.DataSource = rs
    
...
Рейтинг: 0 / 0
После выполнения команды DataGrid не редактируется!
    #33856722
Tamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cпасибо! Сделала действительно глупость, сейчас исправила - дает редактировать, но стоит мне уйти с этой строчки - пишет:
No value given for one or more required parameters!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / После выполнения команды DataGrid не редактируется!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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