VBA code for closing and opening form.

Posted on 2012-03-17
Medium Priority
Last Modified: 2012-10-07
Access 2007  (db attached for reference if needed)

I've been working this final issue with this db for over a month now, and I'm at the end of my ropes.  I was putting this together for my wife who works from home and was hoping to have it completed by our anniversary which is on the 1st of April.

Someone please help me.  I'm NOT an acces guru.  Most of this DB I've put together from snippets here and there and alot of help from outside sources, mainly here.

I currently have an Notinlist event on cboScreenName on form [Call Details] which opens [Client Details] and then upon the closing of [Client Details], the user is brought back to [Call Details] at which time the [Call Details] is not being refreshed properly with cboScreenName being updated with the added new name, so the user ends up continuously being re-asked if they want to add the new name to the db unless they close [Call Details] completely and then reopen it.

The problem with my NotinList event refreshing is that the contents [cboScreenName] is dependent on [cboCompanyName], and THAT combo box gets its contents from vba.  Anyhow, its a bit of a confusing interdependancy the way that everything works but it DOES work, and well, as I'd like it to.

So I guess what I'm looking for, is some sort of code that I can put on the onclick event of the close button on [Client Details] which will completely close [Call Details] and then re-open with selections pre-populated in cboCompanyName and cboScreenName based on cboCompanyName and txtScreenName on [Client Details].

cboClientName and cboScreenName both grab their contents based on cboCompany afterUpdate event though, so not only does cboCompanyName need to pre-populate with the contents of cboCompanyName from [Client Details] but done so in a way that the afterUpdate event code still runs as if the user manually selected the company name in cboCompanyName
Question by:JARichard
  • 2
LVL 61

Accepted Solution

mbizup earned 2000 total points
ID: 37734015
Your DLookup syntax was incorrect.

The syntax should be:

DLookup("YourField", "YourTableOrQuery", "YourField---NotYourCombobox = '" & Something & "'")

The actual code should be:

    Result = DLookup("[Screen Name]", "tblClientInfo", _
             "[Screen Name]='" & NewData & "'")

(I replaced cboScreenName with [ScreenName])
LVL 61

Expert Comment

ID: 37734022
In other words you don't need to change your overall approach -- you just need to fix your DLookup statement in the Not In List event.

Please see JDettman's article here for a good explanation of DLookup and other domain functions:


Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
If you need to implement application level security in an Access database application or other VBA code, I strongly encourage you to take advantage of Active Directory groups.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

621 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