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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запросы,програмно,SQL, сделать свазные запросы програмно 
:(
    Опции темы
ravitex
Дата 3.12.2010, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Для упрощения и экономии места думаю делать запросы при нажатии кнопки. Пример нужных операций (пока не разобрался как конкретно описывать запрос в VB-сложная система &,",_) : 
Код


SELECT Produced.Произ_дата, Composition.комп_арт, [Произ_кол]*[Composition]![сост_const] AS Произ_кол_комп
FROM Produced INNER JOIN Composition ON Produced.прод_арт = Composition.прод_арт
GROUP BY Produced.Произ_дата, Composition.комп_арт, [Произ_кол]*[Composition]![сост_const];

SELECT Произ_кол_комп.Произ_дата, Произ_кол_комп.комп_арт, Произ_кол_комп.Произ_кол_комп
FROM Произ_кол_комп
WHERE (((Произ_кол_комп.Произ_дата)<=#2/28/2010#));

SELECT Out_comp_Jan.комп_арт, Sum(Out_comp_Jan.Произ_кол_комп) AS Out_комп_Jan
FROM Out_comp_Jan
GROUP BY Out_comp_Jan.комп_арт;



Вопрос1: правильно ли я понимаю принцип:

Код

Private Sub Command0_Click()
Dim dbs As Database
Dim rst As Recordset
Dim rst2 As Recordset
Dim rst5 As Recordset

Set dbs = CurrentDb
Set rst=dbs.OpenRecordset ("...первый запрос...")

Set rst2=dbs.OpenRecordset("....From rst...")

Set rst5=dbs.OpenRecordset ("From rst2,rst3,rst4")
End Sub


Вопрос2: как эффективно отобразит данные итогового Recordset-а в  Report ?
1. Предварительно сделать таблицу и связать ее с отчетом. И при получении Recordset-а данных очистить ее и записать новые данные, открыть настроенный отчет ?
2. Или можно програмно связать поля отчета с новыми данными ?

Это сообщение отредактировал(а) ravitex - 3.12.2010, 19:25
PM MAIL   Вверх
Akina
Дата 3.12.2010, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



1) Да.
2) Вариант 2.


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

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


Шустрый
*


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

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



Я что-то не понимаю. Имел ввиду так, но это не работает :
Код

Private Sub Command0_Click()
Dim dbs As Database, rst As Recordset, rst2 As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("SELECT* FROM Table1;")
Set rst2 = dbs.OpenRecordset("SELECT* FROM rst;")
End Sub

Т.е. я  хочу сделать серию запросов, не создавая их как Запросы. Где может быть ответ : Access SQL Reference , DAO Reference ... ? Может SQL Subqueries, но если 3-4 запроса, то выражение такое запутанное!

Это сообщение отредактировал(а) ravitex - 7.12.2010, 02:20
PM MAIL   Вверх
Akina
Дата 7.12.2010, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(ravitex @  7.12.2010,  03:20 Найти цитируемый пост)
dbs.OpenRecordset("SELECT* FROM rst;")

А, вот это я пропустил... нет, ТАК не получится никак. Нельзя  делать запросы к рекордсету.

Цитата(ravitex @  7.12.2010,  03:20 Найти цитируемый пост)
хочу сделать серию запросов, не создавая их как Запросы

А нахрена? это же экономия на спичках...


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

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


Шустрый
*


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

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



Цитата(Akina @ 7.12.2010,  08:40)
А нахрена? это же экономия на спичках...

Например, я не могу придумать эфективного решения, а для того, которое я придумал необходимо сделать 60-70 запросов и вывести результаты каждого в общую таблицу-Отчет. Выясняется, что Access или компьютер (рабочая станция для инжен. задач) с этим справиться не может - Access переходит в not responding и долго-долго считает...
Может это глупое решение, но кажется надежным, тк структура простая, хотя и громоздкая.
Просмотрел всю справку и думаю  по неопытности не понимаю какой-то принцип-алгоритм работы с данными (Recordset-ами например). 

P.S.
Дело именно в кол-ве запросов, тк 30 запросов вставляются в отчет при создании за пару секунд, а открывается спокойно.
Думаю нужна новая тема http://forum.vingrad.ru/forum/act-ST/f-159...8/unread-1.html

Это сообщение отредактировал(а) ravitex - 16.12.2010, 05:03
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


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

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


 




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


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

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