Страница: 1 |
Страница: 1 |
Вопрос: цикл не работает
Добавлено: 20.09.09 22:43
Автор вопроса: МаксФактор
Хотел сделать чтобы значения в таблице пересчитывались в цикле, а VBA выдает ошибку на строке SET ...., что ему может не нравиться?
Dim rs As ADODB.Recordset, v As Variant
Set rs = CurrentDb.OpenRecordset("ОсновнДанные")
Do Until rs.EOF
rs.MoveFirst
v = Abs(Me!Поле28)
Me!ууууу = v
rs.Update
rs.MoveNext
Loop
Me.FilterOn = True
Me.Filter = "[ОсновнДанные]![НаимПокупателя]=[Forms]![Форма1]![ПолеСоСпискомЗаказчики]"
End Sub
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
UnDeAdZak
Вопросов: 80
Ответов: 476
Профиль | | #1
Добавлено: 21.09.09 00:47
я не имел дела с vba, но может надо rs.set?
Номер ответа: 2
Автор ответа:
UnDeAdZak
Вопросов: 80
Ответов: 476
Профиль | | #2
Добавлено: 21.09.09 00:48
хмммм.... А вы заметили, что если написать VBa не переключая раскладку, то получится "миф"?
Номер ответа: 3
Автор ответа:
fifa36
Вопросов: 33
Ответов: 116
Профиль | | #3
Добавлено: 21.09.09 10:36
OpenRecordset это метод не ADODB.Recordset а DAO.Database
так что можно просто поменять объявление на
а если хотите работать с ADODB то
Кажись так.
Номер ответа: 4
Автор ответа:
fifa36
Вопросов: 33
Ответов: 116
Профиль | | #4
Добавлено: 21.09.09 10:39
ой то есть я прогнался если с DAO работаете то так
Номер ответа: 5
Автор ответа:
fifa36
Вопросов: 33
Ответов: 116
Профиль | | #5
Добавлено: 21.09.09 10:58
А можно так если что)
Номер ответа: 6
Автор ответа:
fifa36
Вопросов: 33
Ответов: 116
Профиль | | #6
Добавлено: 21.09.09 10:59
Номер ответа: 7
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #7
Добавлено: 21.09.09 13:18
DAO фу(((
Номер ответа: 8
Автор ответа:
МаксФактор
Вопросов: 1
Ответов: 3
Профиль | | #8
Добавлено: 21.09.09 16:44
с ADO работаем, попробовал так:
Dim rs As Recordset, v As Variant
Set rs = New ADODB.Recordset
rs.Open ("ÎñíîâíÄàííûå"
Do Until rs.EOF
rs.MoveFirst
v = Abs(Me!Ïîëå28)
Me!óóóóó = v
rs.Update
rs.MoveNext
Loop
Me.FilterOn = True
Me.Filter = "[ÎñíîâíÄàííûå]![ÍàèìÏîêóïàòåëÿ]=[Forms]![Ôîðìà1]![ÏîëåÑîÑïèñêîìÇàêàç÷èêè]"
End Sub
Теперь на строчку с Open ругается, на странные символы в скобках не обращайте внимания, это почемуто при копировании из окна VBA такое получается
Номер ответа: 9
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #9
Добавлено: 21.09.09 16:48
ППц так скажи хоть что там написано то, шутник
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 21.09.09 17:02
Афтар нуб и апазорился!!
DAO самая рульная либа для локального mdf
Номер ответа: 11
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #11
Добавлено: 21.09.09 17:05
Лет 9 назад может быть
Номер ответа: 12
Автор ответа:
fifa36
Вопросов: 33
Ответов: 116
Профиль | | #12
Добавлено: 21.09.09 17:24
МаксФактор
Для ADODB нужно установить соединение вначале с базой данных а потом при открытие рекордсета указать объект соединения, как аргумент Open рекордсета, смотри описание функции. Или используй просто библиотеку DAO
Номер ответа: 13
Автор ответа:
МаксФактор
Вопросов: 1
Ответов: 3
Профиль | | #13
Добавлено: 21.09.09 17:35
фифа36 дело говорит, сейчас будем пробовать, только сначала прочитаем что это такое)
Номер ответа: 14
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #14
Добавлено: 22.09.09 10:21
DAO устарела???