powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Алиас не найден ...
5 сообщений из 5, страница 1 из 1
Алиас не найден ...
    #32940828
Dionnis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день!
Столкнулся со следующей проблемой:
Сразу скажу что работаю с dbf таблицами через Delphi при помощи провайдера Microsoft OLE DB Provider for Visual FoxPro. Опубликовал тему не на форуме Delphi, так как проблема именно касается Fox'а.
Я выполняю импорт данных из dbf файла в mdb.
Обрабатывается большой объём даных по циклу, где для проверки даных
производятся запросы к различным dbf - таблицам. При выполнении запросов используются хранимые процедуры, описанные в файле dbc., ниже представлен код одной из процедур (их код аналогичен, меняется только название таблицы к которой адресован запрос):

PROCEDURE GetDeloN
PARAM M.ND
LOCAL lcAliasName
SET EXCLUSIVE OFF
lcAliasName = 'a' + SYS(2015)
USE DELO IN 0 AGAIN SHARED ALIAS (lcAliasName)
SELE (lcAliasName)
SET INDEX TO IDELO.CDX
SET ORDER TO TAG NOM
SELECT * FROM (lcAliasName) WHERE (NOM=M.ND) INTO CURSOR TmpDbf NOFILTER
SELE (lcAliasName)
USE
RETURN

И в какойто момент времени у меня возникает ошибка: Alias (имя Алиаса) is not found.
С чем это может быть связано, может быть в ХП чтото неверно написано?
...
Рейтинг: 0 / 0
Алиас не найден ...
    #32941318
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробуй пользовать lcAliasName='qTempAlias'. Фс:Е равно закрываешь таблицу, а альсяс чере (2015) какое-нить имя неправильное может сотворить
...
Рейтинг: 0 / 0
Алиас не найден ...
    #32942148
Dionnis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel!Riser пробуй пользовать lcAliasName='qTempAlias'. Фс:Е равно закрываешь таблицу, а альсяс чере (2015) какое-нить имя неправильное может сотворить

Да похоже Вы правы, функция SYS(2015) похоже генерит какието значения, которые не всегда подходят для имени алиаса... Спасибо!
...
Рейтинг: 0 / 0
Алиас не найден ...
    #32942501
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция SYS(2015) не всегда генерит уникальные значения. А значение типа

lcAliasName = 'a' + SYS(2015)

Всегда будет синтаксически корректно. Но вот насчет уникальности - сомнительно.

Хотя, если ты написал код полностью, то собщение об ошибке вызывает недоумение. Алиас не найден, означает в данном случае, что таблица не открылась. Но тогда почему не выскочило сообщение об ошибке на команде USE? Т.е. в момент открытия?

PS:

Если приведенный код такой и есть. Без сокращений. То, как минимум, он сильно избыточный. Все то, что написано можно реализовать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
PROCEDURE GetDeloN
PARAMETERS tnND
LOCAL llUsed
llUsed = USED("Delo")
SELECT * FROM Delo WHERE delo.Nom = m.tnND INTO CURSOR tmpDbf NOFILTER
IF m.llUsed = .F. 
	USE IN SELECT("Delo")
ENDIF
RETURN
...
Рейтинг: 0 / 0
Алиас не найден ...
    #32944243
Dionnis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ
Спасибо большое за советы!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Алиас не найден ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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