powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Форма + таблица из базы данных
10 сообщений из 10, страница 1 из 1
Форма + таблица из базы данных
    #34193155
Alexander Warlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос наверное риторический, тем не менее для меня не окончательно и 100%-но решённый.
Как правильно указывать в форме использование таблицы/таблиц из базы данных?

1 вариант:
В событии формы LOAD внести код:
OPEN DATABASE ...
USE table1 IN 1
SELECT 1
USE table2 IN 1
SELECT 2
...

2-ой вариант:
В Data Enviroment формы добавить все нужные таблицы.

3-ий вариант:
Объединённых два выше варианта.

В третьем варианте иногда (подчёркиваю - не всегда, потому что иногда такой вариант проходил) система выдаёт ошибку "File is in use" для какой-либо таблицы.

Так как правильнее это делать со стороны Visual FoxPro?
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34193767
Alexander Warlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напишите хотя бы, кто как делает?..
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194076
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда работал с таблицами VFP делал так
работал с Private Data Session
- постоянные таблицы - в DE , причем если из первой формы вызывалось несколько подчиненных все таблицы были в DE головной формы
- временные и создание курсоров в LOAD или по необходимости в процессе.

НО - все зависит от ситуации , общих рецептов нет.
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194240
Alexander Warlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-=AlexiS=-Когда работал с таблицами VFP делал так
- постоянные таблицы - в DE , причем если из первой формы вызывалось несколько подчиненных все таблицы были в DE головной формы
То есть, получается достаточно указать таблицы в Data Enviroment? А как тогда выбирать их области и перемещаться по ним? как в этом случае можно использовать команду Select ... ?
Если мне надо удалить все записи в таблице, сначала ведь нужно перейти в область с этой таблицей и т.д. delete all, pack.
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194294
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DELETE FROM cTableAlias WHERE FilterCondition1 [AND | OR FilterCondition2 ...]

DELETE
[Scope] [FOR lExpression1] [WHILE lExpression2]
[IN nWorkArea | cTableAlias ]

А перейти в область с открытой таблицей, зная ее алиас: Select cTableAlias

Выборку так же, ведь там указываешь Select * from cTableAlias
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194380
Alexander Warlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OK, значит самым верным выходит вариант №2 с указанием всех нужных таблиц в DE?..
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194409
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И всетаки, открывать таблицы как у тебя в примере №1
Код: plaintext
1.
2.
3.
4.
USE table1 IN  1 
SELECT  1 
USE table2 IN  1 
SELECT  2 
не гоже...
правильней было бы открывать:
Код: plaintext
1.
2.
3.
USE table1 IN  0  alias table1
USE table2 IN  0  alias table2
...
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194443
Alexander Warlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласен, спасибо за подсказку.
А вариант №2 с указанием только в Data Enviroment не годится. Потому что при запросе ?SELECT(table1) выдаёт ошибку "Variable table1 not found".

Значит отбросив этот вариант остаётся единственно верным №1 с USE table1 IN 0 alias table1?
Только в этом случае при добавлении в форму скажем ComboBox через Builder не получится найти нужные поля нужной таблицы. Получается их нужно просто вбивать вручную.
Добавление же таблиц в Data Enviroment совместно с USE table1 IN 0 alias table1 ... приводит к ошибке "File is in use".
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194453
Alexander Warlord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, насчёт ?SELECT(table1) написал бред.
...
Рейтинг: 0 / 0
Форма + таблица из базы данных
    #34194738
МашкоБ.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я использую 3 вариант тольк с условием проверки открыта таблица или нет.
В LOAD формы
OPEN DATABASE Bases/data1
LOCAL UsedTab
UsedTab=USED("disp1")
IF m.UsedTab=.F.
USE Bases\disp1
ENDIF
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Форма + таблица из базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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