Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2012, 07:58   #1
Tessi123
Пользователь
 
Регистрация: 09.07.2010
Сообщений: 13
По умолчанию добавление данных в таблицу из запроса

доброго времени суток!
подскажите пожалуйста как реализовать добавление данных в таблицу "приход" из запроса "группировка расхода".
нужно что бы в таблицу "приход" в столбец "расход" добавлялись значения из запроса "группировка расхода" из столбца "sum-количество расхода"
то есть было

Код товара/ дата прихода/ наименование/ количество прихода/ цена продажи/ расход
0000001 /01.06.2012 /картридж /10 /200,00р./
0000002 /01.06.2012 /псвч/ 5 /200,00р./
0000003 /02.06.2012 /жесткий диск /100 /3 000,00р./

стало

Код товара/ дата прихода/ наименование /количество прихода /цена продажи /расход
0000001 ,01.06.2012/ картридж/ 10 /200,00р./ 4
0000002 /01.06.2012/ псвч /5 /200,00р./ 1
0000003 /02.06.2012/ жесткий диск/ 100 /3 000,00р./ 11

помогите пожалуйста
Вложения
Тип файла: rar База данных1.rar (55.6 Кб, 12 просмотров)
Tessi123 вне форума Ответить с цитированием
Старый 08.06.2012, 13:58   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Добрый день.
Есть много вариантов, но мне постоянно пишет что должен использоваться обновляемый запрос как вариант модуль:
Sub tt()
Dim db As Database
Set db = CurrentDb
Dim t As Recordset


Set t = db.OpenRecordset("SELECT DISTINCTROW Sum(ðàñõîä.[êîëè÷åñòâî ðàñõîäà]) AS [Sum - êîëè÷åñòâî ðàñõîäà], ðàñõîä.[Êîä òîâàðà] " & _
"FROM ðàñõîä " & _
"GROUP BY ðàñõîä.[Êîä òîâàðà];")


t.MoveFirst
Do Until t.EOF


db.Execute ("UPDATE ïðèõîä SET ïðèõîä.ðàñõîä = " & t![Sum - êîëè÷åñòâî ðàñõîäà] & " " & _
"WHERE (((ïðèõîä.[Êîä òîâàðà])=" & t![Êîä òîâàðà] & "));")

t.MoveNext
Loop


End Sub
gluk_fm вне форума Ответить с цитированием
Старый 08.06.2012, 14:00   #3
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Ой что-то коряво вставилось
Вложения
Тип файла: rar База данных1.rar (27.2 Кб, 16 просмотров)
gluk_fm вне форума Ответить с цитированием
Старый 08.06.2012, 14:24   #4
Tessi123
Пользователь
 
Регистрация: 09.07.2010
Сообщений: 13
По умолчанию

спасибо Вам всем большое
я уже сама допетрила как надо
Tessi123 вне форума Ответить с цитированием
Старый 08.06.2012, 16:39   #5
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

А как Вы сделали? Просто для себя радиинтереса..... Может у Вас оригинальней решение а такие действия необходимо выполнять достаточно часто.
gluk_fm вне форума Ответить с цитированием
Старый 09.06.2012, 06:35   #6
Tessi123
Пользователь
 
Регистрация: 09.07.2010
Сообщений: 13
По умолчанию

решила что вычисляемые поля в таблице это не есть хорошо и создала Суммарный расход с помощью запроса
Код SQL
SELECT [Код товара], [дата прихода], наименование, [количество прихода], [цена продажи],
DSum("[количество расхода]","расход","[Код товара]=" & [Код товара]) AS расход
FROM приход

потом ещё один запрос
код SQL
SELECT приход.[Код товара], приход.наименование, приход.[количество прихода], [Суммарный расход: Запрос].расход, IIf([Суммарный расход: Запрос].[расход] Is Null,[приход].[количество прихода],[приход].[количество прихода]-[Суммарный расход: Запрос].[расход]) AS Остаток
FROM [Суммарный расход: Запрос] INNER JOIN приход ON [Суммарный расход: Запрос].[Код товара] = приход.[Код товара];
воть ... не судите строго
Tessi123 вне форума Ответить с цитированием
Старый 09.06.2012, 15:11   #7
aaaaa52
Пользователь
 
Регистрация: 06.06.2012
Сообщений: 22
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Ой что-то коряво вставилось
чтобы коряво не вставлялось просто экспортируйте сам модуль в txt
копетан очевидность)))
aaaaa52 вне форума Ответить с цитированием
Старый 09.06.2012, 21:33   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Tessi123.
1. "..что бы в таблицу "приход" в столбец "расход" добавлялись значения.."", "..создала .. расход с помощью запроса.." -
действительно повторно регистрировать в таблице прихода уже зарегистрированное в значение расхода это неверный подход
по причине разрушения нормализации, эти данные в любой момент можно получить запросом
(Вашу конструкцию я подредактировал):
Код:
SELECT T0.[Код товара], T0.[дата прихода], T0.наименование, 
	T0.[количество прихода], T0.[цена продажи], 
	Sum(T1.[количество расхода]) AS расход
FROM расход AS T1 RIGHT JOIN приход AS T0 ON T1.[Код товара] = T0.[Код товара]
GROUP BY T0.[Код товара], T0.[дата прихода], T0.наименование, T0.[количество прихода], T0.[цена продажи]
2. а остаток можно получать так:
Код:
SELECT T1.[Код товара], T1.наименование, T1.[количество прихода], T.расход, 
	T1.[количество прихода]-Nz(T.расход,0) AS Остаток
FROM (
	SELECT Sum([количество расхода]) AS расход, [Код товара] 
	FROM расход 
	GROUP BY [Код товара]
	) AS T RIGHT JOIN приход AS T1 ON T.[Код товара]=T1.[Код товара]
3. в таблицах БД "столбец" чаще называют полем.
4. выкладывая на странице код(SQL конструкцию),
для удобочитаемости заключайте его в теги [соde]...[/соde],
для этого на панели и размещена кнопка - #.
(совет и для gluk_fm)

to gluk_fm:
"..что-то коряво.." - существуют разные способы борьбы с "корявостью",
например через буфер обмена вставлять в документ MS Word,
а затем через буфер получать "правильно" отображаемый текст,
но проще не бороться с кодировкой Uni.. самостоятельно, а ассоциировать
кодовую страницу 1252 с кодовой страницей 1251
образец в файле.

Евгений.
Вложения
Тип файла: rar CodePage.rar (258 байт, 14 просмотров)

Последний раз редактировалось Teslenko_EA; 09.06.2012 в 21:44.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление данных в таблицу MaxOz БД в Delphi 0 28.02.2012 18:08
Дельфи. Добавление данных в таблицу... ne4eHUce БД в Delphi 1 14.04.2011 06:01
Добавление данных в таблицу slai SQL, базы данных 1 13.12.2010 16:33
Добавление данных в таблицу Excel slai Общие вопросы Delphi 1 11.10.2010 06:49
Добавление данных в таблицу. Hobbit_88 БД в Delphi 11 06.06.2009 13:52