Задача для ума или хитрый запрос из VB6 в Access

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Задача для ума или хитрый запрос из VB6 в Access

Сообщение echo » 24.10.2005 (Пн) 12:39

Есть некая база в Access'е (файл прилагается).
Открываю ADODB.рекордсет из VB6 вот с таким параметром
Код: Выделить всё
rs.Source = "TRANSFORM Sum(tmp2.F17) AS Sum_F17 " & _
"SELECT Gruppy.[Grupp№], Gruppy.Grupp_imya " & _
"FROM tmp2, Gruppirovki INNER JOIN (Gruppy INNER JOIN scheta ON Gruppy.[Grupp№] = scheta.[Grup№]) ON Gruppirovki.[Gruppir№] = Gruppy.[Gruppir№] " & _
"WHERE ((tmp2.F4) Like [scheta].[Schet№] & '*') AND ((Gruppirovki.[Gruppir№])=1) " & _
"GROUP BY Gruppy.[Grupp№], Gruppy.Grupp_imya, Gruppirovki.[Gruppir№] " & _
"PIVOT tmp2.F24"

и получаю пустой рекордсет. та же самая конструкция запроса в самом Access'e работает отлично (смотри в базе "Запрос 1"). А если убрать из WHERE вот это ((tmp2.F4) Like [scheta].[Schet№] & '*'), то рекордсет не пустой. Почему так непонятно.
Суть в том, чтоб получить набор записей, где заголовки строк номера групп, а заголовки столбцов - номера подразделений, значение - сумма.
Принимаю любые мысли и подсказки.
У вас нет доступа для просмотра вложений в этом сообщении.
Душа болит... А лечишь её - печень болит!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.10.2005 (Пн) 13:02

А [scheta].[Schet№] - это что?
А что в ADO вместо * используется % - не?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 24.10.2005 (Пн) 13:43

GSerg
[scheta].[Schet№] это номера счетов
GSerg писал(а):А что в ADO вместо * используется % - не?
- не понял вопроса?
Душа болит... А лечишь её - печень болит!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.10.2005 (Пн) 13:47

вот это '*' надо заменить на это '%'

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.10.2005 (Пн) 14:20

echo писал(а):[scheta].[Schet№] это номера счетов

:roll:
Это элемент ввода на форме? Это переменная? Это таблица?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 25.10.2005 (Вт) 1:16

Это номера счетов из таблицы.
Душа болит... А лечишь её - печень болит!

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 25.10.2005 (Вт) 2:04

Всем спасибо. Проблема решилась заменой '*' на '%'.
Подскажите еще в чем отличие этих символов. или где об этом почитать.
Душа болит... А лечишь её - печень болит!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 2:40

Тут читай.

DAO - * и ?
ADO - % и _
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 25.10.2005 (Вт) 2:42

GSerg

понял. запомню.
Душа болит... А лечишь её - печень болит!

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 25.10.2005 (Вт) 11:06

Я бы даже сказал так: стандарт определяет символы "%" и "_". Но в DAO почему-то вместо них приходится использовать, соответственно, "*" и "?". Почему - не знаю, возможно, эта библиотека появилась до 1992 года.


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

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

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

    TopList