powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как поступать
4 сообщений из 4, страница 1 из 1
Как поступать
    #34587577
_mirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я пишу обработчик нажатия кнопки поиск

как мне открывать и закрывать таблицу в этой процедуре

я написал

SELECT customer
LOCATE FOR customer.fio=ALLTRIM(thisform.text20.Value)
IF FOUND() then
thisform.text1.Value=customer.fio
ENDIF

при первом запуске он пишет

alias customer is not found

ладно хорошо таблица не открыта, делаем так

use customer.dbf
SELECT customer
LOCATE FOR customer.fio=ALLTRIM(thisform.text20.Value)
IF FOUND() then
thisform.text1.Value=customer.fio
ENDIF

но ведь при повторном запуске формы и нажатии кнопки fox пытается открыть уже открытую таблицу и естественно выдает file is in use

наверное надо закрывать таблицу в конце обработчика нажатия кнопки?
как это сделать и как решить целиком эту проблему?
...
Рейтинг: 0 / 0
Как поступать
    #34587711
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всетаки хелп надо читать и поиском по форуму пользоватся.
Буквально на этой странице подобное обсуждали.

Открытие таблицы c проверкой
IF not Used('customer')
USE customer
ENDIF

Закрытие с проверкой
USE IN Select('customer')

Все таблицы надо открывать при окрытие формы и закрывать при выходе из нее. А не дергать каждый раз
...
Рейтинг: 0 / 0
Как поступать
    #34587716
anelsasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
* 1-й вариант
IF NOT USED('customer')
use customer.dbf
ENDIF
SELECT customer
LOCATE FOR customer.fio=ALLTRIM(thisform.text20.Value)
IF FOUND() then
thisform.text1.Value=customer.fio
ENDIF

* 2-й вариант
use customer.dbf
SELECT customer
LOCATE FOR customer.fio=ALLTRIM(thisform.text20.Value)
IF FOUND() then
thisform.text1.Value=customer.fio
ENDIF
USE IN customer

Но все зависит от конкретной идеологии работы с формой: можно закрытие "USE IN customer" разместить и в методе UNLOAD рассматриваемой формы, а открытие "use customer.dbf" в методе INIT рассматриваемой формы ... и тогда не нужно будет "открывать/закрывать" при каждом поиске....
...
Рейтинг: 0 / 0
Как поступать
    #34587822
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Чтобы на париться USE не USE

SELECT fio FROM customer where customer.fio=ALLTRIM(thisform.text20.Value) into CURSOR qcur
thisform.text1.Value=qcur.fio
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как поступать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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