|
|
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
Есть ADO рекордсет. Его надо отфильтровать, при чем все поля числовые, даты привести в текстовой формат и выбрать через Like. В DAO все было тип топ. Код: plaintext 1. А вот ADO использование VBA’шных функций приводит к ошибке. Код: plaintext Ругается 3001 Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. Ну не понимает он их. А преобразовывать в текстовой формат необходимо в фильтре. Что можете посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:35:59 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
Можно использовать функцию Str(Expression). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:39:49 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
И Str(), и CStr являются VBA’шными функциями. ADO их не понимает в Filtre. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:43:55 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
В рекордсет можно доп. поля со строковым представлением включить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:44:08 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
В прочем как и IsNull()/ Но тут есть обход. rst.Filter "Поле = Null" А вот как обойти непонятливость в вопросе выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:45:51 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
PAВ рекордсет можно доп. поля со строковым представлением включить... В моем варианте, к сожалению, это не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:47:36 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
в аналогичных случаях я делаю по-шагам Rst.Filter = "format(ПолеДата) " Rst.Filter = "txt_gjkt like '*1*' " и т.д. Rst.Filter = "format(ПолеДата) like ('*1*')" ежели не ошибаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:50:40 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
вадяRst.Filter = "format(ПолеДата) like ('*1*')" ежели не ошибаюсь Вадя, ADO не понимает VBA’шных функций. Ваша строка работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:54:41 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
если мне не изменяет жена то скорее всего вместо "*" надоть использовать "%" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:04:30 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
Ищ, дорогой, только без кровопролития. Из хелпа по ADO, Find «In a LIKE clause, you can use a wildcard at the beginning and end of the pattern (for example, LastName Like '*mit*'), or only at the end of the pattern (for example, LastName Like 'Smit*').» Да и у меня со звездочками работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:12:45 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
2 АлексейЕ sql89 - * sql92 - % ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:15:27 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
АлексейК2 АлексейЕ sql89 - * sql92 - % Ну хорошо, ищ может не беспокоится по поводу супруги. Но мне это не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:18:44 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
ищ не женат, не бери в голову ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:22:12 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
АлексейКищ не женат, не бери в голову Ну и славо богу. А то я так за него переживал. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:26:33 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
признаюсь, что не %. это я у гетца прочитал он же там и пишет "со сложными выражениями Find не справляется. Максимум, на что он способен, это понять выражение, сосотоящее из имени поля, оператора сравнения и значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:29:38 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
по этому поводу возникает один вопрос, пока один а разве для того чтобы like отработал так как нужно обязательно преобразовывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:50:56 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
а вообще тема использования пользовательских функций в ADO меня тоже волнует, так как работая на DAO активно пользовал такую возможность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 17:53:26 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
Lenivecа разве для того чтобы like отработал так как нужно обязательно преобразовывать? К сожалению да. Like Operator Used to compare two strings.Используемый, чтобы сравнить две вереницы(нити). Syntax Код: plaintext The Like operator syntax has these parts: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 18:02:36 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
Оператор Like (справочник Jet SQL) Синтаксис: выражение Like "образец" Ниже перечислены аргументы оператора Like: выражение - Выражение SQL, используемое в предложении WHERE. образец - Строка, с которой сравнивается выражение. про стринг я тут ничего не нашел, как ни пытался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 18:12:23 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
а тот лайк который ты привел, это оператор языка программирования, а он никакого отношения к SQL не имеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 18:13:42 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
фишка такая: чтобы преобразовать число в стринг можно сложить ее со строкой , напимер так myintfield + " " или так myintfield & " " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 12:37:34 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
2 Lenivec like имеет прямое отношение к ADO фильтру см. хелп по ADO.filter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 12:39:10 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
C (&) такая ошибка Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. С (+), такая - Item cannot be found in the collection corresponding to the requested name or ordinal. Ну ни как не получается обмануть корявку. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 13:08:36 |
|
||
|
Фильтр в ADO
|
|||
|---|---|---|---|
|
#18+
АлексейК я и не против, но там нигде не написано что выражение обязательно должно формировать текстовое поле (смотри выше, выписка из хелпа) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 13:25:53 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32787503&tid=1670263]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 388ms |

| 0 / 0 |
