Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа? / 9 сообщений из 9, страница 1 из 1
14.09.2016, 20:10
    #39309305
visio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
Привет знатокам Access!

У меня 2 таблицы: клиенты и заказы. На форме размещаю поля из них, источник записей запрос:
Код: sql
1.
SELECT * FROM Клиенты INNER JOIN Заказы ON Клиенты.ID = Заказы.КлиентID;



Начинать ввод буду с email клиента. Если он совпадет с существующим email я бы хотел чтобы автоматически заполнились поля ID клиента, ФИО и телефон и мне бы осталось ввести данные заказа. В таблицу "клиенты" ничего не добавится, а в таблицу "заказы" добавится 1 запись.

А если клиент с таким email не найдется я хочу ввести данные нового клиента и данные заказа, чтоб в обе таблицы добавилось по одной записи.

Сейчас у меня при добавлении старого email добавляется новый клиент.

Как лучше сделать? Поля хочу оставить как на скриншоте (т.е подчиненная форма наверное не пойдет). Делать поиск записей через VBA на основе email мне кажется некрасивым решением. Наверняка же есть простое и красивое решение?
...
Рейтинг: 0 / 0
14.09.2016, 20:33
    #39309314
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
Описанный алгоритм надо реализовывать на свободной форме.
...
Рейтинг: 0 / 0
14.09.2016, 20:50
    #39309317
visio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
Akina,
в смысле на пустой? Не вопрос, могу создать пустую форму и поля из двух таблиц. А дальше как? Неужто придется на VBA проверять поле email каждый раз?
...
Рейтинг: 0 / 0
14.09.2016, 21:48
    #39309328
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
visioНеужто придется на VBA проверять поле email каждый раз?А что тебя смущает, собсно?
...
Рейтинг: 0 / 0
14.09.2016, 21:58
    #39309330
visio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
Akina, да вот думал вдруг эту задачу можно решить более элегантным способом) но раз вы говорите, что нельзя я верю, тогда сделаю через VBA, спасибо вам за ответ!
...
Рейтинг: 0 / 0
14.09.2016, 23:12
    #39309342
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
visioраз вы говорите, что нельзяНу почему... можно, если сильно извернуться... но счастье от того, что получилось, не стОит того геморроя, который с этого дела поимеется в нагрузку.
Хотя есть ещё один, не самый плохой, вариант - это основная форма с единственным полем ИдКлиента, на ней подчинённая на основе таблицы Клиенты и подчинённая второго уровня на основе таблицы Заказы. И соответственно дизайн у них такой, чтобы весь этот конгломерат смотрелся как одна форма.
...
Рейтинг: 0 / 0
15.09.2016, 09:44
    #39309459
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
ИМХО, форму надо строить на таблице Заказы. Поле email на форме сделать полем со списком (ПС) с источником - запрос к таблице Клиенты, возвращающий три поля. id - скрытый связанный столбец, затем email и ФИО. На форме поля "ФИО" и "id" сделать вычисляемыми (=[ПС].Column(2) для ФИО). При вводе нового email обрабатывать событие NotInList по классической схеме с открытием формы Клиенты в режиме диалога.
...
Рейтинг: 0 / 0
15.09.2016, 13:50
    #39309667
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
visio,
как вариант:
...
Рейтинг: 0 / 0
15.09.2016, 20:15
    #39309890
visio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа?
Разобрался!
Большое спасибо sdku, Анатолий (Киев) и Akina.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / БД Клиенты и заказы. Как лучше проверять существование клиента при добавлении заказа? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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