Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти записи / 7 сообщений из 7, страница 1 из 1
16.09.2012, 16:46
    #37959278
Найти записи
Всем привет! у меня есть таблица в которой хранятся записи о сотрудниках магазина основные поля в этой таблице "номер". Есть вторая таблица в которой хранятся записи о покупателях там основные поля поле1, поле2. Есть третья таблица в котором хранятся данные о товарах, предполагается что каждый сотрудник продает определенный товар. в третьей таблице основное поля поле1,поле2,номер. задача такая сотрудник вводит пароль и входит в программу при этом надо в грид вывести данные о покупателях, которых обслуживал этот сотрудник. логика такая: сотрудник вводит пароль и входит в программу при этом сначала из таблицы товары выбираются все записи у которых поле товар.номер=сотрудник.номер, затем выбираются покупатели у которых поля покупатель.поле1 и покупатель.поле2=товар.поле1 и товар.поле2 и эти записи вывести в грид. помогите реализовать все это на фокспро. я не понимаю как сделать такой поиск. очень нужно
...
Рейтинг: 0 / 0
16.09.2012, 17:26
    #37959308
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти записи
Это не "поиск", это отбор. Сама выборка делается командами SELECT, отображение - связанным представлением (View) или с гридом - если вы укажете результат выборки в качестве источника для него.
Выборка из нескольких таблиц по связям - это использование JOIN в SELECT; использование выборки - это, например, вывод результата в курсор INTO CURSOR <name> и работа уже с этим курсором.
Почитайте хелп по селекту...
...
Рейтинг: 0 / 0
16.09.2012, 18:51
    #37959359
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти записи
Кристинка89,

SELECT prodavec.name, pokupatel.name;
FROM prodavec;
INNER JOIN tovar;
ON prodavec.kod=tovar.kod_Prodavec;
INNER JOIN pokupatel;
ON tovar.kod_pokupatel=pokupatel.kod
...
Рейтинг: 0 / 0
16.09.2012, 19:18
    #37959382
Найти записи
alextashk, мне нужно в грид1 вывести данные о покупателях как я говорила выше, а в грид2 вывести сами товары которые покупал этот покупатель
...
Рейтинг: 0 / 0
16.09.2012, 19:50
    #37959402
Найти записи
alextashk, ваш вариант мне кажется не будет работать так как мне нужно. мне надо в грид1 вывести данные о покупателях, а во второй грид данные о товарах. и при переходе по записям грид1 во втором каждый раз выводить товары купленные покупателем который выбран в грид1
...
Рейтинг: 0 / 0
16.09.2012, 20:00
    #37959406
Найти записи
Кристинка89, делаю так сначала выбираю товары при вводе пароля сотрудником так
авторSELECT * DISTINCT FROM товары WHERE товары.номер=выбномер INTO CURSOR товары1
выбномер=IIF(thisform.combo1.Value='отделы',сотрудники,номер)

затем выбираю
авторSELECT * FROM покупатели, товары1 WHERE покупатели.поле1=товары1.поле1 AND покупатели.поле2=товары1.поле2 INTO CURSOR покупатели1

и потом выбираю товары которые купил тот или иной покупатель
авторSELECT товары1
SET FILTER TO поле1=покупатели.поле1 AND поле2=покупатели.поле2 номер=выбтовары

Правильно ли я вообще делаю? и как мне вывести это в грид1 и в грид2. если правильно делаю покупателей надо в грид1, а товары в грид2
...
Рейтинг: 0 / 0
18.09.2012, 10:32
    #37961677
Найти записи
Кристинка89,
Читайте про индексы и SET RELATION... Задача указывает явно на эту связку....
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти записи / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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