powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Находит неправильную запись в по индексу
8 сообщений из 8, страница 1 из 1
Находит неправильную запись в по индексу
    #36279235
GavRYshA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
емеются 2 таблицы ...
В одной первой таблице содержатся приходы товара, каждый приход уникально пронумерован в поле KOD_NDOK (на рисунке сверху).
Во второй таблице расход этого товара.

Задача состоит в том чтобы раставить в поле KOD_NPRI во второй таблице код прихода из первой таблицы из поля KOD_NDOK. Это можно осуществить с помощью поля kod_nav, kcen, nkod_nazv.

вот что я делаю

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
USE prihod_temp
INDEX ON nkod_nazv + kod_nazv  + kcen TO prihod_temp_2
USE prihod_temp INDEX prihod_temp_2
SELECT  0 

USE rashod_t

SCAN 
	SELECT prihod_temp	
	IF SEEK(rashod_t.nkod_nazv + rashod_t.kod_nazv + rashod_t.kcen)
		REPLACE rashod_t.kod_npri WITH prihod_temp.kod_ndok
	ENDIF
ENDSCAN 

Фишка в том, что неправильно находит по индексу .... на картинке показано.
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36279240
GavRYshA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот картинка
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36279259
GavRYshA,
а не пробовал вычислять значения, которые используешь в качестве индексов? Как думаешь, сильно ли будут отличаться для компа значения выражений 2+3 и 1+4?
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36279275
GavRYshA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин точняк .... мот подскажите, что в моем случае лучше сделатЬ?
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36279310
Код: plaintext
1.
2.
INDEX ON str(nkod_nazv) + str(kod_nazv)  + str(kcen) TO prihod_temp_2
...
IF SEEK(str(rashod_t.nkod_nazv) + str(rashod_t.kod_nazv) + str(rashod_t.kcen))
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36279344
GavRYshA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий
пасибки тебе ... все гуд пошло)
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36279964
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GavRYshA,

Сдается мне, что вместо
str(nkod_nazv)
нужно записать нечто вроде
padl(allt(str(nkod_nazv)), 20, '0'),
а то str(nkod_nazv) имеет разные длины, и весь индекс может оказаться неадекватным.
...
Рейтинг: 0 / 0
Находит неправильную запись в по индексу
    #36280189
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора то str(nkod_nazv) имеет разные длины, и весь индекс может оказаться неадекватным.

нет
Код: plaintext
1.
2.
3.
4.
5.
6.
? Len(Str( 10 ))
? Len(Str( 123555 ))
? Len(Str( 12355555555 ))
? Len(Str( 12355555555555 ))
? Len(Str( 12355555555555555 ))
? Len(Str( 1235225555555555555 ))


но лучше сделать так - индекс будет покороче
Код: plaintext
1.
2.
3.
INDEX ON ltrim(str(nkod_nazv)) + "_" + ltrim(str(kod_nazv)) + "_" + ltrim(str(kcen)) TO prihod_temp_2
...
IF SEEK(ltrim(str(rashod_t.nkod_nazv)) + "_" + ltrim(str(rashod_t.kod_nazv)) + "_" + ltrim(str(rashod_t.kcen)))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Находит неправильную запись в по индексу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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