Проблемы с SQL-запросом к БД MSAccess

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Sasha SpbSU
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 28.06.2003 (Сб) 11:49

Проблемы с SQL-запросом к БД MSAccess

Сообщение Sasha SpbSU » 28.06.2003 (Сб) 12:13

В VB6 почему-то не выполняется SQL-запрос со связями:

SELECT r.GroupID, Groups.GroupName, r.GroupID
FROM r INNER JOIN Groups ON r.GroupID = Groups.GroupID
WHERE r.GroupID=26;

VB-код

With rstDomains
.Source = "SELECT DISTINCT r.DomainID, Domains.DomainName " _
& "FROM Domains INNER JOIN r ON Domains.DomainID = r.DomainID"
.Open , cnTask, adOpenStatic, adLockOptimistic
End With

If rstDomains.RecordCount = 0 Then Exit Sub

rstDomains.MoveFirst
While Not rstDomains.EOF
With rstGroups
.Source = "SELECT r.GroupID, Groups.GroupName, r.GroupID " _
& "FROM r INNER JOIN Groups ON r.GroupID = Groups.GroupID " _
& "WHERE r.GroupID=26" ' & rstDomains!DomainID
.Open , cnTask, adOpenStatic, adLockOptimistic '!!!!!!!!!!Здесь происходит ошибка
End With
rstDomains.MoveNext
Wend

Выдает следующую ошибку:
Ошибка при выполнении программы '3705'
Operation is not allowed when the object is open

Если сделать "SELECT ... FROM r, Groups", то все в порядке.

В чем проблема никак понять не могу.

boevik
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 23.07.2002 (Вт) 11:44
Откуда: Israel

Сообщение boevik » 29.06.2003 (Вс) 11:33

Открытие rstGroups у тебя происходит в цикле.
Т.е. на первом шаге всё в порядке (rstGroups откроется).
А вот на втором шаге должна быть ошибка, потому что recordset уже открыт.

Sasha SpbSU
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 28.06.2003 (Сб) 11:49

;)

Сообщение Sasha SpbSU » 01.07.2003 (Вт) 13:29

Спасибо! :oops:


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 241

    TopList