Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

Not applicable

How to completely hide a field?

Hi,

I am trying to figure out a way of hiding objects and sheets based on a password entered by a user via an input box.

I previously used section access to do this but have since stopped using section access for various reasons. So what I have done is made a user group and password list that is loaded into the QVW via a script then the user can choose the user group, enter the password, click the button and a macro is run to check the entries against the user group and password list. If the password is entered correctly then a variable will be changed to enabled and will be used in the Conditional properties of the objects or sheets.

The field that contains the passwords is Secure_Passwords. I can hide this field from the user from field lists via HidePrefix but what I can't do is stop users from entering the field name into the Expression of a ListBox if they know it. I could do this by stopping users from editing or adding objects but I don't want to do this as our users often use listboxes for various things.

I could always give the password field a really long and complicated name but that isn't really going to fly with auditors. I could dynamically name the field name but I would still then have to put the field name (or part of it) into a variable for reference in the macro.

So what I want to know is; is there any way to make is so that the contents of a field are truly hidden from view, even if the user enters the field name into the expression of a ListBox? If not, does anyone have any ideas of how to get around this issue?

I have attached the template and the security file for reference.

7 Replies
Not applicable

Re: How to completely hide a field?

Hi,

u can use section access in the script with OMIT clause.

Search "Section Access" in the Help of QlikView and u have an example.

U can use your excel file as section access table and Hide Filed with omit.

So when user opens file, relative userid and password must be entered.

Try my example, i use your credential. I loaded them inline in the script, but u can load form your file also.

I hope this help you and you can adapt this to your file.

C u,

Stefano

Not applicable

Re: How to completely hide a field?

Hi Stefano,

I had thought about using section access to do something like this, but only small user groups would be using this functionality and it is a bit of a nightmare getting passwords to everyone and managing them, so I would prefer not to use this method. Thanks for the suggestion though.

Not applicable

Re: How to completely hide a field?

You could assign the same user and password to different user to simulate group as your xls file already do.

So in saction access you have to manage a file with only groups and not all users.

Can you do something like this?

C u.

Not applicable

How to completely hide a field?

Can you use HidePrefix eg

set HidePrefix='~';

so that any column names beginning with '~' are not shown in field lists?

Regards,

Gordon

Not applicable

How to completely hide a field?

Hi,

Gordon I believe that for him, hiding is triggered by specific user logged, your solution is too static cause by the script.. or not?

C u,

Stefano.

Not applicable

How to completely hide a field?

HidePrefix only hides the field from view in the list. A user can still access the contents of the field by entering the field name into an expression in a list box. The best I can come up with is to make a dynamic field name made up of multiple parts that are autogenerated, each part stored in a variable (with unrelated names), then used in combination within the macro to get the full field name. Still think it is not enough to satisfy auditors though, all they see is a field that contains passwords that can be accessed by anyone.

Not applicable

Re: How to completely hide a field?

This is what I have done now with dynamic fields for a moment. Pretty weird, maybe I can get it passed.