ник: Alex
"надо добавить в конце строки что то типа: , CurrentProject.Connection, adOpenKeyset, adLockOptimistic иначе рекордсет будет не обновляем..."
Точно. Добавил - теперь обновляется
А вот дальше полная фигня!
Товары по документу отбираются только так:
rst.Open "SELECT Движение.* FROM Движение WHERE Движение.КодДкм=3;", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
|
Вот так:
st.Open "SELECT Движение.* FROM Движение WHERE Движение.КодДкм=Forms!Документ!КодДкм;", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
|
- не работает. Говорит: Отсутствует значение для одного или нескольких параметров. Т.е. КодДкм из формы (открытой) получить не могёт
Из рекордсета получить УчетнаяЦена тоже не могёт. Обновление работает только если задать параметр ручками (1):
Вот так:
rst("УчЦена") = DFirst("УчЦена", "запДвижениеИтоги", "[запДвижениеИтоги].[КодТвр]=" & [rst.КодТвр])
|
- не работает. Говорит: Приложению не удается найти поле I указанное в выражении
Пробовал разные варианты, читал многабукаф, танцевал бубен - не помогает...
Весь код сейчас выглядит вот так:
Private Sub Кнопка57_Click()
Dim rst As New ADODB.Recordset
rst.Open "SELECT Движение.* FROM Движение WHERE Движение.КодДкм=3;", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rst.RecordCount <> 0 Then
Do While Not rst.EOF
rst("УчЦена") = DFirst("УчЦена", "запДвижениеИтоги", "[запДвижениеИтоги].[КодТвр]=" & [rst.КодТвр])
rst.Update
rst.MoveNext
Loop
End If
rst.Close
Set rst = Nothing
DoCmd.RunCommand acCmdRefresh
End Sub
|