Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: цикл не работает Добавлено: 20.09.09 22:43  

Автор вопроса:  МаксФактор
Хотел сделать чтобы значения в таблице пересчитывались в цикле, а VBA выдает ошибку на строке SET ...., что ему может не нравиться?

Private Sub Form_Load()
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
так что можно просто поменять объявление на
  1.  
  2. Dim rs As DAO.Database


а если хотите работать с ADODB то
  1.  
  2. Dim rs As ADODB.Recordset
  3. Set rs = NEW ADODB.Recordset
  4. rs.Open(...)



Кажись так.

Ответить

Номер ответа: 4
Автор ответа:
 fifa36



Вопросов: 33
Ответов: 116
 Профиль | | #4 Добавлено: 21.09.09 10:39
ой то есть я прогнался если с DAO работаете то так
  1.  
  2. Dim rs As DAO.Recordset

Ответить

Номер ответа: 5
Автор ответа:
 fifa36



Вопросов: 33
Ответов: 116
 Профиль | | #5 Добавлено: 21.09.09 10:58
А можно так если что)
  1.  
  2. Dim dbs As DAO.Database
  3. Dim rs As DAO.Recordset
  4.  
  5. Set dbs = CurrentDbSet
  6. rs = dbs.OpenRecordset("ОсновнДанные")


Ответить

Номер ответа: 6
Автор ответа:
 fifa36



Вопросов: 33
Ответов: 116
 Профиль | | #6 Добавлено: 21.09.09 10:59
  1.  
  2. Dim dbs As DAO.Database
  3. Dim rs As DAO.Recordset
  4.   
  5. Set dbs = CurrentDb
  6. Set rs = dbs.OpenRecordset("ОсновнДанные")

Ответить

Номер ответа: 7
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #7
Добавлено: 21.09.09 13:18
DAO фу(((

Ответить

Номер ответа: 8
Автор ответа:
 МаксФактор



Вопросов: 1
Ответов: 3
 Профиль | | #8 Добавлено: 21.09.09 16:44
с ADO работаем, попробовал так:
Private Sub Form_Load()

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-сайт: okazani.ru
 Профиль | | #9
Добавлено: 21.09.09 16:48
ППц так скажи хоть что там написано то, шутник

Ответить

Номер ответа: 10
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #10 Добавлено: 21.09.09 17:02
DAO фу(((

Афтар нуб и апазорился!!

DAO самая рульная либа для локального mdf

Ответить

Номер ответа: 11
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #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 устарела???

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам