Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Like и переменная / 8 сообщений из 8, страница 1 из 1
10.11.2010, 12:53
    #36947020
TLogin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
Доброе время суток.
перед глазами обычное приложение на совершенно новом для мои глаз языке. Visual Basic 6 его кличут.
есть форма, в ней компоненты adodc и datagrid
есть datacombo в которой выведен список

возникла проблема. хочу чтобы при выборе значения из datacombo произошла фильтрация в datagrid
как создать фильтрацию? код ниже

Public number_marshrut As String

Private Sub Command1_Click()
number_marshrut = DataCombo1.SelectedItem
Adodc1.Recordset.Filter = " route_number LIKE number_marshrut"

'Adodc1.Recordset.Filter = " route_number LIKE %2%"
'без переменное работает

If Adodc1.Recordset.RecordCount = 0 Then
MsgBox "нет результатов", vbExclamation
Adodc1.Refresh
End If
DataGrid1.Refresh
End Sub
...
Рейтинг: 0 / 0
10.11.2010, 13:03
    #36947059
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
TLogin,

это вам не php
конкатенацию нужно использовать явно:
и не забывать про кавычки

Код: plaintext
Adodc1.Recordset.Filter = " route_number LIKE '" + number_marshrut + "'"
...
Рейтинг: 0 / 0
10.11.2010, 13:05
    #36947070
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
точнее, Like вам тут вам зачем? почему не равенство
а если это числовая переменная, так вообще, зачем работать со строкой?

Код: plaintext
Adodc1.Recordset.Filter = " route_number=" + cstr(number_marshrut)
...
Рейтинг: 0 / 0
10.11.2010, 14:20
    #36947339
TLogin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
Shocker.Pro,

про php угадали) с него и перешел на VB
Like использовал так во многих форумах именно его использовали для фильтрации, а простые операторы сравнения хоть и указывались в документации, но выдавали ошибку так как примеры не были связаны со столбцами таблицы. и применение их к БД, как я вижу сейчас, были бесполезны без дополнительных манипуляций с кодом.
В любом случаи благодарен, так как могу двигаться дальше.
...
Рейтинг: 0 / 0
10.11.2010, 14:24
    #36947357
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
TLogin,

Если в таблице есть индекс, "=" им воспользуется, а Like - нет.
В результате скорость выполнения будет отличаться на несколько порядков
...
Рейтинг: 0 / 0
10.11.2010, 14:53
    #36947453
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
Shocker.ProTLogin,

Если в таблице есть индекс, "=" им воспользуется, а Like - нет.
В результате скорость выполнения будет отличаться на несколько порядков

не всегда.
вот так будет индекс использоваться:

Код: plaintext
... Field1 LIKE 'any%' ...
...
Рейтинг: 0 / 0
10.11.2010, 14:56
    #36947468
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
Konst_One,

у автора в примере LIKE %2%, поэтому я не стал вдаваться в подробности
...
Рейтинг: 0 / 0
10.11.2010, 14:58
    #36947484
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like и переменная
Shocker.ProKonst_One,

у автора в примере LIKE %2%, поэтому я не стал вдаваться в подробности

это понятно, я написал замечание для всех тех, кто прочитает этот топик
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Like и переменная / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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