Добрый день. Стоит задача обеспечивать супервайзеров отчетами по продажам. Показывать одному супервайзеру продажи других нельзя, поэтому надо фильтровать по супервайзеру. Хранится все в MS SQL Server. Если фильтровать на этапе запроса в базу, то тянется все нереально долго. Если вытаскивать данные все вместе, то терпимо. Возникла идеся. Вытащить данные все, а потом фильтровать уже на уровне сводного отчета. Но при этом запрещать изменения фильтра. Грубо говоря - чтобы в примере нельзя было выбрать другого супервайзера. Но при этом остальные возможности сводной должны быть доступны. Возможно ли это? Как? Спасибо.
Добрый день. Стоит задача обеспечивать супервайзеров отчетами по продажам. Показывать одному супервайзеру продажи других нельзя, поэтому надо фильтровать по супервайзеру. Хранится все в MS SQL Server. Если фильтровать на этапе запроса в базу, то тянется все нереально долго. Если вытаскивать данные все вместе, то терпимо. Возникла идеся. Вытащить данные все, а потом фильтровать уже на уровне сводного отчета. Но при этом запрещать изменения фильтра. Грубо говоря - чтобы в примере нельзя было выбрать другого супервайзера. Но при этом остальные возможности сводной должны быть доступны. Возможно ли это? Как? Спасибо.danilsergei4
Возможно это подойдет - скрывает выпадающий список фильтра во всех Сводных таблицах книги: [vba]
Код
Dim pt As PivotTables Dim ws As Worksheet Dim i As Integer
For Each ws In ThisWorkbook.Worksheets If ws.PivotTables.Count <> 0 Then For i = 1 To ActiveSheet.PivotTables.Count ws.PivotTables(i).PivotFields("Супервайзер").EnableItemSelection = False Next i End If Next ws End Sub
[/vba]
Возможно это подойдет - скрывает выпадающий список фильтра во всех Сводных таблицах книги: [vba]
Код
Dim pt As PivotTables Dim ws As Worksheet Dim i As Integer
For Each ws In ThisWorkbook.Worksheets If ws.PivotTables.Count <> 0 Then For i = 1 To ActiveSheet.PivotTables.Count ws.PivotTables(i).PivotFields("Супервайзер").EnableItemSelection = False Next i End If Next ws End Sub
Сводную получаете сразу от сервера вот в таком виде? Минуя выгрузку данных на лист?
теоретически можно делать выгрузку на лист, но боюсь, что там слишком большой объем будет - в реальности там же и с ТТ выкачивается, и с брендами.danilsergei4
Возможно это подойдет - скрывает выпадающий список фильтра во всех Сводных таблицах книги:
спасибо, да, возможно, подойдет. но насколько я понимаю, более-менее грамотный человек сможет посмотреть тут код и выполнить макрос, отменяющий этот. Как можно обезопаситься от такого развития? спасибо.
Возможно это подойдет - скрывает выпадающий список фильтра во всех Сводных таблицах книги:
спасибо, да, возможно, подойдет. но насколько я понимаю, более-менее грамотный человек сможет посмотреть тут код и выполнить макрос, отменяющий этот. Как можно обезопаситься от такого развития? спасибо.danilsergei4
Описание в файле (макросом скрываем значения фильтра, копируем листы книги в отдельные книги)
добрый день! спасибо, но решает ли это проблему? я запустил макрос, создался файл, но если в нем запустить макрос, который делает вместо False True и обновить сводную, то выбирать супервайзеров снова можно.
Описание в файле (макросом скрываем значения фильтра, копируем листы книги в отдельные книги)
добрый день! спасибо, но решает ли это проблему? я запустил макрос, создался файл, но если в нем запустить макрос, который делает вместо False True и обновить сводную, то выбирать супервайзеров снова можно.danilsergei4
Вам нужна защита от юзера, или от хакера? Если от хакера, то у вас один вариант - удалить других супервайзеров из базы. Иначе все равно доберется.
да, наверное, так и есть. оставим так.
сейчас проблема такая: не получается запустить обновляющий по БД макрос, потому что он прерывается ошибкой на картинке. Можно как-то отключить эти уведомления? Спасибо.
Вам нужна защита от юзера, или от хакера? Если от хакера, то у вас один вариант - удалить других супервайзеров из базы. Иначе все равно доберется.
да, наверное, так и есть. оставим так.
сейчас проблема такая: не получается запустить обновляющий по БД макрос, потому что он прерывается ошибкой на картинке. Можно как-то отключить эти уведомления? Спасибо.danilsergei4