Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MS Access] БД компьютерного магазина, Задача проектирования 
:(
    Опции темы
kapbepucm
Дата 3.5.2008, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Цитата(Treod @  3.5.2008,  18:15 Найти цитируемый пост)
Вводим стоимость товара, выводится стоимость продажи
Нет. Вводим код товара (конечно необязательно код, для конечного пользователя можно сделать раскрывающийся список, и код, который нужен, сам введётся) вводим количество, а всё остальное самостоятельно где надо посчитается.



--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Treod
Дата 3.5.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: 1
Всего: 2



Да я оговорился. Вводим код товара. Но, повторю еще раз: мне нужно, чтобы стоимоть продажи сразу вносилась в таблицу "Товары" поле "стоимость продажи"

Добавлено через 3 минуты и 2 секунды
user posted image

Добавлено через 3 минуты и 56 секунд
Так приблизительно должна выглядеть таблица "Товары"
PM MAIL ICQ   Вверх
kapbepucm
Дата 3.5.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Цитата(Treod @  3.5.2008,  18:36 Найти цитируемый пост)
мне нужно, чтобы стоимоть продажи сразу вносилась в таблицу "Товары" поле "стоимость продажи"
Думаю в таблице это сделать практически невозможно (Конечно, возможно, что мне это просто неизвестно). Но это можно сделать в форме прописав AfterUpdate(), например
Код
Private Sub Цена_закупки_AfterUpdate()
  [Цена продажи].Value = Round([Цена закупки].Value * 1.3, 2)
End Sub


И всёже, не понимаю чем вам не нравиться регистрировать новый товар в этом запросе:
Код
SELECT [Товары].[Код], [Товары].[Наименование], [Товары].[Характеристики], [Товары].[Цена закупки], round([Товары].[Цена закупки]*1.3) AS [Цена продажи]
FROM Товары;
для пользователя же выглядит одинаково?

Это сообщение отредактировал(а) kapbepucm - 3.5.2008, 19:11


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
kapbepucm
Дата 3.5.2008, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Остаток товара сделал в 5 этапов (для наглядности):
1)Запрос Ostatok1
Код

SELECT [Строки заказа].[Код товара], Sum([Строки заказа].[Количество]) AS Количество
FROM [Строки заказа]
GROUP BY [Строки заказа].[Код товара];

2)Запрос Ostatok2
Код
SELECT [Строки поставки].[Код товара], Sum([Строки поставки].[Количество]) AS Количество
FROM [Строки поставки]
GROUP BY [Строки поставки].[Код товара];

3)Запрос Ostatok3
Код

SELECT Ostatok1.[Код товара], Ostatok1.Количество
FROM Ostatok1
UNION ALL SELECT Ostatok2.[Код товара], (Ostatok2.Количество*(-1))as [Количество]
FROM Ostatok2;

4)Запрос Ostatok4
Код
SELECT [Ostatok3].[Код товара], Sum([Ostatok3].[Количество]) AS [остаток на складе]
FROM Ostatok3
GROUP BY [Ostatok3].[Код товара];

5)Запрос Ostatok5
Код
SELECT [Товары].[Код], [Товары].[Наименование], [Товары].[Характеристики], [Товары].[Цена закупки], round([Товары].[Цена закупки]*1.3,2) AS [Цена продажи], [Ostatok4].[остаток на складе]
FROM Ostatok4 LEFT JOIN Товары ON [Ostatok4].[Код товара]=[Товары].[Код];


Это сообщение отредактировал(а) kapbepucm - 3.5.2008, 19:29


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Treod
Дата 3.5.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: 1
Всего: 2




Спасибо большое за помощь. Для цены продыжи оставлю просто запрос. С остатком пока разбираюсь. Еще раз огромное спасибо.
PM MAIL ICQ   Вверх
bopoha
Дата 3.5.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 21



Treod, чем больше цифр будет захарткодано в коде, тем труднее будет сопровождать программу. После разработки попробуй найти разбросанную 1.3 в коде. Надбавка поменяется. Как пить дать. Если не хочется выносить в настройки, то можно сделать фукнцию для вычисления. И использовать ее везде. При измнении понадобится поменять только в одном месте.
PM MAIL WWW ICQ Skype GTalk   Вверх
Treod
Дата 7.5.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: 1
Всего: 2



Пытаюсь создать запрос, выдает ошибку.
Код

SELECT [Строки заказа].Код, [Строки заказа].[Код заказа], [Строки заказа].[Код товара], [Строки заказа].Количество, ( ([Строки поставки].[Цена закупки])*1,3) AS ([Строки заказа].[Цена продажи])
FROM (Товары INNER JOIN [Строки заказа] ON Товары.Код = [Строки заказа].[Код товара]) INNER JOIN [Строки поставки] ON Товары.Код = [Строки поставки].[Код товара];


Произвел некоторые изменения:
1) "Цену продажи" занес в "Строки заказа"
2)"Цену закупки" в "Строки поставки"

user posted image
PM MAIL ICQ   Вверх
bopoha
Дата 8.5.2008, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 21



Цитата(Treod @  7.5.2008,  18:30 Найти цитируемый пост)
AS ([Строки заказа].[Цена продажи])


Укажите новое имя без таблицы
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 8.5.2008, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Всё, надоело.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Akina
Дата 8.5.2008, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена!


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Treod
Дата 8.5.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.11.2007

Репутация: 1
Всего: 2




Цитата

Укажите новое имя без таблицы


Спасибоsmile
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.