|
|
|
| Здравствуйте! Помогите пожалуйста. Такое дело. у меня база данных авто рынок. Есть форма сделка, в ней выбирается имя покупателя, имя продавца и модель авто. Нужно сделать так, чтобы в поле модель при выборе уже проданной машины, выдавал соответствующее сообщение. Я в этом деле чайник, прошу помочь. | |
|
| |
|
|
|
| базу в студию (или кусок)
а так вариантов 10 мона придумать | |
|
| |
|
|
|
| надо полагать, что в базе есть кроме модели VIN и логическое поле типа bflagprodano .
или непустое поле даты продажи
или непустое поле покупателя и т.п.
Проверяйте соотв. поле и выдавайте сообщение
msgbox "Продано!"
а вообще в запросе-источнике можно исключить уже проданные машины. Тогда их и выбрать нельзя будет.
А то, право же, одной модели недостаточно. Может у вас десяток мерседесов. Только по VIN+поле.
| |
|
| |
|
|
|
|
| Странная задача. Может не модель продана, а какой-то номер ее. Модель "Мерседес-LS460" на складе 4 штуки. 1 продан 3 осталось. Но продать их будет невозможно, так как при выборе данной модели, будет выходить "продано". Может номер двигателя вбивать? Но не модель. | |
|
| |
|
15 Кб. |
|
| Вот. Попробуй в этом направлении поработать. =>
Что-то другого придумать никак. Но должны быть некие стандартные решения. Там если уж все продали, то и предложить нечего, ни то что сообщения какие слать. | |
|
| |
|
|
|
| http://zalil.ru/30782693 - пример базы | |
|
| |
|
|
|
| SELECT Сделка.* FROM Автосостав INNER JOIN Сделка ON Автосостав.id=Сделка.id_Авто WHERE (((Автосостав.продажа)=False));
вот источник запроса должен быть таким
и както связь один ко мнегим не имеет смысла т.к. продать больше 1-го раза тачку не получится (разве что возврат но тут нужно отдельно заморачиваться) | |
|
| |
|
|
|
| http://zalil.ru/30783965 - beta2.2 с резюме.
А вообще все не так. Там текстовый файл с 16 пунктами и это далеко не все. Почитай, пересмотри структуру.
Согласен с котом. | |
|
| |
|
|
|
| это моя курсовая. я ее делал беря пример из разных баз. поэтому и иакрос 2 присутствует. Я немного ошибся, отправил не последнюю версию. Там я запросы на мин и макс цены исправил. Марка была изначально в автосоставе, потом я заменил ее на модель id.
1. id таблы прдавец связан с id_Владелец таблы Автосостав. Это одно и то же?
да, это одно и тоже.
2. id изготовитель таблы Изготовитель связан с таблой автосостав к чему?
там просто в автосоставе есть id изготовителя.
3, 4. исправлено.
5. Слабо уверен в том, что все эти запросы нужны в принципе. эти запросы нужны для задания, просто мозгов не хватает, поэтому они похожие и нужны для количества....
6. согласен неподумал
7, исправлю
8. исправил,
9. Макрос2 убрал. К чему он тут лишний такой? он нужен был для формы ПТС
формы тоже для кол-ва
13. там я пытался сделать так что-бы проданная машина отмечалась и в сделке не выбиралась
14. В таблице автосостав дата прихода есть, модель и прочее есть, а сколько пришло - ХЗ. Добавил поле наличие. Вообще тут начинается хрень. Модель и
ее характеристики в отдельной табле. А от нее в отдельную даты прихода, сколько пришло и пришло, от кого пришло. Затем уже от этого плясать продажами.
Ну тут ладно, натянул как попало. Хотя не правильно все это по структуре. Как мне каа-аца.
15. Остаток машин натянул через данный интерфейс кое как. Вроде работает, но не тестировал как следует. Для этого добавил 2 запроса "Всего моделей"
и "Всего продано" эти 2 не особо правильно работают, там не количество показывает, у меня нет нигде 25 машин....
16. Все не так. Интерфейс и прочее делал бы все иначе. (Но это на мой взбляд) :))
я же сказал, что я новичок, оч слабо знаю бд, нашел в нете 2 базы, на основе них сделал свою, разобрал ихнюю структуру и себе в базу, это только для задания... | |
|
| |
|
|
|
| Ну по поводу 15 пункта. Я же сам туда и всадил разное количество машин, что бы было что продавать. В общем смотри внимательнее. Если модель продана, то и в выпадающем списке ее не будет. И логического поля не надо. Макрос 2 убран, да и макрос 1 тоже не очень нужен.
В общем внимательнее посмотри переделки. Там работы не много осталось. | |
|
| |
|
|
|
| Спасибо большое за помощь.
Вы там добавили поле наличие, но, у меня сделано чуть не так, у каждой машины есть свой вин код, №шасси и т.д. одинаковых нет. Если только сделать еще одну таблицу, или запрос, в котором будет только марка, модель, тогда да, можно там прописать кол-во, а так как сейчас так не подходит. | |
|
| |
|
|
|
| Понятно. Таких мелочей не знаю. Если повторений быть не может, то нужно плясать от группового запроса, сколько в наличии count. Оставить логическое поле "продано" и ставить отметку запросом на обновление в строке, когда продано.
Как-то так. | |
|
| |
|
|
|
| Понятно. Таких мелочей не знаю. Если повторений быть не может, то нужно плясать от группового запроса, сколько в наличии count. Оставить логическое поле "продано" и ставить отметку запросом на обновление в строке, когда продано.
Как-то так. | |
|
| |
|
|
|
| а как это сделать, можно пожалуйста поподробнее. | |
|
| |
|
|
|
| http://zalil.ru/30791707
Изобразил нечто. Но это подгонка под то, что уже есть. Вроде работает и без отметки на продажу, поскольку везде фигурирует id и наличие.
Если ставить галку, то, допустим, если выбрали модель, при этом запустили запрос на обновление, потом чел передумал, ввели другую модель, то надо делать отмену продажи, что бы та, что была введена вначале, отменилась. Этом можно сделать кнопкой отмена, возврат и т.д. В крайнем случае, при удалении записи, автоматически должна возвращаться и модель.
В общем сделал без этого запроса. Он лишний будет. В крайнем случае
UPDATE Автосостав SET Автосостав.продажа = Yes
WHERE (((Автосостав.id)=[forms]![Сделка]![ПолеСоСписком16])); | |
|
| |
|
|
|
| спасибо большое. Последняя просьба, в этой сделке-покупке форме есть просмотреть отчет, отчет выводится не тот, т.е. если я создаю новую сделку, то отчет выводится весь, т.е. с первой покупки, надо пролистывать до нужного. Как это сделать? Спасибо | |
|
| |
|
|
|
| Отчет не смотрел. Однако тут сделать ничего сложного нет. Если отчет открывается с формы "Сделка", то его источником сделай запрос, где будет фигурировать таблица Сделка. Далее на id сделки поставь условие Forms!Сделка!Полеid где отображается id этой самой таблицы. Кстати поле само можно на экран не выводить. И будет счастье.
В общем вот http://zalil.ru/30792421 | |
|
| |
|
|
|
|
|
| Здравствуйте! У меня к вам последняя просьба. Начал уже делать курсовую, оформлять и столкнулся с такой проблемой, в форме сделка вы мне помогли сделать выбор остатка машин, но еще такая ерунда, машина привязана к владельцу, и необходимо сделать так, что бы при выборе продавца-владельца список авто сокращался до того, который закреплен за продавцем. Как это сделать, подскажите пожалуйста, если это вообще возможно. Еще раз прошу прощения за беспокойство, заранее благодарю. | |
|
| |
|
|
|
| при получении фокуса полем выбора машин -ставим обработчик
который при наличии продавца добавляет в Recordsourse поля_авто строчку типа "Where владелец=" & Me.Поле_Владелец
как-то так | |
|
| |
|
|
|
| Ну а вообще. глянул схему. Авто закреплены за продавцами. Есть связь продавец - авто. Стало быть любой запрос покажет за кем что. Далее связь Авто - сделка по id авто. Стало быть запрос с таблицами продавец - авто - сделка покажет проданные авто и соответствующего продавца. То бишь сколько дохода принес каждый продавец, а дата покажет за какой период. Подмазав сюда покупателя, можно посмотреть какой продавец продал сколько машин какому хмырю. Отсюда вывод - связь продавец - сделка лишняя. (А вдруг продавец сменит фамилию?) но на время сделки он же был под каким-то именем? Ну а если уволится и на его место пришел другой? - тогда все подвиги и грехи плавно перейдут на нового. Долг тоже переходит по наследству. А если удалить с базы - тогда все проданное уйдет в небытие, и существующее тоже.
Вывод: связывать продавец - авто нельзя. Надо по принципу покупатель +авто=сделка. Также и назначать авто продавцам.
Вариан 2 При выборе продавца в поле, обновлять данные в поле выбора техники. А в источинке строк для полясосписком выбора моделей, указать условие, где будет фигурировать поле выбора продавца. Т.Е. Выбрав продавца, будем видеть только тот остаток машин, который есть у данного продавца. Отсюда вывод, при выборе машины - не ошибись в продавце.
Во замутил | |
|
| |