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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Помогите найти ошибку в функции (синтаксис?)
 
 автор: ser60   (23.06.2011 в 16:46)   личное сообщение
 
 

strSql списал с работающего запроса, а в функции запрос не работает. Акс пишет в locals,что
cnn : Nothing и Connection : Nothing. и strSql "". Это из-за суммирования в запросе ? AmbDoctor =0 Почему?

Public Function AmbDoctor(MedOrgCode As Long, Functional As Long) As Long
' Purpose   : Подсчет нормативного количества амбулаторных врачебных должностей диспансеров
'---------------------------------------------------------------------------------------
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Set cnn = CurrentProject.Connection
    
    Dim strSql As String
    strSql = "SELECT Sum(Stat.КоличДолжн) AS [Sum-КоличДолжн] FROM Stat "
    strSql = strSql & "WHERE (((Stat.МедОрг)=" & MedOrgCode & ") AND ((Stat.Функционал)=" & Functional & ") AND ((Stat.КодДолжности) Like '05*'));"

    ' Open the recordset
    rst.Open strSql, cnn, adOpenKeyset, adLockOptimistic
    AmbDoctor = Nz(rst![Sum-КоличДолжн], 0)
End Function

  Ответить  
 
 автор: Анатолий (Киев)   (23.06.2011 в 17:00)   личное сообщение
 
 

'


Это из-за суммирования в запросе ?


это из-за Like '05*'. В ADO другие символы шаблона. Надо %.

  Ответить  
 
 автор: ser60   (23.06.2011 в 17:05)   личное сообщение
 
 

типа 05%?
никогда такое не применял
a "like" убрать?

  Ответить  
 
 автор: ДрЮня   (23.06.2011 в 17:57)   личное сообщение
 
 

у меня в АДО из Аксеса "LIKE" со звездочками дружит
Топикстару:
попробуйте упростить запрос "до невозможности", а потом добавлять параметры

  Ответить  
 
 автор: ДрЮня   (23.06.2011 в 17:02)   личное сообщение
 
 

у Вас поле Stat.КодДолжности какого типа ?
если число, то "LIKE" скорее всего не прокатит

  Ответить  
 
 автор: ser60   (23.06.2011 в 17:03)   личное сообщение
 
 

символьного

  Ответить  
 
 автор: Explorer   (23.06.2011 в 17:17)   личное сообщение
 
 

зачем вообще константу в запросе пишете, не понимаю...

  Ответить  
 
 автор: ser60   (23.06.2011 в 17:21)   личное сообщение
 
 

если вы имеете в виду like "05*", то по этим символам выбираются все врачебные должности

  Ответить  
 
 автор: Explorer   (23.06.2011 в 17:31)   личное сообщение
 
 

да, я имел в виду "05*"
справочники и коды должностей вам сверху спускают?

  Ответить  
 
 автор: ser60   (23.06.2011 в 17:35)   личное сообщение
 
 

да, а разве это сейчас имеет значение. Нужно мне просто фильтрануть по 05

  Ответить  
 
 автор: Explorer   (23.06.2011 в 17:38)   личное сообщение
 
 

если бы "нет" я бы посоветовал доработать справочники должностей :)
но в общем-то подозревал что спускают сверху, поэтому и переспросил

  Ответить  
 
 автор: час   (23.06.2011 в 17:52)   личное сообщение
 
 


 WHERE (((COMMODITY_TBL.GROUP_NUMBER) Like '%" & Me!GROUP_NUMBER & "%') AND ((COMMODITY_TBL.COMMODITY_NAME) Like '%" & NZVB(Me!SEACH_COMMODITY) & "%') 

  Ответить  
 
 автор: час   (23.06.2011 в 17:54)   личное сообщение
 
 

может по аналогии - вот так?
DIM NUMBER as string
NUMBER ="05"

WHERE (((Stat.МедОрг)=" & MedOrgCode & ") AND ((Stat.Функционал)=" & Functional & ") AND ((Stat.КодДолжности) Like '%" & NUMBER & "%'));" 

  Ответить  
 
 автор: Explorer   (23.06.2011 в 18:06)   личное сообщение
 
 

> DIM NUMBER as string

испытал когнитивный диссонанс. спасибо.

:)

http://hiprog.com/index.php?option=com_content&task=view&id=381&Itemid=35

  Ответить  
 
 автор: час   (23.06.2011 в 20:16)   личное сообщение
 
 

Пустое
DIM STR_NUMBER as string

  Ответить  
 
 автор: Explorer   (23.06.2011 в 20:17)   личное сообщение
 
 



Dim strPositionCode As String

  Ответить  
 
 автор: ser60   (23.06.2011 в 21:56)   личное сообщение
 
 

Ребята, всем спасибо, разобрался! с вашей помощью!

  Ответить  
 
 автор: ser60   (23.06.2011 в 21:40)   личное сообщение
 
 

а в каком направлении посоветуете доработать коды, не догоняю пока, а хотелось бы услышать дельный совет. Ведь и так каждая категория персонала начинается со своего двузначного корня (05 врачи, 06 старшие медсестры, 07 простые медсестры, 08 санитарки), а полностью код состоит из 4-6 цифр

  Ответить  
 
 автор: Explorer   (23.06.2011 в 21:53)   личное сообщение
 
 

>> а в каком направлении посоветуете доработать коды.

если вам спускают коды сверху даже не думайте, вы не можете управляеть системой
все уже сделано за вас и ничего тут не поделаешь

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

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