powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос с базой данных
7 сообщений из 7, страница 1 из 1
Вопрос с базой данных
    #34399456
erzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Товарищи, помогите. Есть база (к примеру база1). Там есть таблица (к примеру таблица1). В таблице записи клиентов. Так вот, хотелось по пустить поиск по таблице, и выбрать всех людей, фамилия которых кончается на 'А'. С латинскими буквами все работает, но только по поиску первой буквы! Последняя не хочет определяться. А надо имеено РУССКИЙ поиск. Поможите...

SCAN FOR LIKE('А*', cfam) - не помогает. Может я делаю что-нить не так?
...
Рейтинг: 0 / 0
Вопрос с базой данных
    #34399491
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или SET COMPATIBLE ON перед сканированием, или LIKE("*А",ALLTRIM(FieldName))
...
Рейтинг: 0 / 0
Вопрос с базой данных
    #34400152
erzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ничего не понимаю.

USE master
LIST FIELDS cfam NEXT 1999
SORT TO temp ON cfam FIELDS LIKE 'W*'
USE temp
STORE 0 TO mcount
LOCATE FOR (temp.cfam = '*')
DO WHILE FOUND()
mcount = mcount + 1
? cfam
CONTINUE
ENDDO

Вот сдесь, как я понимаю, идет поиск записей на W и скидывается во временную таблицу temp. Но потом когда я пытаюсь ее подключить (USE temp) Фокс говорит 'temp.dbf is not a table' и все! Не могу понять, почему. Не хочет искать хоть лопни.
...
Рейтинг: 0 / 0
Вопрос с базой данных
    #34400453
vkluch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SORT TO temp ON cfam FIELDS LIKE 'W*'
Запись в Temp всех записей из таблицы Master с выборкой полей начинющихся с W
Если таких полей в таблице Master нет то и таблицы Temp нет
...
Рейтинг: 0 / 0
Вопрос с базой данных
    #34400526
vkluch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USE master
index on upper(cfam) to master && если длина cfam<=99
copy to temp FOR upper(right(alltrim(cfam),1)) $ 'AА'
USE temp
STORE 0 TO mcount
SCAN
mcount = mcount + 1
? cfam
ENDSCAN
browse
...
Рейтинг: 0 / 0
Вопрос с базой данных
    #34400581
erzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем написал функцию такую:

mcount = 0
CLOSE DATABASES
OPEN DATABASE sport
USE master
LIST FIELDS cfam NEXT 1999
SCAN FOR LIKE('*а', cfam)
? cfam, ctelefon
mcount = mcount + 1
ENDSCAN
? ''
? 'ВСЕГО ЗАПИСЕЙ НАЙДЕНО: ', mcount
CLOSE DATABASES

Работает.

Спасибо всем кто откликнулся!
...
Рейтинг: 0 / 0
Вопрос с базой данных
    #34400631
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create cursor tt (a c( 10 ))

insert into tt values ('12a')
insert into tt values ('23a')
insert into tt values ('23b')
insert into tt values ('23c')
insert into tt values ('33c')

select count(*) ;
	from tt ;
	where right(rtrim(a), 1 )='a'
	
select count(*) ;
	from tt ;
	where right(rtrim(a), 1 )='b'
	
select count(*) ;
	from tt ;
	where right(rtrim(a), 1 )='c'
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос с базой данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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