Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите разобраться с sql запросом в vba
 
 автор: Та   (24.07.2008 в 14:51)   личное сообщение
 
 

запрос sql: SELECT DISTINCTROW Count(*) AS [C] FROM [ClassifAnalit]; (считает количество строк в запросе ClassifAnalit)

Необходимая работа процедуры: Если количество ктрок в запросе ClassifAnalit равно 0, то закрыть текущую форму, иначе открыть другую форму.
У меня почему-то q всегда больше 0, хотя точно знаю что в определенном случаи количество строк 0.

у меня следующая процедура (покрайне мере я так написала):
Dim q As String
Dim stDocName As String
Dim stLinkCriteria As String
q = "SELECT DISTINCTROW Count(*) AS [C] FROM [ClassifAnalit ];"
If q = 0 Then
DoCmd.Close
Else
stDocName = "название формы"
DoCmd.OpenForm stDocName, , , stLinkCriteria
end if

  Ответить  
 
 автор: osmor   (24.07.2008 в 15:07)   личное сообщение
 
 

строку SQL нужно выполнить, получить набор записей и взять из него значение нужного поля из нужной строки этого набора.
а так у вас переменной q присваивается строка, "SELECT DISTINCTROW Count(*) AS [C] FROM [ClassifAnalit ];" а потом эту строку вы сравниваете с 0
"SELECT DISTINCTROW Count(*) AS [C] FROM [ClassifAnalit ];" <> 0

Help по Dcount или DlookUp
а еще лучше по Recordset

  Ответить  
 
 автор: Кабан   (24.07.2008 в 15:10)   личное сообщение
 
 

Dim q As String
Dim stDocName As String
Dim stLinkCriteria As String
q = dcount("*","[ClassifAnalit]")
If q = 0 Then
DoCmd.Close
Else
stDocName = "название формы"
DoCmd.OpenForm stDocName, , , stLinkCriteria
end if

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList