powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблемма перхода с DAO на ADO
4 сообщений из 4, страница 1 из 1
Проблемма перхода с DAO на ADO
    #34385821
arkif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток увожаемые форумчане.
Помогите пожалуста разобратся с проблемкой. У меня в mdb была форма с кнопками принажатии одной из них добавлялись пустые записи благодаря заросу или если записи уже были то выводилась предупреждение. Суть в следущем существовавший код теперь не работает в adp а в VBA я достаточно слабоват что-бы самому разобратся.

Private Sub Кнопка5_Click()
Dim q As DAO.QueryDef
Dim Rs As DAO.Recordset
Dim znach As Long


If DCount("[№ записи]", "Кол-во записей на дату") <> 0 Then
MsgBox ("На данную дату уже есть записи. Добавление не возможно")
Exit Sub
End If

Set Rs = CurrentDb.OpenRecordset("SELECT Счетчики.[№ счетчика] FROM Счетчики ORDER BY Счетчики.[№ счетчика];")

With Rs
.MoveFirst
znach = ![№ счетчика]
While Not .EOF
znach = ![№ счетчика]
Me.Счетчик = znach
DoCmd.GoToRecord , "", acNewRec
.MoveNext
Wend
End With

Set Rs = Nothing
End Sub


Подскажите пожалуйста что здесь надо переделать и как
...
Рейтинг: 0 / 0
Проблемма перхода с DAO на ADO
    #34386108
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это код из аксесса, а аксесс работает с DAO, зачем туда еще ADO тащить? Или этот код нужно перенести в VB? Если да, то это будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Êíîïêà5_Click()
Dim cn As New ADODB.Connection
Dim Rs As New ADODB.recordset
Dim znach As Long
    cn.CursorLocation = adUseClient
    cn.Open "driver={Microsoft access driver (*.mdb)};Extended Properties=""DBQ=áàçà.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"""
    Rs.Open "SELECT Счетчики.[№ счетчика] FROM Счетчики ORDER BY Счетчики.[№ счетчика]", cn, adOpenStatic, adLockBatchOptimistic
    With Rs
        If Not .EOF <>  0  Then znach = ![№ счетчика]
        While Not .EOF
            znach = ![№ счетчика]
            Me.Счетчик = znach
            .AddNew
            .MoveNext
        Wend
    End With
    Set Rs = Nothing
End Sub
Однако код бредовый.
...
Рейтинг: 0 / 0
Проблемма перхода с DAO на ADO
    #34387878
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arkif,

Добро пожаловать на русскоязычный форум! Приятно увидеть новых участников, для которых русский язык явно иностранный, но которые смело и не стесняясь им пользуются, даже если они в нем "достаточно слабоваты" (чудесный перевод с неведомого мне языка!). Это всегда приятно.

Касательно самого примера, мало что можно добавить к ответу от Antonariy. Единственное дополнение, вот эта строка:

Set Rs = Nothing

не нужна. Но если вы решили ее написать (по неведомой мне причине), то уже напишите и эту:

Set q = Nothing

А впрочем, вы и не используете вроде переменную q, так что ее можно убрать вовсе.

Успехов в освоении языков!

vladconn
...
Рейтинг: 0 / 0
Проблемма перхода с DAO на ADO
    #34388928
arkif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо проблема решена.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблемма перхода с DAO на ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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