Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > найдите ошибку пож-та


Автор: zagmysa 24.5.2012, 19:08
[list]
[*]local lcText
[*]lcText=alltrim(THISFORM.TEXT1.VALUE)+"%" 
[*]select * from skladm where Kod = lcText
[*]THISFORM.REFRESH()
здесь должно произойти поиск... введем код продукта из таблицы Skladm и при совпадении должно выводиться на экран... но у меня тут выводит ошибку...=( найдите пож-та...

Автор: Данкинг 24.5.2012, 19:53
Какую ошибку?

Автор: zagmysa 24.5.2012, 20:12
Operator/operand type mismatch 
и показывает ошибку именно в этой строке
select * from skladm where Kod = lcText

Автор: Данкинг 24.5.2012, 20:22
Х/з, попробуй 
Код

...where Kod = &lcText


Добавлено через 1 минуту и 54 секунды
А вообще скорее всего KOD у тебя числового типа, а ты там строку найти пытаешься.

Автор: zagmysa 24.5.2012, 20:26
теперь выводит Missing operand  smile 

Автор: Данкинг 24.5.2012, 21:11
Так ты уверен, что искать требуется именно в поле KOD ?

Автор: Reese 25.5.2012, 00:51
Поле KOD скорее всего цифровое. И, кстати, а для чего добавление знака процента?

Автор: Данкинг 25.5.2012, 01:01
Цитата(Reese @  25.5.2012,  01:51 Найти цитируемый пост)
И, кстати, а для чего добавление знака процента? 

Да, согласен, что знак вхождения ($) куда больше подойдёт.

Автор: Reese 25.5.2012, 11:19
А знак вхождения то для чего?
Я просто подумал что ему надо сравнить без учета длины строки. В этом случае надо или через простое равенство идти (у фокса это и есть "без учета длины строки") или ему надо через LIKE

Автор: Cashey 1.6.2012, 09:48
Код
local lcText
lcText=alltrim(TRANSFORM(THISFORM.TEXT1.VALUE))+"%" 
select * from skladm where Kod = lcText
THISFORM.REFRESH()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)