powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / нет доступа к выбранной таблице
4 сообщений из 4, страница 1 из 1
нет доступа к выбранной таблице
    #33665338
FM32YO___
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наступил я на грабли итак
форма-справочник акторов,
датасессия у нее дефолтная
вызываеся из меню так:
Код: plaintext
1.
2.
3.
USE Autors IN  0  SHARED ORDER TAG cAutorsF
DO FORM Author.scx WITH 'Autors.cAutorsF'  && RowSourse  4  listbox	 
USE IN Autors

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

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
.............
THISFORM.Listboundation() 
* это метод, в котором идет привязка данных к комбо с авторами
	SELECT * ;
	FROM Exponats;
	INTO CURSOR TExpEdit WHERE Exponats.nExpsId = 
THISFORM.nchosenprimaryid

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


кнопка, по которой идет вызов формы-справочника авторов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
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()

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
* выбираем в курсор авторов
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 - снова ее открыли и спокойно работаем.... больше данная ошибка не появляется....
В следующий раз ее можно поймать только есть полностью завершить приложение, и запустить его снова....

В чем тут косяк-то?
...
Рейтинг: 0 / 0
нет доступа к выбранной таблице
    #33665411
Сергей А.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обрати внимание на фрагмент
Код: plaintext
1.
2.
3.
4.
IF USED('Autors')
**	WAIT WINDOW 'used TAutors'
             USE IN Autors
	USE Autors IN  0  SHARED ORDER TAG cAutorsF
ENDIF
В IF условие нужно инвертировать
...
Рейтинг: 0 / 0
нет доступа к выбранной таблице
    #33665430
Сергей А.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Виноват, не прав
Но вот еще кусок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
* выбираем в курсор авторов
SELECT * FROM Autors INTO CURSOR TAutors ORDER BY cAutorsF
* обнуляем комбо
WITH THISFORM
	.Authors1.BoundTo = .F. 	.Authors1.RowSource = ""
	.Authors1.RowSourceType =  0 

ENDWITH
Явно, вначале нужно обнулить комбо, а потом создавать курсор
...
Рейтинг: 0 / 0
нет доступа к выбранной таблице
    #33666250
FM32YO___
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей А.М.Виноват, не прав
Но вот еще кусок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
* выбираем в курсор авторов
SELECT * FROM Autors INTO CURSOR TAutors ORDER BY cAutorsF
* обнуляем комбо
WITH THISFORM
	.Authors1.BoundTo = .F. 	.Authors1.RowSource = ""
	.Authors1.RowSourceType =  0 

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

Тьфу блин!!!
СПАСИБО!!! помогло...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / нет доступа к выбранной таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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