Solved

UnLoading a form and loading it again!

Posted on 1998-11-30
11
259 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
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
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
 

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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
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…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

820 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