powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
6 сообщений из 6, страница 1 из 1
Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
    #32442652
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код конечно подурезан. В промежутке между открытием и закрытием есть ещё команды навигации и прочая лабуда, но ничего серьезного.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
IF FILE(path1+ "tab1.DBF" ) AND !USED(path1+ ".tab1DBF" )
	USE (path1+ "tab1.DBF" ) inde (path1+ "tab1.IDX" ) in  0 
	SELECT * FROM tab1 INTO TABLE cursor_tab1
ELSE
	=MESSAGEBOX( "ОШИБКА! бла-бла-бла" )
ENDIF
*...

*...
USE IN SELECT('cursor_tab1')
RELEASE cursor_tab1
DELETE FILE cursor_tab1.DBF
*...

*...
IF FILE(path1+ "tab1.DBF" ) AND !USED(path1+ ".tab1DBF" )
	USE (path1+ "tab1.DBF" ) inde (path1+ "tab1.IDX" ) in  0 
	SELECT * FROM tab1 INTO TABLE cursor_tab1
ELSE
	=MESSAGEBOX( "ОШИБКА! бла-бла-бла" )
ENDIF

Когда доходит до второй (и более) попытки открыть таблицу, проверка вроде бы проходит (командами FILE и !USED - т.е. вроде genm свободен), но на "USE (path1+"tab1.DBF") inde (path1+"tab1.IDX") in 0" вываливается ашипка "File is in use!".
По сути открытие и некоторые прочие команды находятся в INIT некой формы, а закрытие - в её DESTROY. То бишь запускается программа, жмётся кнопка - вываливается форма. Закрывается форма, производится попытка открыть её вновь - облом. Команда CLOSE TABLES работает, но слишком много всего закрывает (есть нужда иметь возможность открывать одновременно разные формы, в которых выбраны разные таблицы)

Подскажите советом?
После отработки закрытия посмотреть cursor_tab1 по brow не выходит - знач вроде б же удалилось всё... В чём же проблема
...
Рейтинг: 0 / 0
Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
    #32442655
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На очепятки в условиях "tab1DBF" не обращайте внимание. Накосячил пока строчил вопрос; в программе всё чётко.
...
Рейтинг: 0 / 0
Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
    #32442673
AiSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему не попробовать
USE IN SELECT("tab1.DBF") в Destroy
...
Рейтинг: 0 / 0
Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
    #32442835
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверка алиаса на открытие Used( "tab1" ).
Путь не нужен.
...
Рейтинг: 0 / 0
Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
    #32442957
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы усек название до 10 символов или меньше

('cursor_tab1') до Cursor1
...
Рейтинг: 0 / 0
Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
    #32444457
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо, помогло.

А усекать до 10 символов что-то неохота )
Пишут мол вроде преступление этого числа в именах в принципе ни на что не влияет..
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выбрал SQL'ом в таблицу (INTO my_tbl), потом закрыл её, снова пытаюсь в неё выбрать SQL, а мне говорят "свободен"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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