Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
 Аватар для V.V.P.Net
11 / 11 / 1
Регистрация: 14.04.2010
Сообщений: 73

Сложный запрос в одной кнопке

30.04.2011, 16:07. Показов 2140. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, у меня встал процесс разработки Курсовой. Проблема в том что я не знаю каким макаром мне сделать запрос который бы делал:
1) Уменьшил количество в таблице товары на один при условии что количество товаров>0
2) Увеличил на один в таблице продажи в поле количество_2
3) Добавил запись в таблице продажи дату но дать вначале ввод даты пользователю (по умолчанию должна быть вбита текущая дата)
И всё это нужно вбить в одну кнопку продажи.....как?
И ещё часто здесь вижу приводят код SQL но где сам редактор кода в accessе найти не могу т.к я в нём первый раз создаю бд. тыкните пальцем что по чём. До этого в PARADOX 7 всё делал писал на делфях...
Вложения
Тип файла: rar Database1.rar (1.48 Мб, 47 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2011, 16:07
Ответы с готовыми решениями:

сложный запрос (для меня сложный)
Есть таблица с продажами услуг от разных фирм, есть таблица с оплатой за предоставленные услуги (при этом сумма оплат может не совпадать с...

Сложный запрос
Я в ступоре. Есть два запроса, которые построены не на взаимосвязанных таблицах. Но данные из этих запросов мне нужно объединить. Запрос...

Сложный запрос
Здравствуйте. Есть форма из пяти полей, куда из списка выбираются данные для запроса. Картинка: После того, как поля заполнены,...

7
1181 / 632 / 39
Регистрация: 30.05.2010
Сообщений: 715
01.05.2011, 11:39
Здравствуйте V.V.P.Net.
прочесть Вашу БД не могу ввиду отсутствия А2007, но это не принципиально ведь структура SQL конструкций и структура VBA не зависит от версии MS Access.
Разместите на форме два контрола : поле - Поле0 и кнопку - Кнопка1
Событию Нажатие кнопки поручите выполнение подобного кода:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Кнопка1_Click()
Const sQ1 = "UPDATE товары SET [количество] = [количество]-1 WHERE [количество]>0"
Const sQ2 = "UPDATE продажи SET [количество_2] = [количество_2]+1"
Const sQ3 = "NSERT INTO [продажи] ( дата ) Values (#", sQ4 =  "#)"
Dim s$, db As DAO.Database
Set db = CurrentDb
1 'исполнение запроса на обновление по условию
db.Execute sQ1
2 'исполнение запроса на обновление
db.Execute sQ2
3
s = Поле0 & "" 'чтение содержимого поля - Поле0
If Not IsDate(s) Then Exit Sub 'если значение поля не дата - выход из процедуры
s = sQ3 + Format(s, "m\/d\/yyyy") + sQ4 'формирование исполняемой SQL конструкции
db.Execute s 'исполнение запроса на добавление
Set db = Nothing
End Sub
и Ваша задача : "..это нужно вбить в одну кнопку.." будет решена.

в А2003 Режим SQL или Конструктор переключаются через меню Вид, в А2007 очевидно это не так, но включить редактор SQL через контекстное меню Конструктора запроса скорее всего можно.

Успехов Вам.
Евгений.

P.S. для увеличения вероятности получения помощи, выкладывайте архив с заранее подготовленным (желательно в формате А2003, избавленным от избыточных данных, OLE объектов,.... и сжатый средствами MS Access) файлом БД размером <= 200 Kb.
Не у всех участников форума бесплатный входящий трафик и потому предлагать скачивать архив 1.5Mb скорее всего бесполезного объема думаю не разумно.
2
 Аватар для V.V.P.Net
11 / 11 / 1
Регистрация: 14.04.2010
Сообщений: 73
01.05.2011, 14:49  [ТС]
Teslenko_EA, Спасибо!!! Сейчас пытаюсь делать. пока не очень получается.....
У меня Access 2010 там вообще нет возможности сохранить в 2003. Хотя есть в публикациях но не сохраняется в 2003 "ошибка"
Редактор кода нашел оказывается это "Visual Basic"
-А что за средства сжатия MS Access?
Миниатюры
Сложный запрос в одной кнопке  
0
 Аватар для WiLex
78 / 78 / 1
Регистрация: 22.08.2010
Сообщений: 212
01.05.2011, 22:17
редактор SQL предполагаю что и как у 2007 описание как в него попасть
1
 Аватар для V.V.P.Net
11 / 11 / 1
Регистрация: 14.04.2010
Сообщений: 73
02.05.2011, 06:50  [ТС]
А есть какой-нибуть справочник по операторам и функциям ms access?
0
 Аватар для V.V.P.Net
11 / 11 / 1
Регистрация: 14.04.2010
Сообщений: 73
02.05.2011, 10:23  [ТС]
Ещё один вопрос. Как мне в одной форме редактировать записи 3 таблиц? Таблица поставка там поле дата нужно дать возможность изменить его и сохранить запись. И таблица поставщики но там просто будет поле со списком в котором нужно будет выбрать поставщика. У меня не получается т.к запрещает редактировать данные в полях других таблиц. Может проблемам со связями ?
Миниатюры
Сложный запрос в одной кнопке   Сложный запрос в одной кнопке  
0
 Аватар для V.V.P.Net
11 / 11 / 1
Регистрация: 14.04.2010
Сообщений: 73
02.05.2011, 20:04  [ТС]
Цитата Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте V.V.P.Net.
прочесть Вашу БД не могу ввиду отсутствия А2007, но это не принципиально ведь структура SQL конструкций и структура VBA не зависит от версии MS Access.
Разместите на форме два контрола : поле - Поле0 и кнопку - Кнопка1
Событию Нажатие кнопки поручите выполнение подобного кода:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Кнопка1_Click()
Const sQ1 = "UPDATE товары SET [количество] = [количество]-1 WHERE [количество]>0"
Const sQ2 = "UPDATE продажи SET [количество_2] = [количество_2]+1"
Const sQ3 = "NSERT INTO [продажи] ( дата ) Values (#", sQ4 =  "#)"
Dim s$, db As DAO.Database
Set db = CurrentDb
1 'исполнение запроса на обновление по условию
db.Execute sQ1
2 'исполнение запроса на обновление
db.Execute sQ2
3
s = Поле0 & "" 'чтение содержимого поля - Поле0
If Not IsDate(s) Then Exit Sub 'если значение поля не дата - выход из процедуры
s = sQ3 + Format(s, "m\/d\/yyyy") + sQ4 'формирование исполняемой SQL конструкции
db.Execute s 'исполнение запроса на добавление
Set db = Nothing
End Sub
и Ваша задача : "..это нужно вбить в одну кнопку.." будет решена.

в А2003 Режим SQL или Конструктор переключаются через меню Вид, в А2007 очевидно это не так, но включить редактор SQL через контекстное меню Конструктора запроса скорее всего можно.

Успехов Вам.
Евгений.

P.S. для увеличения вероятности получения помощи, выкладывайте архив с заранее подготовленным (желательно в формате А2003, избавленным от избыточных данных, OLE объектов,.... и сжатый средствами MS Access) файлом БД размером <= 200 Kb.
Не у всех участников форума бесплатный входящий трафик и потому предлагать скачивать архив 1.5Mb скорее всего бесполезного объема думаю не разумно.
Ну вообщем через создания кнопки и поля не получилось, точнее получилось он вычитает с товаров и делает запись в дату. Но не прибавляет в [Количество_2] я думаю это связана с тем что там нет не каких значений. Тут же сразу вопрос, как с этим бороться?
Я сделал по другому:
Есть две таблицы. В которых есть разные поля (количество). Первая таблица это товары, в этой таблице нужно при нажатии кнопки вычисть значения из поля(например: поле0) + В тоже самое время нужно добавить сумму того же поле0 во вторую таблицу продажи. - У меня получилось так сделать запросом на обновления, но касяк в том что вычитание происходит (вычит на поле0) по всем товарам (в поле Количество)
Ну вот собственно....на этом и встал...

Добавлено через 1 час 22 минуты
Тут же сразу вопрос, как с этим бороться?
Отменяется я разобрался
0
 Аватар для V.V.P.Net
11 / 11 / 1
Регистрация: 14.04.2010
Сообщений: 73
02.05.2011, 22:36  [ТС]
UPDATE
Вложения
Тип файла: rar Database1.rar (1.73 Мб, 78 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2011, 22:36
Помогаю со студенческими работами здесь

Сложный запрос
Бодрое утро, подскажите нужно сделать запрос результат которого нужно добавить до текущей таблицы. Как такое провернуть?

Сложный запрос
Нужно создать запрос, который подсчитает общий доход за указанный интервал времени. Начальная и конечная даты интервала вводятся...

Сложный запрос на БД
Привет всем. Возник вопрос которые сам не смог решить. Есть запрос t7 в этой запросе добавить данные из таблиц Mess, те id_student...

сложный запрос(!)
всем привет! подскажите пожалуйста как реализовать такой запрос: 1. таблица &quot;профессия&quot;: код(счетчик); наименование(текст)...

Сложный запрос
Помогите пожалуйста создать сложный запрос, нужно получить выборку со столбцами Помещение,Оборудование, Счетчик. Если количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru