powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Alias not found
6 сообщений из 6, страница 1 из 1
Alias not found
    #33936569
МашкоБ.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме есть Grid и кнопка добавить запись, на кнопку повесил такой код
LOCAL v
SELECT disp1
v=NEWID('disp1')
APPEND BLANK
REPLACE disp1.code WITH v
= TABLEUPDATE(.T.)
LOCATE FOR code =v
IF NOT FOUND()
GO TOP
ENDIF
THISFORM.Grid1.Refresh()
IF FOUND('disp1')
THISFORM.Grid1.column2.SetFocus()
ENDIF
но на строчку REPLACE disp1.code WITH v выдает ошибку
Alias 'DISP1' not found.
В чем проблема?
...
Рейтинг: 0 / 0
Alias not found
    #33936634
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это известная фича грида когда он "тянет одеяло на себя"

Мда уж.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
LOCAL v && 
**  4 -е строки кода излишни их можно заменить одной 
*SELECT disp1 
*v=NEWID('disp1') 
*APPEND BLANK 
*REPLACE disp1.code WITH v
**
insert intp disp1 (code) values (NewID('disp1'))
** или в Default поля code поставить NewID()

** Здесь в принципе не правильно, результат ф-ии TableUpdate надо проверять
*= TABLEUPDATE(.T.)
*
*LOCATE FOR code =v
*IF NOT FOUND() 
*GO TOP
*ENDIF
*THISFORM.Grid1.Refresh()
*IF FOUND('disp1')
*THISFORM.Grid1.column2.SetFocus()
*ENDIF 
**
if not tableupdate(.t.,.t.,'disp1') 
aerror(arr)
= messagebox ('Не все ладно в датском королевстве' + arr( 2 ))
go top in disp1
else
THISFORM.Grid1.column2.SetFocus()
endif
...
Рейтинг: 0 / 0
Alias not found
    #33937122
МашкоБ.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я переделала через default , но возникает другая ошибка
Field CODE does not accept null values
хотя я перед этим проверяю NewID('disp1') генерирует ненулевое значение.
Помогите найти ошибку.
...
Рейтинг: 0 / 0
Alias not found
    #33937249
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В твоей ХП эта строка возвращает .F.

Код: plaintext
USED("tablist")=.T. AND SEEK(lcAlias,"tablist","Tablename")=.T. AND ISRLOCKED(RECNO("tablist"),"tablist")=.F. AND RLOCK("tablist")=.T.
...
Рейтинг: 0 / 0
Alias not found
    #33937616
МашкоБ.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но когда я просто присваиваю какой нибудь переменной значение NewID('disp1')
то присваивается ненулевое значение.Оно начинает присваиваться только если я присваиваю default values значение NewID('disp1'). Может надо какие нибудь свойства ещё прописывать.
...
Рейтинг: 0 / 0
Alias not found
    #33937670
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала восстанови обработчик ошибок и посмотри, что он у тебя выдает, если не поймешь, то исправь

Код: plaintext
1.
2.
IF m.llIsUsedTabList=.F.
    USE tablist IN  0  shared
ENDIF

Код: plaintext
USED("tablist")=.T. AND SEEK(lcAlias,"tablist","Tablename")=.T. AND RLOCK("tablist")=.T.

так же не мешало бы разблокировать запись в таблице tablist, по окончанию присвоения значения иначе други пользователи сети не сумеют в эту запись добавить своё.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Alias not found
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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