Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с запросом с помощью seek! / 10 сообщений из 10, страница 1 из 1
11.01.2012, 18:47
    #37609864
anechka1109
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
есть таблица bank,в которой содержатся сведения и банках.один из столбцов - inn_bank(записи - строго 10-значные числа,тип numeric).необходимо написать запрос, используя именно SEEK,который выводил бы все банки, ИНН которых начинается на 7017.
вот что я сделала,но почему то ничего не выводится.подскажите как будет правильней!буду очень благодарна

USE bank
CLEAR
SET ORDER TO ind_inn(это индекс)
IF SEEK (7701)
DO WHILE (ALLTRIM(STR(bank.inn_bank))) = alltrim(STR(7701))
? bank.id_bank
SKIP
ENDDO
ENDIF
...
Рейтинг: 0 / 0
11.01.2012, 19:19
    #37609925
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
anechka1109inn_bank(записи - строго 10-значные числа,тип numeric
ИНН которых начинается на 7017Если у вас не fpd2.x, а vfp6+, то
Код: sql
1.
select id_bank from bank where inn_bank between 7701000000 and 7701999999

, а если оно - то как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE bank
CLEAR
SET ORDER TO ind_inn
IF SEEK (7701000000)
    DO WHILE bank.inn_bank < = 7701999999
        ? bank.id_bank
        SKIP
    ENDDO
ENDIF
...
Рейтинг: 0 / 0
11.01.2012, 19:21
    #37609926
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
PS. Надеюсь, что индекс ind_inn построен по полю inn_bank. А не по некой строковой функции от него...
...
Рейтинг: 0 / 0
11.01.2012, 19:34
    #37609940
anechka1109
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
tangliranechka1109inn_bank(записи - строго 10-значные числа,тип numeric
ИНН которых начинается на 7017Если у вас не fpd2.x, а vfp6+, то
Код: sql
1.
select id_bank from bank where inn_bank between 7701000000 and 7701999999

, а если оно - то как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE bank
CLEAR
SET ORDER TO ind_inn
IF SEEK (7701000000)
    DO WHILE bank.inn_bank < = 7701999999
        ? bank.id_bank
        SKIP
    ENDDO
ENDIF


не работает=(
...
Рейтинг: 0 / 0
11.01.2012, 19:37
    #37609944
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
anechka1109не работает=(а сообщение об ошибке покажете или надо догадываться? и какой именно вариант "не работает"?
...
Рейтинг: 0 / 0
11.01.2012, 19:41
    #37609946
anechka1109
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE bank
CLEAR
SET ORDER TO ind_inn
IF SEEK (7701000000)
    DO WHILE bank.inn_bank < = 7701999999
        ? bank.id_bank
        SKIP
    ENDDO
ENDIF


ошибок не выдает.
...
Рейтинг: 0 / 0
11.01.2012, 19:53
    #37609960
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
anechka1109, если у вас не включен set near, включите. Если не сработает, скажите версию фокса. И попробуйте всё-таки первый вариант (если у вас не 2.x)
...
Рейтинг: 0 / 0
11.01.2012, 20:17
    #37609984
anechka1109
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
tangliranechka1109, если у вас не включен set near, включите. Если не сработает, скажите версию фокса. И попробуйте всё-таки первый вариант (если у вас не 2.x)
включила,ошибок и результат не выдает.использую Microsoft Visual FoxPro 9.0 SP2
спасибо за помощь!
...
Рейтинг: 0 / 0
11.01.2012, 21:15
    #37610025
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
anechka1109использую Microsoft Visual FoxPro 9.0 SP2первый вариант, однозначно. если не выдаёт ничего, значит, ничего подходящего и нет.
...
Рейтинг: 0 / 0
12.01.2012, 11:11
    #37610608
anechka1109
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом с помощью seek!
решение проблемы:

USE bank
CLEAR
SET EXACT OFF
SET NEAR ON
SET ORDER TO ind_inn
llOk = SEEK(7701000000)
IF STR(bank.inn_bank, 10) = '7701' THEN
SCAN WHILE STR(bank.inn_bank, 10) = '7701'
? bank.id_bank
ENDSCAN
ENDIF

всем спасибо,кто пытался помочь!тема закрыта
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите с запросом с помощью seek! / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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