Текущее время: Сб, июн 21 2025, 11:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Вс, апр 05 2009, 17:06 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 01 2009, 14:26
Сообщения: 5
В рабочую книгу вставлено порядка 20 query, необходимо задать определенный порядок их выполнения.
Если использовать вызов Run "SAPBEX.xla!SAPBEXrefresh", False, Sheets("11").Cells(1, 1)
Run "SAPBEX.xla!SAPBEXrefresh", False, Sheets("12").Cells(1, 1)
....
то все хорошо, за исключением того, что переменные запрашиваются для каждого query.
А хотечется чтобы все переменные заполнялись из первого query.

Менять порядок выполения на листе SAPBEXqueries не собо получается.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Пн, апр 06 2009, 13:47 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вс, июн 26 2005, 22:41
Сообщения: 1135
Откуда: Москва
Пол: Мужской
Добавьте все признаки из отчетов для которых нужен ввод значений в произвольные признаки первого отчета, + крыжик "обязательно для ввода"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Вт, апр 07 2009, 15:29 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 01 2009, 14:26
Сообщения: 5
Ясное дело так книга и сделана, даже более того во всех квери одинаковый набор переменных.
При использовании опции "обновлять при открытии книги" или функции Run "SAPBEX.xla!SAPBEXrefresh", True проблемы со вводом переменных нет. Но тогда и порядок обновления квери задается согласно стандартной логике бекса- последний добавленны обновляется первым.
А мне нужно вручную задать поряд обновления запросов вставленных в книгу.
.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Вт, апр 07 2009, 15:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, авг 16 2006, 03:22
Сообщения: 464
Пол: Мужской
была здесь тема сто лет назад. надо либо править на листе SAPBEXqueries, либо формировать рабочую книгу с нуля, вставляя с последнего запроса по первый.
viewtopic.php?f=12&t=28317&start=0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Ср, апр 08 2009, 08:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, апр 19 2007, 08:03
Сообщения: 197
Пол: Мужской
Просто интересно, а зачем? Для какой задачи может быть важна последовательность запросов?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Ср, апр 08 2009, 13:18 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Хотя бы для той, когда в двух запросах используются одни и те же переменные, но в одном из запросов их меньше чем в другом. И чтобы не вылазило последовательно два окна с запросом значений переменных, а только одно - важно запрос с большим числом запрашиваемых переменных вызвать раньше

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Ср, апр 08 2009, 13:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, апр 19 2007, 08:03
Сообщения: 197
Пол: Мужской
Soulsurfer написал(а):
Хотя бы для той, когда в двух запросах используются одни и те же переменные, но в одном из запросов их меньше чем в другом. И чтобы не вылазило последовательно два окна с запросом значений переменных, а только одно - важно запрос с большим числом запрашиваемых переменных вызвать раньше

Ну и создайте в запросе, вызываемом первым (это определить сможете?) служебный показатель (без просмотра), куда добавите недостающие переменные. В чем проблема? Все лучше, чем перевставлять запросы или править служ. листы...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Ср, апр 08 2009, 15:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
А ничего что это могут быть запросы к разным инфопровайдерам, и во втором запросе просто признаков нет, на которые навешаны переменные???
Кубик предлагаете дополнять признаками чтоли????

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Ср, апр 08 2009, 16:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, апр 19 2007, 08:03
Сообщения: 197
Пол: Мужской
Ну тогда удалите 1 (один) запрос, в котором есть все переменные. и вставьте его снова. Вызовется первым.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Задать порядок выполнения query в рабочей книге.
СообщениеДобавлено: Вт, май 26 2009, 10:31 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 13 2005, 10:41
Сообщения: 558
Откуда: Гондурас (округ Москвы)
Пол: Мужской
извиняюсь, может не по теме

в 7.0 все иначе, чем в 3.5
для начала добавьте в книгу лист debug. и подцепите к vba-обработчику скрипт:
Public gCount As Integer
Public Const cTest As Integer = 1

' Workbook handler
Public Sub UpdateBook(ParamArray params())
If cTest > 0 Then Call MyTrace(params(0), params(1), params(2))
...
End Sub

' trace call of dataproviders
Sub MyTrace(ParamArray p())
Dim ws As Worksheet
Dim i As Integer
Set ws = ThisWorkbook.Worksheets("Debug")
If Not IsEmpty(p) Then
gCount = gCount + 1
i = gCount
ws.Cells(i, 1).Value = p(0): ws.Cells(i, 2).Value = p(1).Address: ws.Cells(i, 3).Value = p(2): ws.Cells(i, 4).Value = p(1).Worksheet.Name
End If
End Sub

это даст вам возможность понять порядок, в котором bex вызывает dataprovider's в книге


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB