Не могу добавить запись.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
drronnie
Постоялец
Постоялец
 
Сообщения: 793
Зарегистрирован: 04.03.2002 (Пн) 22:29
Откуда: Украина, Алчевск

Не могу добавить запись.

Сообщение drronnie » 22.04.2008 (Вт) 10:11

Господа, есть в базе Access хранимая процедура. а в программе такая функция, которая возвращает рекордсет.
Код: Выделить всё
Private Function GetSomeRecords(ByVal ParentID As Long, ByVal Procedure As String) As ADODB.Recordset
  ' если объект готов
  If Ready Then
    Dim t_Command As ADODB.Command, _
        t_Recordset As ADODB.Recordset
   
    Set t_Command = m_Catalog.Procedures(Procedure).Command
    With t_Command
      .Parameters(0) = ParentID
      Set t_Recordset = New ADODB.Recordset
      With t_Recordset
        Set .Source = t_Command
        .Open , , adOpenDynamic, adLockOptimistic, adCmdStoredProc
      End With
      If t_Recordset.EOF Then
        Set t_Recordset = Nothing
      End If
      Set GetSomeRecords = t_Recordset
    End With
  End If
End Function

Потом у этого рекордсета вызываю AddNew запись добавляется, но значения всех полей (и счетчиков тоже) Null, В Access - запрос обновляемы. Я что-то не понимаю или делаю неверно?
Компиляция - перевод словесного поноса в машинный код.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 22.04.2008 (Вт) 13:06

вызываю AddNew запись добавляется, но значения всех полей (и счетчиков тоже) Null
В этой последовательности действий отсутствует "присваиваю значения". :)

Значения счетчиков вернутся при использовании клиентского курсора.
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.04.2008 (Вт) 13:13

Antonariy писал(а):Значения счетчиков вернутся при использовании клиентского курсора.

Не так.
Значения счетчиков будут только при серверном курсоре, и то только для движка Jet (базы Access).
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 88

    TopList