powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / vba excel не работает SQL оператор like
14 сообщений из 14, страница 1 из 1
vba excel не работает SQL оператор like
    #39511998
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Function GetInfPSD2(sObj As String, sTitle As String) As Dictionary  
    Dim s As String
    Dim dic As New Dictionary
    Dim i As Integer
    s = "SELECT [" & sTitle & "] FROM [" & sHN & "$" & sDiap & "] WHERE [Проект/объект] Like '" & sObj & "'"
    Debug.Print "Запрос: " & s
    rs.MaxRecords = 50                                                                          
    rs.Open s, cADO, Options:=adCmdText                                                         
    If Not (rs.EOF Or rs.BOF) Then
        StrToDic2 rs.GetString, dic
    End If
    If rs.BOF Then
        Debug.Print "Записей больше чем " & rs.MaxRecords
        Debug.Print rs.GetString
    End If
    If rs.EOF Then
        Debug.Print "Записей нет!"
    End If
    rs.Close
    Set GetInfPSD = dic
End Function


Данный код отправляет SQL запрос в файл “BD.xlsb”:
Код: sql
1.
SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [Проект/объект] Like '%КНС-2%гутск%'


Данный SQL ничего не возвращает, хотя в Excel файле данные есть (см. рисунок).
Вопрос: оператор Like вообще работает в SQL запросах для Excel файлов?
Для информации, строка соединения:

Код: xml
1.
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};ReadOnly=1;DBQ=C:\Art\МАКРОСЫ\ADO_DB\BD.xlsb;
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39512012
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Microsoft Jet SQL плейсхолдером любой подстроки является звёздочка.
Правильный текст запроса:
Код: sql
1.
2.
3.
SELECT [Ответственный специалист ПИР] 
FROM [Scene2$G6:CN12000] 
WHERE [Проект/объект] Like '*КНС-2*гутск*'
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39513509
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал выполнить запрос:
Код: vbnet
1.
2.
3.
SELECT [Ответственный специалист ПИР] 
FROM [Scene2$G6:CN12000] 
WHERE [Проект/объект] Like '*КНС-2*гутск*'


Получилось тоже самое, SQL ничего не возвращает!
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39513520
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас нет поля [Проект/объект] - это лишь label в excel, обращайтесь по номеру , пример: [F3]
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39513796
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поэкспериментировал с разными вариантами SQL запроса, вот что получилось:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Запрос: SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [P9:P12000] Like '*КНС-2*гутск*'
[Microsoft][Драйвер ODBC Excel] Слишком мало параметров. Требуется 1.

Запрос: SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [P9] Like '*КНС-2*гутск*'
[Microsoft][Драйвер ODBC Excel] Слишком мало параметров. Требуется 1.

Запрос: SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [P:P] Like '*КНС-2*гутск*'
[Microsoft][Драйвер ODBC Excel] Слишком мало параметров. Требуется 1.
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39513800
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам же русским по белому написано - имя поля F x. А Вы туда какую-то "P" пихаете...
Или в строке соединения явно укажите HDR=Yes - и вот тогда обращайтесь по именам колонок, с учётом подмены недопустимых символов.
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514606
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
для моего случая Fx чему будет равен?
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514607
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514608
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514609
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514610
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514611
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514612
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
vba excel не работает SQL оператор like
    #39514613
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К предыдущему сообщению
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / vba excel не работает SQL оператор like
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]