Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
1

Адаптировать SQL запрос в запрос для access

12.02.2015, 17:12. Просмотров 1278. Ответов 17
Метки нет (Все метки)

Помогите пожалуйста:
имеется вот такой рабочий запрос созданный в exel. но так как Exel перестал вывозить разросшиюся базу перевозим все на access, но вот встала проблема в перевода запросов из qsl на язык запросов access. прошу вашей помощи.
SQL
1
SELECT ReportID,GROUP_CONCAT(IF(IDevice LIKE '%KB%',RIGHT(IDevice, 11),NULL)) FROM `aida`.`Item`   INNER JOIN (SELECT id, MAX(`RDateTime`) FROM `aida`.`Report` GROUP BY (`RHost`)) groupedtt ON Item.ReportID=groupedtt.id WHERE IPage IN ("Windows Update") GROUP BY ReportID;
Буду очень признателен за помощь.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2015, 17:12
Ответы с готовыми решениями:

SQL запрос к ACCESS
Приветствую! Подскажите, пожалуйста, почему не находит результатов простейший запрос ...

Access Запрос в SQL
Есть БД .. Нужно составить запрос в SQL: Найти работников, у которых ученая степень д.т.н. и (или)...

SQl-запрос Ms access
Есть запрос SELECT Работники.ФИО AS ФИО, MIN(Работники.Размер_премии) FROM Работники; Надо,...

Запрос SQL в Access
Реализовать SQL-запрос таким образом, чтобы в таблице отображались поля «Фамилии», «Имя»,...

Запрос в SQL Access
Есть таблица: Необходимо создать запрос на подсчет кол-ва изучаемых предметов. Буду очень...

17
mobile
Эксперт MS Access
23741 / 13296 / 2807
Регистрация: 28.04.2012
Сообщений: 14,558
12.02.2015, 18:29 2
Предполагая, что
1. таблицы называются [Item] и [Report] а не [aida.Item] и [aida.Report]
2. "Windows Update" это название запроса (???) в котором есть поле для выбора IPage
3. Вместо GROUP_CONCAT используем самописную функцию, например часто используемую на этом форуме UnionStr1,
приводим запрос к виду, съедобному для JET SQL
SQL
1
2
3
4
5
SELECT ReportID, UnionStr1(IDevice, IIF(IDevice LIKE '*KB*',RIGHT(IDevice, 11),NULL)) AS DeviceName
FROM [Item]  INNER JOIN 
  (SELECT id, MAX(RDateTime) FROM [Report] GROUP BY (RHost)) groupedtt ON Item.ReportID=groupedtt.id 
WHERE IPage IN (SELECT IPage FROM [Windows UPDATE]) 
GROUP BY ReportID;
Visual Basic
1
2
3
4
5
6
7
8
9
10
Public Function UnionStr1(ID, Fam)
 Static IDOld, FamUnion
 If IDOld <> ID Then
   IDOld = ID
   FamUnion = Null
 End If
 
 FamUnion = (FamUnion + ", ") & Fam
 UnionStr1 = FamUnion
End Function
Если же мои предположения неверны, то объясняйте что есть что.
0
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
12.02.2015, 18:50  [ТС] 3
Даже не ожидал что так быстро ответят. Спасибо огромное.
Прошу извинить что не дал пояснений.
[Item] и [Report] да действительно это таблицы имеют связь по полю Id
IPage - это столбец в таблице Item
Windows Update - это значение в колонке IPage

Попробовал.
выдает ошибку.
Адаптировать SQL запрос в запрос для access


вот так выглядит структура базы.
Адаптировать SQL запрос в запрос для access


Еще запрос просит подключение к базе. Я так понимаю что его нужно еще сделать внутренним запросом.

Огромное спасибо за помощь.
0
UBUNTU
209 / 134 / 29
Регистрация: 04.02.2015
Сообщений: 730
12.02.2015, 19:08 4
ztekem, Это я так понял отчет из программы Aida по состоянию компьютера которое должно попасть в БД?
0
12.02.2015, 19:08
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
12.02.2015, 19:17  [ТС] 5
Цитата Сообщение от UBUNTU Посмотреть сообщение
ztekem, Это я так понял отчет из программы Aida по состоянию компьютера которое должно попасть в БД?
Да все правильно. Значит знакомы с тем видом в котором aida все собирает. Тысячи строк с одинаковыми id.
Почти все сделали осталось только сформировать данные по обновлениям и установленным программам.
Обновления склеить только по (квxxxxxx). Установленные программы просто склеить в одну строку.
Так было сделано в exel все получалось красиво.

PS. Еще может знаете как aidu уговорить выдавать кириллицу не вопросительными знаками.
0
mobile
Эксперт MS Access
23741 / 13296 / 2807
Регистрация: 28.04.2012
Сообщений: 14,558
12.02.2015, 20:21 6
Цитата Сообщение от ztekem Посмотреть сообщение
Так было сделано в exel все получалось красиво.
Цитата Сообщение от ztekem Посмотреть сообщение
так как Exel перестал вывозить разросшиюся базу перевозим все на access
раз в екселе уже сделано ПО и получаете приемлемые результаты, то наилучшим выходом, как мне кажется, будет по-прежнему получать/трансформировать/склеивать данные из аиды в екселе, а затем запросом на вставку переносить в таблицы БД. Это не проблема. Акс достаточно уверенно работает с данными из екселя. И автоматизировать этот процесс не сложно. Можно и из самого екселя писать в аксовские таблицы.
0
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
13.02.2015, 04:31  [ТС] 7
Цитата Сообщение от mobile Посмотреть сообщение
раз в екселе уже сделано ПО и получаете приемлемые результаты, то наилучшим выходом, как мне кажется, будет по-прежнему получать/трансформировать/склеивать данные из аиды в екселе, а затем запросом на вставку переносить в таблицы БД. Это не проблема. Акс достаточно уверенно работает с данными из екселя. И автоматизировать этот процесс не сложно. Можно и из самого екселя писать в аксовские таблицы.
Необходимость в переезде на аск вызвана тем что запрос на обновление данных в exel идет почти 3 часа. тоже самое акс делает за 15-20 секунд. Для полного переезда на акс нужно всего лишь адаптировать два запроса.
1 который написал выше. (он в аксе отрабатывается на миллисекунды) exel его кушает минимум за 10-15 минут.
2. это тоже самое но по другому значению поля. Там не нужно вырезать текст, а просто склеить все что есть.

Помогите пожалуйста с запросами. Скоро сроки подачи отчета. хотелось бы уже результаты выводить не часами ждать зависший комп. а на раз два три.
0
alvk
Эксперт MS Access
5806 / 3690 / 202
Регистрация: 12.08.2011
Сообщений: 9,726
13.02.2015, 09:20 8
Цитата Сообщение от ztekem Посмотреть сообщение
вот так выглядит структура базы.
Это не структура базы
0
UBUNTU
209 / 134 / 29
Регистрация: 04.02.2015
Сообщений: 730
13.02.2015, 09:52 9
ztekem, Есть в Интернете готовая программа написана на Visual Basic там целое приложение по такому направлению как у Вас.
0
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
13.02.2015, 10:26  [ТС] 10
Цитата Сообщение от alvk Посмотреть сообщение
Это не структура базы
Адаптировать SQL запрос в запрос для access


Вот поправил
0
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
13.02.2015, 10:27  [ТС] 11
Цитата Сообщение от UBUNTU Посмотреть сообщение
ztekem, Есть в Интернете готовая программа написана на Visual Basic там целое приложение по такому направлению как у Вас.
Это понятно что таких программа куча. но все они универсальные и как правило не полностью удовлетворяют требованиям.

Может кто то поможет с запросом?
0
mobile
Эксперт MS Access
23741 / 13296 / 2807
Регистрация: 28.04.2012
Сообщений: 14,558
13.02.2015, 19:46 12
ztekem, приведите пример входных данных, видимо текстовый файл, и полученные на его основе табличные данные в Access.
0
UBUNTU
209 / 134 / 29
Регистрация: 04.02.2015
Сообщений: 730
15.02.2015, 10:27 13
ztekem, Можно переписать там с исходным кодом.
0
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
15.02.2015, 17:11  [ТС] 14
Цитата Сообщение от UBUNTU Посмотреть сообщение
ztekem, Можно переписать там с исходным кодом.

А там это где? Подскажите пожалуйста.
0
UBUNTU
209 / 134 / 29
Регистрация: 04.02.2015
Сообщений: 730
15.02.2015, 18:53 15
На сайтах с исходниками. Ссылки запрещены...
0
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
16.02.2015, 16:24  [ТС] 16
все плохо!
запрос удалось адаптировать, но встала проблема. когда запускаешь комплексную выборку нужных данных.
то все вешается на несколько часов. не лучше чем в exel. Так что проблема теперь в другом.
Всем спасибо кто пытался помочь.
0
UBUNTU
209 / 134 / 29
Регистрация: 04.02.2015
Сообщений: 730
16.02.2015, 18:14 17
Лучший ответ Сообщение было отмечено ztekem как решение

Решение

Вот Вам исходник на Visual Basic 6.0 пилите его на здоровье, а вообще возьмите и используйте эту программу переделав под себя. В свое время я много интересного из нее выдернул! Кстати есть версия этой программы продается за хорошие деньги версия более новее.

Обратите внимание на выделенный красным квадратом кусок картинки!
1
Миниатюры
Адаптировать SQL запрос в запрос для access   Адаптировать SQL запрос в запрос для access  
Вложения
Тип файла: zip 8187.zip (1.90 Мб, 9 просмотров)
ztekem
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
17.02.2015, 14:00  [ТС] 18
Цитата Сообщение от UBUNTU Посмотреть сообщение
Вот Вам исходник на Visual Basic 6.0
Спасибо!!! уже начали внедрять!
0
17.02.2015, 14:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2015, 14:00

SQl-запрос Ms access -
Ребят, нужна ваша помощь... Есть база данных, а в ней нужно сделать SQL - запросы: 1)Вывести...

SQL запрос в Access
Прошу помощи! есть две таблицы в Access2007 с одинаковыми полями надо из таблицы &quot;Копия Тел...

Access sql-запрос
Здравствуйте, уважаемые коллеги! Прошу вас о помощи составить sql запрос который выводит Название...


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

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

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