Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Логика для текста?! / 21 сообщений из 21, страница 1 из 1
23.05.2004, 14:02
    #32529624
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Если глупый вопрос простo прибейте (топик соответвственно)

Me.RecordSource = "Select * From [Tab1] Where [Data] < 100"

Если [Data] - числовой тип работает.
Если текстовый нет.

Вопрос:
Есть какая нить метода для таких операций с текстом?

Спасибо!
Ok.madg
...
Рейтинг: 0 / 0
23.05.2004, 14:07
    #32529626
Deminik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Me.RecordSource = "Select * From [Tab1] Where [Data] < лялятополя"

тебе типа такого надо ?

а как заставить машину понять, что татататополя меньше чем лялятополя ?

Конкретизируй вопрос ?
...
Рейтинг: 0 / 0
23.05.2004, 14:11
    #32529631
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
< > для текстового поля действительно звучит странно
преобразуй оба роля в числа(CLong/CFloat) и сравнивай
...
Рейтинг: 0 / 0
23.05.2004, 14:14
    #32529636
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Операции < и > для текстовых данных нормально работают, они сравнивают, что идет раньше или позже по алфавиту. А вот заключить стринг в кавычки - это обязательно.
...
Рейтинг: 0 / 0
23.05.2004, 14:19
    #32529638
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Конкретизирую:!
Имеются номера документов: поле - data - text
20
30
30-а
31
....
50

Можно получить фильтр где:
Where [Data] < 40
выдаст примерно вот такое:
20
30-а
31
.....
40 (или всетаки 39?!)

RE:(CLong/CFloat)
и что получится из 30-а?
...
Рейтинг: 0 / 0
23.05.2004, 14:27
    #32529641
Deminik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Наверное придется написать небольшую функцию, выгребающюю из строки только числовую часть, а результат ее выполнения - сравниваешь...
...
Рейтинг: 0 / 0
23.05.2004, 14:41
    #32529646
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Не надо писать эту функцию. Она есть, называется Val.
...
Рейтинг: 0 / 0
23.05.2004, 14:44
    #32529649
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Саныч плиз приаените Val вот к этому:
Код: plaintext
1.
Me.RecordSource = "Select * From [Tab1] Where [Data] < лялятополя
...
Рейтинг: 0 / 0
23.05.2004, 14:45
    #32529650
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Me.RecordSource = "Select * From [Tab1] Where Val([Data]) < лялятополя

если
[Data] - текстовое поле
лялятополя - число
...
Рейтинг: 0 / 0
23.05.2004, 14:50
    #32529653
Bely
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
а еще лучше:
Код: plaintext
1.
2.
Me.RecordSource = "Select * From [Tab1] Where [Data] < ""лялятополя"""
Me.RecordSource = "Select * From [Tab1] Where [Data] < ""400"""
если сравнение, конечно, должно быть текстовым (а не числовым)
...
Рейтинг: 0 / 0
23.05.2004, 14:52
    #32529655
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Спасибо!
Заааработала! (Кот Матроскин)
...
Рейтинг: 0 / 0
23.05.2004, 14:53
    #32529656
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
А каким должно быть сравнение - вопрос к автору.

40 < 100 - истинно
"40" < "100" - ложно

Я думаю, что текстовое сравнение здесь не очень логично.
...
Рейтинг: 0 / 0
23.05.2004, 14:56
    #32529657
Bely
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
А значение "30-a" тоже как-то не очень в кассу получается :)
Так что и правда к автору. К тому же у него заработало... :)
...
Рейтинг: 0 / 0
23.05.2004, 15:02
    #32529659
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
30-а - это нормально. Val от него вернет 30.
...
Рейтинг: 0 / 0
23.05.2004, 15:19
    #32529664
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Ну заработало и нечего ухмылятся :)

из набора 10,20,30,30-п,31-F, 99,110,150
Val<100
возвращает 10,20,30,30-п,31-F, 99.
Так что работает!

Люди умные киньте ссылку где обсуждалось (или посмотреть)
про такие запросы:
Код: plaintext
1.
F1="Select * From [Tab1] Where Val([Data]) < 100"

Меня интересует вот что:
Код: plaintext
1.
2.
F1="Select * From [Tab1] Where Val([Data]) < 100"
"Select * From [Data] Where ([ID_Data]) =[Tab1.ID]"
Вернет отфильтрованную запись из двух таблиц или выматерится?

Не ругайтесь сильно!
...
Рейтинг: 0 / 0
23.05.2004, 15:25
    #32529666
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Не понял. Что такое From [Data]? [Data] - это ведь поле?
...
Рейтинг: 0 / 0
23.05.2004, 15:42
    #32529672
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
"Да ламеры мы, да чайники, с широко поставленными пальцами...."
перефраз сына (внука?)великого Арапа

Собственно хочу сформировать Me.RecordSource для формы F1 из двух таблиц, с фильтом
по таблице Tabl Val([Data]) < 100 и фильтром по таблице Data по полю ID
таблицы Tabl.
Таблицы связанные по этому полю.

А вообще как объединить два Select?
...
Рейтинг: 0 / 0
23.05.2004, 15:47
    #32529675
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
select списокполей from
однатаблица inner join другаятаблица
on полеоднойтаблицы = поледругойтаблицы
where условие
order by списокполейдлясортировки

где
вместо inner join может быть left join или right join
вместо = может быть другое условие

Подробнее в хелпе. :^)
...
Рейтинг: 0 / 0
23.05.2004, 15:47
    #32529676
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Кстати, это не Пушкин, а Блок.
...
Рейтинг: 0 / 0
23.05.2004, 15:55
    #32529680
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Разносторонний ты чел Саныч!
Полез корябать.
И еще инфа :
http://www.granite.ab.ca/access/performanceforms.htm

соответствует действительности?
Т.е. реально указание RecordSource в коде увеличивает скорость?

PS
Где найти то же самое (http://www.granite.ab.ca ........) только на русиш?
А то с аглицким проблемы!
Спасибо!
...
Рейтинг: 0 / 0
23.05.2004, 16:02
    #32529682
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика для текста?!
Интересно. Я этого не знал.

Насчет по-русски - есть Гетц, которого здесь очень почитают. Придут знатоки, расскажут.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Логика для текста?! / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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