Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
Здраствуйте. Я только начал разбираться с FoxPro 9.0 и наткнулся на такую проблему: из нескольких таблиц я выбираю определенные данные (создаю представление), а затем при заполнении поля какой-либо таблицы хотелось бы выбрать один из вариантов (например подставить одно из полей представления в ячейку таблицы), полученных при создании представления. Помогите пожалуйста или подскажите где можно прочитать.
5 окт 11, 12:28    [11387056]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
SSn888
Member

Откуда:
Сообщений: 340
ShPavel,

Прочтите хелп по ICASE() и IIF() - Вам это поможет при составлении запроса для вставки

Примерно так

INSERT INTO таблица.поле SELECT IIF(условие, вьюшка.поле1, вьюшка.поле2) AS Pole
5 окт 11, 12:35    [11387115]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
SSn888,

Мне нужно не командно прописывать, а что-то наподобии "Мастера подстановки" в Microsoft Office Access
5 окт 11, 13:26    [11387654]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
Dima T
Member

Откуда:
Сообщений: 15292
Фокс не акцесс, тут все ручками писать надо, мастера есть, но лучше ими не привыкать пользоваться, т.к. убогие они.
5 окт 11, 13:30    [11387691]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
Dima T,

Я не против писать, но как аналогичную операцию сделать можно.
5 окт 11, 13:39    [11387778]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
Dima T
Member

Откуда:
Сообщений: 15292
SSn888 написал как. Что конкретно не получается? Представления не умеешь создавать?
Поконкретнее опиши что ты делаешь, тогда можно будет конкретнее сказать в чем твои ошибки.
5 окт 11, 14:01    [11388063]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
У меня имеется таблица со списком работников (каждому присвоена определенная должность). Из этой таблицы я выбираю, например только продавцов - создаю представление. Затем я хочу при заполнении таблицы "Заказов" в поле соответствующее сотруднику получившему его подставить одно из значений представления (в представлении есть поля: индекс сотрудника и его фамилия)
5 окт 11, 14:16    [11388252]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
SSn888
Member

Откуда:
Сообщений: 340
ShPavel,

Я только начал разбираться с FoxPro 9.0

и
Мне нужно не командно прописывать, а что-то наподобии "Мастера подстановки" в Microsoft Office Access


Вы уж определитесь - чего хотите.
Разобраться как это сделать в фоксе и качественно реализовать или быстренько попытаться использовать фокс как "костыль"?

Потому что если Вам не нужно командно прописывать - смело стирайте фокс со своего винта

У меня имеется таблица со списком работников (каждому присвоена определенная должность). Из этой таблицы я выбираю, например только продавцов - создаю представление. Затем я хочу при заполнении таблицы "Заказов" в поле соответствующее сотруднику получившему его подставить одно из значений представления (в представлении есть поля: индекс сотрудника и его фамилия)


1. Поле "индекс сотрудника" звучит как откровение. Полагаю - Вы имели в виду "Код сотрудника"?
2. Сформулируйте, пожалуйста, четче
В таблице заказов поле Сотрудник _уже_ заполнено и Вы хотите "прикрутить" его ФИО или в таблице заказов поле пока пусто и Вы желаете его заполнить из представления? Во втором случае - как это должно происходить? Если программно - каков принцип выбора сотрудника? Или же это делается юзером в интерфейсе?
В зависимости от детализации - есть несколько достаточно отличных друг от друга путей реализации...
5 окт 11, 14:26    [11388360]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
Потише, я только учусь. В таблице заказов поле пока пусто и я хочу его заполнить из представления. Сохранить в поле таблицы код сотрудника.
5 окт 11, 15:18    [11388955]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
SSn888
Member

Откуда:
Сообщений: 340
ShPavel,

ну ладно, поиграем в тепло-горячо :)

Поле в таблице заказов хотите заполнять автоматом, программно или же это занятие будет выполнять пользователь щелчком на экране?
Потому что если Вы хотите его заполнить сами, прогой - то должен же быть принцип, по которому заполнение происходит, условие
А если это дело юзверя - то тут вопрос не сколько добавления значения в поле, сколько реализации на форме
5 окт 11, 15:22    [11389004]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
Пользователь заполняет.
5 окт 11, 15:27    [11389072]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
Меня больше интерисует как это реализуется в структуре БД.
5 окт 11, 15:29    [11389103]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
SSn888
Member

Откуда:
Сообщений: 340
ShPavel,

В БД типы и размерность кодовых полей должны быть идентичны (код сотрудника в обоих таблицах)
на интерфейсе вешайте комбобокс, в нем нас интересует:

BoundColumn - номер "колонки" в комбо (не путать со столбцом!), которая соответствует коду "хозяина". Ставим 2 (связка будет по полю, написанному вторым в RowSource)

ControlSource - источник-хозяин, поле, значение которого будет меняться при смене значния комбы юзером. У нас будет Zakazi.kod_rabotnika

RowSource - источники-подчиненные, то есть то, что показывается на экране и то, что служит для связки с "хозяином". Пишем Sotrudniki.FIO, kod (то есть - на экране будет видно ФИО, а код, 2-й по очереди, см BoundColumn - это то что будет записано в Zakazi.kod_rabotnika)

RowSourceType - тип источника-подчиненного. Тут ставим "6 - Поля"

Еще меняем свойстов Style на 2-ку (чтоб можно было только выбирать, а не еще и писать ручками)

Запускаем
Наблюдаем
5 окт 11, 15:40    [11389239]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
SSn888,

По какой книге посоветовал бы изучать FoxPro 9.0
5 окт 11, 16:04    [11389453]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
SSn888
Member

Откуда:
Сообщений: 340
ShPavel,

https://www.sql.ru/books/books.aspx?g=16&s=0

на выбор :)
конкретную книгу назвать не могу :)

а вообще - я бы советовал изучать больше на практике.
Могу сказать за себя - можно сколько угодно читать умные талмуды, но самый верный способ - это столкнуться с проблемой, перерыть кучу чего как в бумаге, так и в тырнете, решить задачу. Тогда на 100% запомнишь "чего и как". А самые лучшие книги в таком раскладе - фоксовый хелп и сайт msdn :)
5 окт 11, 16:12    [11389516]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
SSn888
Member

Откуда:
Сообщений: 340
SSn888,

эээ....
то есть - "возникла проблема - обдумал откуда ноги ростут - залез в хелп и так далее".
попытка что-то сообразить на уровне "я слишком крут чтоб читать доки" как и обучение на уровне "скопировал пример с хеллоу ворд, запустил - работает - считаю что выучил" - не есть верно :) Сугубо личное мнение, не навязываю его :)
5 окт 11, 16:15    [11389538]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
Dima T
Member

Откуда:
Сообщений: 15292
Я бы посоветовал М.Базияна "Программирование в Visual FoxPro 6", а потом что-нибудь про 9-ку почитать, там немного нового добавилось.
5 окт 11, 16:16    [11389553]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
Dima T
Member

Откуда:
Сообщений: 15292
Наврал немного, называется Использование Visual FoxPro 6
5 окт 11, 16:18    [11389568]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблицы и представления  [new]
ShPavel
Member

Откуда:
Сообщений: 56
Спасиб большое
5 окт 11, 16:33    [11389705]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить