Solved

How to generate a key and add it to status bar panel?

Posted on 2002-05-17
6
164 Views
Last Modified: 2010-05-02
I have a status bar with 8 panels.
Because a user can change profile this is loaded several times.

Now wherever it loads it finds an error.
Key not unique in collection.

Now since at the stage that this happen I cannot add a key
that is something I can retrieve from the database like a primary key.

I thought of adding a count to it but doesnt work

my idea
dim count as integer
count =0


dim panel as panel

set panel=stbmdipanels.panels.add(,"Bookings" & Count,"Bookings)
count=count + 1

but this doesnt work because whenever it loads again it fails.
any suggestions?

Thanks
Gabriel





0
Comment
Question by:Gabriel_Brienza
6 Comments
 
LVL 3

Expert Comment

by:Bahnass
ID: 7018016
if I understand U need Static Var in a procedure



Static Conut        ' instead of Dim Count

'     Basic Initialize it  to 0 automatically
0
 
LVL 4

Accepted Solution

by:
Monchanger earned 50 total points
ID: 7018422
> Because a user can change profile this is loaded several times.

I'm not sure understood this correctly, but are you adding panels to the *same instance* of the statusbar whenever a new user logs in? If so, they would indeed hold the same key and give you a runtime error. (If your application is small, I believe this would be the cause)

Instead, you could rebuild the statusbar when a user logs in - first remove all existing panels, and then creating new panels (it would be more efficient to fix the old panels, but that depends on your needs)

Something like:

Private Sub RebuildStatusBar()
    StatusBar1.Panels.Clear
   
    StatusBar1.Panels.Add , "Panel1", "First Panel"
    StatusBar1.Panels.Add , "Panel2", "Second Panel"
End Sub

0
 

Author Comment

by:Gabriel_Brienza
ID: 7020959
Thanks guys for your replys

I have tried to add a static count and didnt work

I did

static AddKey as integer

Dim Panel As Panel
 addKey=addkey + addkey              

set Panel = stbMDI.Panels.Add, "Bookings" + addkey, "Bookings")
     
but this didnt work and I cannot understand why


also i tried to remove it and the add it but it keeps saying element not found which means.

I need to find a way first if it exist and if does remove and add it.

Any suggestions how to do it?

Thanks
Gabriel

   
0
Does Powershell have you tied up in knots?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 
LVL 4

Expert Comment

by:Monchanger
ID: 7023311
The Panels.Clear should remove all of the panels.

Maybe if you posted your code we'd understand why it doesn't work for you.
0
 

Author Comment

by:Gabriel_Brienza
ID: 7023466
Thanks for your help
I have solved the problem.

0
 
LVL 1

Expert Comment

by:kevman63
ID: 7194230
the panel's KEY MUST not be a number.  it HAS to start with a text character.  i know this question is answered, but i found this very useful to know.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question