Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/44: Рейтинг темы: голосов - 44, средняя оценка - 4.64
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
1

Создание таблицы или запроса из 2-х таблиц.

22.03.2012, 09:01. Просмотров 8113. Ответов 30
Метки нет (Все метки)

Здравствуйте!
Появилась необходимость, создавать временную таблицу ( для вывода одного отчета), но создать ее нужно из 2-х таблиц.

Т.е. в двух таблицах есть одинаковое поле КОД.
По этому полю нужно выбрать данные например КОД=3 из одной и другой таблицы и вывести эти данные в отчет.
Как это можно осуществить?
Заранее спасибо откликнувшимся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2012, 09:01
Ответы с готовыми решениями:

Создание формы (запроса) с выводом всех значений одной из таблиц, но по условиям полей из другой таблицы
Добрый день, уважаемые форумчане!!! Сформулировал заголовок как смог :)...

Создание итогового запроса с выборкой из нескольких таблиц
Добрый день. Прошу помощи в решении задачи: есть три таблицы - Банк, Журнал,...

Создание запроса с выбором значений из разных таблиц
Необходимо создать отчет с выбором значений из таблиц Начисления и Выплаты....

Создание таблицы с помощью запроса
Помогите пожалуйста. Есть запрос: create table tbl1(fld integer); Он...

Создание главной таблицы из подчиненных таблиц
Всем привет! Такой вопрос, поскольку я нуб в Access: Как из 16 таблиц в Access...

30
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
23.03.2012, 10:04  [ТС] 21
Мне не нужно выводить 4000 первых записей.
Попробую обяснить. Мне необходимо в конструкции WHERE [КодМарки]=2, задавать значение кода по двойному нажатию на поле формы справочника марок.
Т.е у меня марки постоянно меняются, исчезают добавляются, для этого и сделан справочник марок.
И нужно объединииь вагоны с маркой по которой делаем отчет в данный момент.
Попробовал вот так:
Visual Basic
1
2
SELECT [НомерВагона],[КодМарки] FROM [ПришедшиеВагоны] WHERE [КодМарки]=Me![Код]
UNION SELECT [НомерВагона],[КодМарки] FROM [УбранныеВагоны] WHERE [КодМарки]=Me![Код];
Не получается.
0
Agapov_stas
3337 / 1740 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
23.03.2012, 10:09 22
Цитата Сообщение от Alsuh Посмотреть сообщение
Попробовал вот так:
Ну, если просто из запроса, тогда уж:
SQL
1
2
SELECT [НомерВагона],[КодМарки] FROM [ПришедшиеВагоны] WHERE [КодМарки]=Forms!ИмяФормы![Код]
UNION SELECT [НомерВагона],[КодМарки] FROM [УбранныеВагоны] WHERE [КодМарки]=Forms!ИмяФормы![Код]
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
23.03.2012, 10:12  [ТС] 23
Нет, Agapov_stas, так точно не пойдет.
Форма табличная, в ней 10 марок. Какой из кодов ему брать. Марка выбирается по двойному нажатию на поле формы.
Необходимо задать значение кода из поля формы по которому дважды кликнули.
0
Agapov_stas
3337 / 1740 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
23.03.2012, 10:21 24
Цитата Сообщение от Alsuh Посмотреть сообщение
Необходимо задать значение кода из поля формы по которому дважды кликнули.
Ну, тогда как-то так(если табличная форма - это подчиненная):
Visual Basic
1
2
3
4
5
6
7
8
Private Sub КодМарки_DblClick()
Dim a as string
a=Forms!ИмяФормы!ИмяПодчиненнойФормы.Form.[Код]
'Обновляем текст запроса
CurrentDb.QueryDefs("ИмяЗапроса").SQL = " SELECT [НомерВагона],[КодМарки] FROM [ПришедшиеВагоны] WHERE [КодМарки]=" & a & " " & _
                                        " UNION SELECT [НомерВагона],[КодМарки] FROM [УбранныеВагоны] WHERE [КодМарки]=" & a & " "
 
End Sub
В данном случае запрос,который существует, будет изменен.
А вы запрос запускаете в "чистом" виде?
0
alvk
Эксперт MS Access
5607 / 3501 / 170
Регистрация: 12.08.2011
Сообщений: 8,930
23.03.2012, 10:32 25
Цитата Сообщение от Alsuh Посмотреть сообщение
Необходимо задать значение кода из поля формы по которому дважды кликнули.
по полю кликнули дважды и что? открылся отчёт или форма? в таком случае круг закрылся.
Мы по-моему это обсуждали :
Visual Basic
1
2
3
4
5
6
    Dim stDocName As String
    Dim stLinkCriteria As String
    
    stDocName = "отчёт"
    stLinkCriteria = "[поле]=" & Me![поле]
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
26.03.2012, 02:08  [ТС] 26
Нет круг не закрылся.
Имеем запрос на объединение, который выбирает из 2-х таблиц нужные поля.
Т.е. по двойному клику на поле формы , выводим отчет , который выводит данные из запроса.
Только как в запросе задать код?
Visual Basic
1
2
SELECT [НомерВагона],[КодМарки] FROM [ПришедшиеВагоны] WHERE [КодМарки]=Me![Код]
UNION SELECT [НомерВагона],[КодМарки] FROM [УбранныеВагоны] WHERE [КодМарки]=Me![Код];
Как задать значение кода из поля формы на котором 2 раза кликнули.
Вот сюда : WHERE [КодМарки]= ???????
0
alvk
Эксперт MS Access
5607 / 3501 / 170
Регистрация: 12.08.2011
Сообщений: 8,930
26.03.2012, 05:19 27
зачем ограничивать запрос, когда можно отчёт открыть с параметром?
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
26.03.2012, 07:00  [ТС] 28
Ну я уже писАл об этом, постов 10 назад.
3. Как все таки выборку по маркам сделать не в форме , а в запросе на объединение.
Объясню зачем. Представьте 100 000 вагонов пришедших и 100 000 убранных, это Access при нынешней конструкции сначала объеденит все 200 000 вагонов в один запрос( а это 200 000 строк с 25 полями),а потом отчет отсортирует с нужной маркой. Правильнее считаю было бы объединить в запросе только вагоны с нужной маркой и вывести их в отчете.
Так можно ли так сделать? И как считаете правильнее?
0
alvk
Эксперт MS Access
5607 / 3501 / 170
Регистрация: 12.08.2011
Сообщений: 8,930
26.03.2012, 08:07 29
Нужно думать не "как правильнее с точки зрения обработки информации на процессорах в 2011 году, ведь они такие слабые", а "как выгоднее для дальнейшей работы". Вставив условие where в запрос, вы ограничете круг его использования в дальнейшем. Вы вспомните мои слова, когда у вас будет под сотню запросов в базе и вы будете думать, "хде тута што?". На этом считаю своё участие тут законченным.
0
shanemac51
Модератор
Эксперт MS Access
7816 / 3030 / 433
Регистрация: 07.08.2010
Сообщений: 8,245
Записей в блоге: 2
26.03.2012, 09:29 30
я не встретила слов
--сортировка
--дата уборки
--один и тот же вагон проходит много уборок(дат нигде нет)
--нужны все уборки или последняя

какова цель вашего отчета, что он должен показать кроме выбора по марке
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
26.03.2012, 12:10  [ТС] 31
alvk спасибо за помощь, я же ведь и спрашивал совета. Твою точку зрения я понял, спасибо. Рад буду принять от вас любую помошь и совет.

Это база пробная. так сказать пример. К чему слова уборка и т.д. В основной базе дат очень много.
Постановки, погрузки, отправки, выгрузки, номера накладной, поручений, коносамента , коды марок и еще очень много полей. Думаю, что все перечислять и прикладывать базу с 30 таблицами и 45 формами не нужно. Просто есть задача, с которой у меня справиться самому не получается.

я ее и озвучил, первую часть сделать помогли ( всем спасибо , +-сами никого не обделил), со второй пока справиться не получается.
Имеем запрос на объединение, который выбирает из 2-х таблиц нужные поля.
Т.е. по двойному клику на поле формы , выводим отчет , который выводит данные из запроса.
Только как в запросе задать код?
Код Visual Basic

SELECT [НомерВагона],[КодМарки] FROM [ПришедшиеВагоны] WHERE [КодМарки]=Me![Код]
UNION SELECT [НомерВагона],[КодМарки] FROM [УбранныеВагоны] WHERE [КодМарки]=Me![Код];

Как задать значение кода из поля формы на котором 2 раза кликнули.
Вот сюда : WHERE [КодМарки]= ???????
0
26.03.2012, 12:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2012, 12:10

Создание таблицы из запроса по кнопке формы
Есть запрос, который создает таблицу текст запроса: SELECT Cstr(S.Арт) AS...

Создание запроса на создание таблицы
Привет всем форумчане! У меня ест такая проблема, в аксеси находится...

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


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru