Solved

UnLoading a form and loading it again!

Posted on 1998-11-30
11
256 Views
Last Modified: 2010-05-03
I am trying to develop a bus scheduling software.
To generate a schedule user has to enter certain number of buses.  But when the user enters buses less than the minimum required, what I am doing is giving an error message and unloading the output form. (Code for generating the schedule is in the Form_load event of the output form).  The  software then takes the user back to the Data entry form.
But when I try clicking the "run the schedule" command button again, it does not go to the Form_load event of the Output form at all.  It just loads the output form with few controls.  So I have to kind of go back and run the schedule again and it works then.

Does anyone have any idea as to why it is doing that?

Any suggestions would be greatly appreciated.

Thanks

Vasant
0
Comment
Question by:vasant
  • 4
  • 3
  • 2
  • +2
11 Comments
 
LVL 3

Expert Comment

by:a111a111a111
ID: 1447549
Why you are not just validate the input and accept or reject without unloading the form?

You can use a hidden textbox or a variable to have the number in.
0
 
LVL 12

Expert Comment

by:mark2150
ID: 1447550
Form load occurs when the form is initially instantiated. This generally happens only once. Form_Activate fires every time the form is given focus.

You can do a UNLOAD to dump the form, but all memory associated with it will be freed and any vars will vanish. Put the code in your main procedure (just block copy out of the Form_Load event). then you can fire it at will with something like:

Formx.hide
call doprocess
Formx.show

M

0
 

Author Comment

by:vasant
ID: 1447551
Well... Mark's suggestion was great...  I actually figured that out.  I did pretty much the same thing.  
Thanks Mark.

Vasant
0
 
LVL 1

Expert Comment

by:rayford
ID: 1447552
Good habits include preloading forms at the start of the program while splash screen is displayed.  This means you dont want much code in the FORM LOAD events.  Instead use Show and Hide to display the desired forms.  To run code when a form is shown you would use the FORM ACTIVATE event and not the FORM LOAD event.  Hope it helps.  This technique is actually going to solve more problems than just the one you currently face.  Happy programming!
0
 
LVL 1

Expert Comment

by:rayford
ID: 1447553
Without seeing the code its not easy to imagine exactly what you are doing but one other thought is you want to use the REFRESH method on things that dont look correct.  Requery, refresh and if your problem has to do with databases linked to controls I often like to use unbound controls for the users to work with rather than having them touching the bound controls directly because it will cause indexed fields to be updated and possible cause you to wind up with unwanted results and side affects..
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:vasant
ID: 1447554
Thanks Rayford for your suggestion.
This is my first VB Project actually.  I have learned a lot from the mistakes I have made.  I should have written the code in Modules instead of just a big chunk of code.  I guess that would have helped too.

Vasant
0
 
LVL 2

Accepted Solution

by:
Bhargava earned 10 total points
ID: 1447555
Assuming that you are instantiating the values in the form_load event. might be your form is not unloaded or there might be some code after the unload which is referencing the form . So the next time you are accessing the form you are actually showing the form rather than loading it. So the form_load event is not fired. I can give an eaxct solution if I can see the code.
0
 

Author Comment

by:vasant
ID: 1447556
Thanks for your help Bhargava.  I could figure out the problem.
0
 
LVL 12

Expert Comment

by:mark2150
ID: 1447557
If you liked my answer so much why did you give the points to Bhargawa? 8-(

M

0
 

Author Comment

by:vasant
ID: 1447558
Well...  I am kind of new to this Expert Exchange thing.  Yours was a comment, right?  So it didn't ask me as to what I want to do with the answer.  It didnt' propose those 4 options (Excellent, good, etc.).   Whereas Bhargava's suggestion was a proposed answer.  Hence I could give points to him.

Tell me how to give points for a comment, I would do that right away.
0
 
LVL 12

Expert Comment

by:mark2150
ID: 1447559
Generally what you do is reject the answer and then tell the commenter to repost as a question to award points.

M

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
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…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

932 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now