Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка / 10 сообщений из 10, страница 1 из 1
26.09.2006, 11:34
    #34012027
Aghasi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Привет всем

может кто ни-будь подсказать в чем ошибка в этом коде


sele vcarum
SCAN
m=ALLTRIM(vcarum.cod)
use abonent
SET ORDER TO abonhamar
SEEK m
IF FOUND()=.t.

REPLACE abonent.mucum WITH vcarum.vgaz
ENDIF
GO top
ENDSCAN

Спосибо
...
Рейтинг: 0 / 0
26.09.2006, 11:49
    #34012077
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Нахрена открывать abonent внутри SCAN-а? Причем в тоже рабочей области что и vcarum, тем самым закрыв его. Да и если и в другой то зачем? Если будешь открывать ввсегда в одной получишь ошибку. Если в разных - ваще ххрен поймешь что получится. Нафига GO top?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT  0 
use abonent
SET ORDER TO abonhamar

sele vcarum
SCAN
   select abonent
   SEEK ALLTRIM(vcarum.cod)
   IF FOUND().
      REPLACE abonent.mucum WITH vcarum.vgaz
   ENDIF
ENDSCAN
...
Рейтинг: 0 / 0
26.09.2006, 11:50
    #34012083
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
use abonent 
SET ORDER TO abonhamar
sele vcarum
SCAN
   if SEEK(ALLTRIM(vcarum.cod),'abonent')
     REPLACE abonent.mucum WITH vcarum.vgaz
   ENDIF
ENDSCAN


а вообще все пишется так
Код: plaintext
1.
2.
3.
update abonent set mucum=v.vgaz
      from abonent a
             inner join vcarum v on a.abonhamar=v.cod  && нужно поправить
...
Рейтинг: 0 / 0
26.09.2006, 11:51
    #34012089
glamis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
AghasiПривет всем

может кто ни-будь подсказать в чем ошибка в этом коде


sele vcarum
SCAN
m=ALLTRIM(vcarum.cod)

SET ORDER TO abonhamar
SEEK m
IF FOUND()=.t.

REPLACE abonent.mucum WITH vcarum.vgaz
ENDIF
GO top
ENDSCAN

Спосибо

sele vcarum
use abonent orde tag abonhamar
in 0
SCAN for seek(allt(vcarum),'abonent')
Sele abonent
REPLACE abonent.mucum WITH vcarum.vgaz && если одна запись
REPLACE while Abonent.vcarum = allt(Vcrum.cod) abonent.mucum WITH vcarum.vgaz && если одна запись

Sele vcarum
ENDSCAN


только будь осторожен с allt помни: '12345' = '123'
...
Рейтинг: 0 / 0
26.09.2006, 11:52
    #34012092
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Может стоит:
1. abonent открыть в другой области, чем vcarum и за пределами цикла SCAN...ENDSCAN
Например так:
Код: plaintext
1.
SELECT  0 
USE abonent 
2. Вместо SEEK + FOUND() лучше иопользовать функцию SEEK()

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select  0 
use abonent
SET ORDER TO abonhamar
sele vcarum
SCAN
   IF SEEK(vcarum.cod, "abonent")
      REPLACE abonent.mucum WITH vcarum.vgaz
  ENDIF
ENDSCAN

С уважением, Алексей
...
Рейтинг: 0 / 0
26.09.2006, 11:52
    #34012093
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
USE abonent IN  0 
SELECT vcarum
SCAN
 m = ALLTRIM(vcarum.cod)
 IF SEEK(m, 'abonent', 'abonhamar')
   REPLACE abonent.mucum WITH vcarum.vgaz IN abonent
 ENDIF
ENDSCAN
...
Рейтинг: 0 / 0
26.09.2006, 11:55
    #34012105
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
ну все размялись.

пусть апдейт пишет
...
Рейтинг: 0 / 0
26.09.2006, 12:03
    #34012137
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Не-а, еще не совсем размялись.

Код: plaintext
1.
2.
3.
USE abonent IN  0 
SELECT vcarum
REPLACE abonent.mucum WITH vcarum.vgaz IN abonent FOR SEEK(ALLTRIM(vcarum.cod), 'abonent', 'abonhamar')
...
Рейтинг: 0 / 0
28.09.2006, 07:26
    #34017505
oldfox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
"проходящий" это красиво! проходи почаще.
...
Рейтинг: 0 / 0
28.09.2006, 09:04
    #34017618
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка
Ну тогда вариант еще короче:

Код: plaintext
1.
USE abonent IN  0 
REPLACE abonent.mucum WITH vcarum.vgaz IN abonent FOR SEEK(ALLTRIM(vcarum.cod), 'abonent', 'abonhamar') IN vcarum
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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