Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 нет доступа к выбранной таблице  [new]
FM32YO___
Guest
Наступил я на грабли итак
форма-справочник акторов,
датасессия у нее дефолтная
вызываеся из меню так:
USE Autors IN 0 SHARED ORDER TAG cAutorsF
DO FORM Author.scx WITH 'Autors.cAutorsF'  && RowSourse 4 listbox	 
USE IN Autors

ну на ней листбокс в котором отображается ФИО.. тут все работает

есть другая форма, на которой есть комбобокс, в который пишутся данные из Autors, а рядом кнопка, по которой справочник открывается на редактирование (если нет автора - сразу и добавить его...)
тка как форма, в которой вижу косяк - есть не что иное, как форма добавления-редактирование экспоната, который связан со справочником авторов
ИНИТ форме-редактирования таков:

.............
THISFORM.Listboundation() 
* это метод, в котором идет привязка данных к комбо с авторами
	SELECT * ;
	FROM Exponats;
	INTO CURSOR TExpEdit WHERE Exponats.nExpsId = 
THISFORM.nchosenprimaryid

* выборка для заполнения различных контролов на форме....


кнопка, по которой идет вызов формы-справочника авторов:
IF USED('Autors')
**	WAIT WINDOW 'used TAutors'
             USE IN Autors
	USE Autors IN 0 SHARED ORDER TAG cAutorsF
ENDIF

DO FORM Author.scx WITH 'Autors.cAutorsF'  && RowSourse 4 listbox

THISFORM.Listboundation()

ну и, собственно метод Listboundation()

* выбираем в курсор авторов
SELECT * FROM Autors INTO CURSOR TAutors ORDER BY cAutorsF
* обнуляем комбо
WITH THISFORM
	.Authors1.BoundTo = .F. 	.Authors1.RowSource = ""
	.Authors1.RowSourceType = 0

ENDWITH
* даем авторов в комбо
WITH THISFORM
	.Authors1.BoundTo = .T. 
	.Authors1.BoundColumn = 4 
	.Authors1.ColumnCount = 4
	.Authors1.ColumnWidths = "100,100,100,0" 
	.Authors1.RowSource = "TAutors.cAutorsF,cAutorsN,cAutorsO,nAutorsId"
	.Authors1.RowSourceType = 2 
	.Authors1.Value = 1
ENDWITH

все вроде приятно и работает, но вот при самом ПЕРВОМ запуске формы редактирования, если в комбо отсутствует некий автор - мы его добавляем, добавили - закрыли справочник - автор должен появиться и в комбобоксе! ан нет - получаю ошибку "нет доступа к выбранной таблице"
никак не могу понять - где у меня закрывается таблица авторов-то?
думал не срадабывает SELECT * FROM Autors INTO CURSOR TAutors ORDER BY cAutorsF
но нет косяк только при присвоении данных комбобоксу.
но самое удивительное, что
1 - получили ошибку - закрыли форму редактирования, закрыли потому как ошибка эта просто гасит компбобокс с авторами, то есть комбо просто исчезает с формы
2 - закрыли форму редактирования
3 - снова ее открыли и спокойно работаем.... больше данная ошибка не появляется....
В следующий раз ее можно поймать только есть полностью завершить приложение, и запустить его снова....

В чем тут косяк-то?
13 апр 06, 17:40    [2560172]     Ответить | Цитировать Сообщить модератору
 Re: нет доступа к выбранной таблице  [new]
Сергей А.М.
Member

Откуда: Сыктывкар
Сообщений: 24
Обрати внимание на фрагмент
IF USED('Autors')
**	WAIT WINDOW 'used TAutors'
             USE IN Autors
	USE Autors IN 0 SHARED ORDER TAG cAutorsF
ENDIF
В IF условие нужно инвертировать
13 апр 06, 17:58    [2560284]     Ответить | Цитировать Сообщить модератору
 Re: нет доступа к выбранной таблице  [new]
Сергей А.М.
Member

Откуда: Сыктывкар
Сообщений: 24
Виноват, не прав
Но вот еще кусок
* выбираем в курсор авторов
SELECT * FROM Autors INTO CURSOR TAutors ORDER BY cAutorsF
* обнуляем комбо
WITH THISFORM
	.Authors1.BoundTo = .F. 	.Authors1.RowSource = ""
	.Authors1.RowSourceType = 0

ENDWITH
Явно, вначале нужно обнулить комбо, а потом создавать курсор
13 апр 06, 18:05    [2560311]     Ответить | Цитировать Сообщить модератору
 Re: нет доступа к выбранной таблице  [new]
FM32YO___
Guest
Сергей А.М.
Виноват, не прав
Но вот еще кусок
* выбираем в курсор авторов
SELECT * FROM Autors INTO CURSOR TAutors ORDER BY cAutorsF
* обнуляем комбо
WITH THISFORM
	.Authors1.BoundTo = .F. 	.Authors1.RowSource = ""
	.Authors1.RowSourceType = 0

ENDWITH
Явно, вначале нужно обнулить комбо, а потом создавать курсор


Тьфу блин!!!
СПАСИБО!!! помогло...
14 апр 06, 09:49    [2562031]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить