:: Архив конференции по VFP до 2005 года
Не понятно!
Aptex

Сообщений: 1076
Откуда: г.Хмельницкий UA
Дата регистрации: 07.11.2003
Hi All
Вот создал код, а INSERT - SQL дает сообщение об ошибке:
Объясните, плиз
Спасибо!!

CASE Refcalc $ cTmpString
* регистрируем счет и начинаем создавать список услуг
INSERT INTO Invoice FROM NAME loRecord
IF !USED("ServisLst")
USE Umc8!SevisLst IN 0
ENDIF
SELECT SevisLst
SCATTER NAME oSL BLANK
lLstServis = .T.
CASE lLstServis = .T.
oSl.numinvoi = loRecord.NumInvoi
oSl.Facilities = STRTRAN(cTmpString,;
GETWORDNUM(cTmpString,GETWORDCOUNT(cTmpString)),"")
oSl.CostFac = VAL(GETWORDNUM(cTmpString,GETWORDCOUNT(cTmpString)))
*следующая команда дает ошибку: File "servislst.dbf" does not exist
INSERT INTO ServisLst FROM NAME oSL
IF RefTotal $ cTmpString
lLstServis = .T.
ENDIF
ENDCASE




------------------

Ratings: 0 negative/0 positive
Re: Не понятно!
Hel!Riser

Сообщений: 10452
Откуда: Нижний Новгород
Дата регистрации: 11.03.2001
FROM NAME ObjectName Specifies a valid Visual FoxPro object, whose property names match the field names in the table for which you want to insert a new record containing the object's property values (c) хельп
видима структурка объекта и таблицы имеют разности в типах или их последовательностях




------------------
Осторожно - глисты!
Ratings: 0 negative/0 positive
Re: Не понятно!
Aptex

Сообщений: 1076
Откуда: г.Хмельницкий UA
Дата регистрации: 07.11.2003
Я себе так думаю ,что SCATTER NAME BLANK создает структуру аналогичную

Структура таблицы servislst такая:

NUMINVOI = Character
FACILITIES = Character
COSTFAC = Currency

Может Currency и VAL() не совместимы?
Ratings: 0 negative/0 positive
Re: Не понятно!
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, Aptex!

Цитата:
Может Currency и VAL() не совместимы?
Может. Попробуй NTOM() он именно Currency из числа и делает.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Не понятно!
Mavy

Сообщений: 246
Дата регистрации: 04.08.2004
Если это реальный код, то все гораздо проще:
IF !USED("ServisLst")
USE Umc8!SevisLst IN 0
ENDIF
****
****
****
INSERT INTO ServisLst FROM NAME oSL
SevisLst <> ServisLst




Отредактировано (16.03.05 18:06)


------------------
Ratings: 0 negative/0 positive
Re: Не понятно!
Владимир Максимов
Автор

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
Может Currency и VAL() не совместимы?
Если речь идет о том, что полю типа Currency нельзя присвоить значение Numeric, то это не так. Конвертация данны произойдет без проблем.

Но вот сравнение типа Numeric и Currency может и не получиться. Дело в том, что VAL() создаст значение типа Numeric, а сравнение Numeric и Currency далеко не всегда дает предсказуемый результат.

nNum=268435456.4
yCur=$268435456.4
?nNum=yCur
?nNum=MTON(yCur)
?NTOM(nNum)=yCur
?nNum=ROUND(MTON(yCur),4)

Т.е. прежде чем сравнивать данные их надо привести к одному типу. Лучше всего к Currency.

Впрочем, в твоем случае надо понимать сообщение об ошибке буквально: Нет таблицы с таким именем. Проверь более тщательно правильность написания имени. Может где буквы не хватает или наоборт, буква лишняя



Отредактировано (16.03.05 19:14)


------------------
Ratings: 0 negative/0 positive


Эта тема закрыта.

On-line: 7 (Гостей: 7)

© 2000-2024 Fox Club 
Яндекс.Метрика