Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 17

Подвисает recordset access vba

21.06.2013, 16:50. Показов 6368. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем день добрый!

Существует некая таблица T1 и основанная на ней форма F1.
Из таблицы T1 выбираю данные запросом SQL1, результат записываю в recordset, затем присваиваю recordset форме F1:

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset(SQL1)

DoCmd.OpenForm F1, acFormDS
Set Forms("F1").Recordset = rs

Так вот все чудесно отрабатывает первый раз. При запуске кода второй раз (выбираются другие параметры запроса SQL1) access подвисает (не пишет, что программа не отвечает, просто крутится колесико как при выполнении вычислений). Помогает только принудительное закрытие приложения и повторный запуск.

Пробовала:
1. Ждать
2. Закрывать форму F1 в самом начале кода (DoCmd.Close acForm, "F1"). Но это какое-то кривое решение, и работает через раз.
3. Пошаговая отладка показала, что зависать начинает на строке Set Forms("F1").Recordset = rs

Очень прошу ваших подсказок, как решить проблему!
Заранее спасибо за комментарии.

Добавлено через 1 минуту
Также приписала внизу такие вот строки, но толку мало:

Set db = Nothing
Set rs = Nothing
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.06.2013, 16:50
Ответы с готовыми решениями:

VBA Access 2016. Работа с Recordset
Доброго времени суток, в общем передо мной стоит задача: есть таблица с данными (lab3) из неё надо сделать запрос SELECT и записать его...

RecordSet в VBA Excel не определяет количество записей
RecordSet в VBA Excel почему-то не определяет количество записей, можно ли с этим как-то справиться или как можно определить то, что он...

Не могу подстыковать в Access FlexGrid к Recordset (DAO).
Господа! Не могу подстыковать в Access FlexGrid к Recordset (DAO). Подскажите, как вообще подстыковать какой-нибудь Grid к источнику...

22
Заблокирован
25.06.2013, 13:09
Студворк — интернет-сервис помощи студентам
@mobile, Я знаю, что дубовый Access будет делать все по своему! В отличии от C# или Visual Basic.NET, Visual Basic, Delphi и прочие нормальные системы. В которых после:

rs = Nothing

Происходит полное уничтожение набора записей если же он не был передан объекту.

VB.NET
1
2
3
4
5
6
7
8
        DT.Clear()
        SqlCom = New OleDb.OleDbCommand("SELECT * FROM journal", Con) 
        Con.Open()
        SqlCom.ExecuteNonQuery()
        DA = New OleDb.OleDbDataAdapter(SqlCom)
        DA.Fill(DT)
        Me.DataGridView1.DataSource = DT
        Con.Close()
Вот тут мы только завершаем подключение к базе данных. Это Visual Basic.NET. А если написать:

VB.NET
1
Set DT = Nothing
Все записи из DataGridView пропадут!

То есть:

VB.NET
1
Me.DataGridView1.DataSource = DT
Больше не будет работать! Еще раз убеждаюсь, что Access ВАТА!
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
25.06.2013, 13:13
Я прекращаю спор ни о чем. В дальнейшем спорь с собой. То, что требуется по теме топика, я сделал и разъяснил почему так, а не иначе.
2
Заблокирован
25.06.2013, 13:17
@mobile, Спорю о говноаксесе и жалком подобии писанины на нем баз данных.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.06.2013, 13:17

Различие прямого SQL-запроса и через Recordset в MS Access
ВОПРОС ПО SQL фрагмент кода st = 'SELECT * FROM MainStudentTest WHERE SubjectCode=' & sbjkd & ' AND TestCode=' & tstkd &...

Можно ли связать документ Word с базой Access через Recordset?
Можно ли связать документ Word с базой Access через Recordset?

Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу?
Прошу помочь в азах. Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу? Спасибо.

Импорт данных из Access в Excel с использованием объекта Recordset библиотеки ADODB
'Option Explicit Sub AccessToXL() Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim myconn As String Dim TARGET_DB As...

Можно ли в VBA скопировать в вставить запрос или таблицу из одного файла Access в другой файл Access
Вопрос такой можно ли скопировать и вставить запрос, таблицу или другой объект базы данных Access в другой файл Access средствами VBA?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru