powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Двойные кавычки в VB. Chr(34). И немного о Flex'e
12 сообщений из 12, страница 1 из 1
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431107
IZU.ver.SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, товарищи специалисты! =)
Возник вопрос, который без Вас мне видимо не решить...
Есть база в Access 2003, пишу клиент на VB6
Все запросы обрабатываются грамотно, за исключением оператора like. Синтаксис sql в Access'e требует для этого оператора использование двойных кавычек:
Код: plaintext
like "*выражение*"

Использую:
Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 Description Like " & Chr( 34 ) & "*v*" & Chr( 34 ), con, adOpenForwardOnly, adLockReadOnly

Ошибки нет, но запрос обрабатывается не правильно и не возвращает ни одной записи, если убрать like все работает верно. Но самое интересное то, что этот же запрос выполненный непосредственно в Access'e работает правильно:
Код: plaintext
SELECT * FROM DocIn WHERE Type= 2  AND Description Like "*v*"

Сначала подумал что неправильно запрос формируется, но поставив MsgBox rs.Source после rs.Open... получил ту же самую строку запроса.
Текст один,а результат разный... уверен, что дело в кавычках

И раз уж я тут написал, хотел бы задать еще один вопрос: как кликая по строке во Flex'e заставить его выделить определенным цветом всю строку? У меня как не пытался только на одну ячейку действует =)
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431130
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 Description Like " & Chr( 34 ) & "*v*" & Chr( 34 ), con, adOpenForwardOnly, adLockReadOnly

Неодинаковый
Потеряли AND в WHERE
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431143
IZU.ver.SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой... извиняюсь... AND в коде присутствует, в сообщении его просто по невнимательности не написал

Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 AND Description Like " & Chr( 34 ) & "*v*" & Chr( 34 ), con, adOpenForwardOnly, adLockReadOnly
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431163
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для справки

CHR(34) использовать необязательно, его заменяет задвоенная кавычка.

Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 Description Like ""*v*""", con, adOpenForwardOnly, adLockReadOnly

Однако, чудес не бывает, одинаковый запрос должен работать одинаково. Может вы не к тому файлу обращаетесь?
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431172
IZU.ver.SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл один... если б файл был другой не было б коннекта
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub Main()

On Error GoTo DataSearch
    
    frmOption.txtDataPath.Text = GetSetting("Sekretar", "Settings", "DataPath", App.Path)
    
    con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & frmOption.txtDataPath.Text & ";Persist Security Info=False"
    frmMain.Show
    
    Exit Sub

DataSearch:
    
    MsgBox "База данных не найдена..."
    frmOption.Show
    
End Sub
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431174
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IZU.ver.SSИ раз уж я тут написал, хотел бы задать еще один вопрос: как кликая по строке во Flex'e заставить его выделить определенным цветом всю строку? У меня как не пытался только на одну ячейку действует =)

SelectionMode
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431213
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IZU.ver.SS
Текст один,а результат разный... уверен, что дело в кавычках

Попробуйте вместо Like использовать "=".
Не может ли быть дело в регистре символов? Попробуйте цифру.
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431335
IZU.ver.SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С цифрами ситуация такая же, пробовал такой вариант:
Код: plaintext
SELECT * FROM DocIn WHERE Type= 2  AND Description Like "*1*"

Исключив like все работает отлично (возвращает то что нужно):
Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 AND Description='v'", con, adOpenForwardOnly, adLockReadOnly

П.С.: Спасибо... за подсказку с выделением во Flex'e :)
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431353
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так (из VB)?

Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 AND Description Like '*1*'", con, adOpenForwardOnly, adLockReadOnly
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431364
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще, может какие тонкости с настройками провайдера...
Попробуйте так, ВДРУГ прокатит

Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 AND Description Like '%v%'", con, adOpenForwardOnly, adLockReadOnly
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431425
IZU.ver.SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProИ еще, может какие тонкости с настройками провайдера...
Попробуйте так, ВДРУГ прокатит

Код: plaintext
rs.Open "SELECT * FROM DocIn WHERE Type=2 AND Description Like '%v%'", con, adOpenForwardOnly, adLockReadOnly


Проканало... странно, почему я сразу так не написал ведь именно так правильней всего для SQL, а я повёлся на синтаксис Access'a ;)

Очень благодарен за помощь!
Даже самому стыдно за такой косяк :D
...
Рейтинг: 0 / 0
Двойные кавычки в VB. Chr(34). И немного о Flex'e
    #36431463
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я когда-то наступил на эти грабли, но это было очень давно, с трудом вспомнил. Я думал, глабли возникли, когда переходил JET=>MSSQL, а оказывается, когда Access=>VB

Непонятно только, почему так, ведь движок-то в обоих случаях Jet.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Двойные кавычки в VB. Chr(34). И немного о Flex'e
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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