Access 2010 buttons not working Results

Once again, I seek your assistance. I have an Access 2010 database that had functioning buttons until today. I am assuming our IT installed a Windows patch that has killed my save buttons. I could not find any kind of fix on the Microsoft website. So, does anyone know of a fix that can be installed to make my Save buttons start working again?

Multi form database with several forms allowing data to be saved. The db has been split with the data entry/search forms being on the desktop and links to the master db with the tables. All functionality for the save function is written in VBA, not by using the wizard. I can get the master copy of the db to save on one of the two main forms, but none of the individual working copies on our laptops have functioning save buttons. Everything was has been working for the past month, but the save buttons stopped working today. They do nothing but stare at you when you click on save.

Please, can anyone help?

Dear Sir,

I am using Access 2010 to form a application and it is being distributed by using ACCDE.

Meanwhile, my application has some forms. And, command buttons are used to link the varies forms together. A login screen with user id, password as well as a "login" button to activate the main menu. But the "login" button is never activated while the pressing of it in ACCDE mode. But I am sure that it works fine in the normal mode.

May anyone help me to tackle this problem? I have keep trying on it for two days already. My boss is looking at me now...

I shall like to learn from you very much. Thank you.

With all good wishes,

Yours faithfully,
George Chan

A user, running XP Pro SP3 was recently upgraded from Office 2003 to Office 2010. Now, with Windows Explorer, the user navigates to:

ServerDomainName.ussharesaapu-phcr-m_aM_B_d (folder)
then double-clicks on:

M_B_D.MDB (file) her long-time habit with Access 2003...within the above folder, but Access 2010 does not open the file and, instead, displays the following ('Red "X"') error message:

Windows cannot find "ServerDomainName.ussharesaapu-phcr-m_aM_B_dM_B_D.mdb". Make sure you typed the name correctly, and then try again. To search for a file, click the Start button, and then click Search. ("OK" button)

MS Access 2010 will open the file without issue if Access 2010 is launched first, followed by "File --> Open" from the menu, and navigating to the file.

User is one (1) of 20 users who were recently upgraded to MS Office 2010; all 20 are running XP Pro SP3, but the other 19 users have no issues double-clicking on a 'UNC located' (servershare...) filename from a Windows Explorer window.

While the above work-around is temporarily sufficient, the 'real' reason needs fixing. Searches on the internet have not shown an answer to this issue so far.

Any ideas or suggestions would be greatly appreciated.


- Cat

I'm using Access 2010. When I create a new Report in "Report Design" and add a button, the Control Wizard does not activate, even though I have "Use Control Wizards" active. The Control Wizard works when I create a Form using "Form Design". Can anyone help please?

I have a report in Access 2010 that is supposed to show an alphabetical list of members who have paid their dues for the year. The RecordSource for the report is an SQL statement as follows:


The OnOpen event for the report produces a form that allows the user to select a year from a combobox. The OnClick event for a button on the form changes the SQL statement to:

WHERE (DUES.YearID = “2013”)

The underlined text being added at the form level (assuming the user selects “2013” from the combobox.). The revised RecordSource is placed in a hidden text box on the form.

The report lists members randomly. In the example, the members shown on the report are all the members who have paid for 2013 but their names appear at random. The WHERE clause works but not the ORDER BY.

If I run the report without calling the form, either by using the existing RecordSource or including a WHERE clause in the RecordSource, the list is ascending as you would expect. I’ve even tried setting the OrderBy property of the report to MEMBERS.LastFirst and making OrderByOn = True, both before and after changing the RecordSource,all to no avail: I still get a random list of names. I've checked and rechecked the RecordSource for the report after it changes and it is as shown above.

Here’s the code in the OnOpen event of the report:

On Error GoTo Error_Handler

Me.Caption = "Dues Paid Report"
DoCmd.OpenForm FormName:="frmPaidMembers", windowmode:=acDialog

' Cancel the report if 'cancel' button pressed
' Cancel button sends "no" to the txtContinue control on the form
If Forms!frmPaidMembers!txtContinue = "no" Then
Cancel = True
GoTo Exit_Procedure
End If

Me.OrderBy = "Members.LastFirst"
Me.OrderByOn = True
Me.RecordSource = ReplaceWhereClause(Me.RecordSource, Forms!frmPaidMembers!txtWhereClause)

On Error Resume Next
DoCmd.SetWarnings True
Exit Sub

DisplayUnexpectedError Err.Number, Err.Description
Resume Exit_Procedure

I'm obviously overlooking something but I can't see it. Thanks for your help.

Hi, I'm working on an standalone application based in Access 2010. The app has forms that ask for two dates (a date range) to return a form based on a query. The values in some textboxes are stored as tempvars, and these tempvars a the criteria on which the query is built. This is made in a macro, not code. When I press the button and the macro runs, it works. However, when I do the same in another computer with only runtime instaled, it doesn't. An input box pops out and asks me for the value of [tempvars]![date1], [tempvars]![date2] and so on; its like the values are not asigned!

Please help.

I have two forms each connected to the same table and am having difficulties getting calculated fields in the second form updated to reflect data changes entered in the first form. Both forms are displayed by a command button macro on the other form (using the "OpenForm" action in the macros). IOWs, when I change data in the table with one form and click the command button to display the second form, the change in data is not reflected in the respective field on the second form. The only way I can get the updated data to display on the second form is to close the form using the "Close Window" icon (above the ribbon) and re-display the form (using the OpenForm macro on the other form). It is further necessary, when changing data on a record on the first form, to display any other record on the form for the update on the second form to work.

I have tried using the CloseWindow action in the macros used to display the forms and, Refresh and RefreshRecord in various Events on the form properties such as On Load, On Open and On Got Focus but they don't seem to work.

The odd part is, this same database did not have this problem in Access 97 (which it was originally written in and then converted to Access 2010).

Any help much appreciated.......

I have a table where I use a field that is a hyperlink to hold a file name. The user gets an open dialog box to pick the file to use. That works fine. Then I want to strip the path and the file extension off to store in another field. It kind of works. It strips the path, but does not work for the file extension, because Access thinks the string is 196 characters long, way longer that it really is. What am I doing wrong? (Same results in Access 2003 and 2010). P.S. I can not find any documentation on GetOpenFileName, either.

code follows:

ReturnValue = GetOpenFileName(MyFile)

If ReturnValue = 0 Then
MsgBox "Cancel Button was pressed"
path = "#.." & Mid(MyFile.lpstrFile, 33) & "#"
pos = InStrRev(MyFile.lpstrFile, "")
newName = Mid(MyFile.lpstrFile, pos + 1)
theLen = Len(newName)
RecipeName = newName
RecipeName = Mid(RecipeName, 1, theLen - 4)

End If

Hello colleagues,

I'm struggling with Combo Box and Not In List event. I want to be able to "add new record of First Name and Last Name if it is not in the list.
Here is the picture of how my form looks:

I have two tables: "Patients" and "Visit" - these are related as one to many(one patient can have many visit dates)
I also have Two forms - "Main" and "Patient_ex" .

So far my code for the Not In List event is:

	Private Sub Combo19_NotInList(NewData As String, Response As Integer)
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim Msg As String
Dim NewID As String

On Error GoTo Err_combo19_NotInList

    ' Exit this subroutine if the combo box was cleared.
    If NewData = "" Then Exit Sub

    ' Confirm that the user wants to add the new customer.
    Msg = "'" & NewData & "' is not in the list." & vbCr & vbCr
    Msg = Msg & "Do you want to add it?"
    If MsgBox(Msg, vbQuestion + vbYesNo) = vbNo Then
        ' If the user chose not to add a customer, set the Response
        ' argument to suppress an error message and undo changes.
        Response = acDataErrContinue
        ' Display a customized message.
        MsgBox "Please try again."
        ' If the user chose to add a new customer, open a recordset
        ' using the table.
        Set Db = CurrentDb
        Set Rs = Db.OpenRecordset("Patients", dbOpenDynaset)
        ' Create a new record.
        ' Save the record.

        ' Set Response argument to indicate that new data is being added.
        Response = acDataErrAdded

    End If

       Exit Sub
       ' An unexpected error occurred, display the normal error message.
       MsgBox Err.Description
       ' Set the Response argument to suppress an error message and undo
       ' changes.
       Response = acDataErrContinue

End Sub

As you can see in the picture, the code half works.
It doesn't save the new record with values Last Name and First Name.

Moreover I do not want to open a new form in order to add the new record details, but instead I would like to be able to add the new record details in the same form as the combo box(as you see in the picture).

my goal is:
1. When I enter new Name, Access detects that it is not in the list (Quite working)
2. If the name is NOT in the list, then the Values I entered (Last and first name) goes to the Text Field in the Patient_ex form so that I would no need to enter them again. Then I could update the new entered record and save it.(saving buttons works).

Guys, please, help me! I really struggling with VB...

Also, can I achieve same thing using only macros? (Access 2010)

Thank you!

We recently converted from Microsoft Access 2007 ADP on Windows XP to Access 2010 ADP on Windows 7. We have a form that allows the user to click a button, which creates an outlook mail item for them to send. This mail item is supposed to contain a hyperlink for the recipient to follow. This hyperlink is to a .bat file, which takes the user to the appropriate form. Our users were upgraded to the system piece-meal. One of our users generated one such email successfully from the 2007 system, and the recipient could see the link. Once everyone was on Windows 7 and Access 2010, when the users create these mail items, the hyperlink is missing. Not only is the hyperlink itself missing, but the hyperlink text as well. The .bat files are being created and stored in the correct location. Initially I thought it was because we use a MAPI namespace, but the mail item itself is being created, so I am less inclined to think that is the problem. I also tried replacing the line-feed (vbLf) with a carriage return line-feed (vbCrLf), as I have read that in some cases Outlook doesn't like this command. That didn't yield our hyperlink either. Is there something that changed between Microsoft versions and VB that would cause our code to no longer work, or is there a better way to accomplish this task?


I have an application in ACCESS 2010 that works on database that I made based on a guild in WoW. I have written a procedure that is supposed to updated a guild roster and add new members.
I cannot work out the text comparison. The procedure always duplicates records. I compare guild names from current database (Text a field) with a string extracted from a JSON object that collect information from internet stored in JSON format. The JSON functions work because I tested them in Excel. I have tried trivial comparisons such as str1 = str2. It did not work. Therefore, I look for a function and found

	StrComp(str1, str2, vbTextCompare)

but it also did not work. Both text may have Unicode non standard characters, though. When I used vbBinaryCompary, I got error "No current record". I spent the whole week to make it work but I am running out of ideas how to test the procedure and get rid of faulty pieces of codes.

If someone would have a look at the code - specially UpdateRoster(), I would be really grateful. I am sure the code is far from ideal but I am learning. The code is somehow collection of solutions I've found in internet.

The application.
The form has a button "Update" that runs "UpdateRoster" procedure. This procedure originally updates the tables: tblMembers, tblMemberPrimary, and tblMemberSecondary but at the moment I operate on their copies.

I am open to all criticisms regarding the code. I am sure it can be done much better.



I have a lovely bit of code I use as a login for databases. I didn't write it, I found it on the internet. It used to work fine, but now that I have Access 2010, it doesn't like it and gives me a run time error.(run-time error 3314 You must enter a value in the 'TableEmployees.EmployeeID' field. Does anyone know what I should change the code to, in order for it to work? It says it doesn't like the Me.Dirty=False line but apparently it is a known fault.

The reason I liked this code so much, is that the users can set their passwords on their first use of the database and if they forget it, it's easy enough to delete it and they can start again.

Any help would be much appreciated, I have spent hours on this so far.

	    Option Compare Database
Private Sub ChooseEmployee_AfterUpdate()
    Filter = "(((TableEmployees.EmployeeID)=[Forms]![FormChooseEmployee]![ChooseEmployee]))"
    FilterOn = True
    [Password1] = Null
    [Password2] = Null
    [OK].Enabled = True
    [Password1].Visible = True
    If [Forms]![FormChooseEmployee]![ChooseEmployee].Column(2) = "" Then
        [Password2].Visible = True
        MsgBox "Please set your password by entering it in both the fields shown.", vbOKOnly
        [Password2].Visible = False
    End If
End Sub
Private Sub Exit_Click()
End Sub
Private Sub Form_Open(Cancel As Integer)
    Filter = "False"
    FilterOn = True
End Sub
Private Sub OK_Click()
    If IsNull([Password1]) Then MsgBox "Enter a password.", vbOKOnly: [Password1].SetFocus: Exit Sub
    If [Password2].Visible = True Then
        If [Password1] = [Password2] Then
            [Password] = [Password1]
            Me.Dirty = False
            MsgBox "You must restart the application.", vbOKOnly: DoCmd.Quit
            MsgBox "Passwords do not match, please enter again.", vbOKOnly
            [Password1] = Null
            [Password2] = Null
            Exit Sub
        End If
    Exit Sub
    End If
    If [Password1] = [Password] Then
        [Password1].Visible = False
        [Password1] = Null
        Modal = False
        DoCmd.OpenForm "FormChooseEmployee", , , , , acHidden
        DoCmd.OpenForm "menu"
        'Use the employee authorisation levels (see table) to enable or disable various buttons on the Switchboard
        If [CROwner] = True Then
         Forms![menu]![Proc].Enabled = True
         Forms![menu]![Proc].Enabled = False
       End If
        MsgBox "Incorrect password.", vbOKOnly
        [Password1] = Null
    End If
End Sub

Having issue using DoCmd.Close acReport if report already open to then open it to get it to "refresh" and could use some advice.

Using Access 2010, Main Form opens with defaulted parameter values, users can change values, etc. Then have some buttons to run/open various querries/reports. I am trying to incorporate a check if report already open or not using an IsReportOpen function I got from co-worker. Basically, if report already open, then first close it and then open it else just open the report if not already open.

I would really appreaciate any suggestions. As code is, when report is open, it DOES NOT "refresh" (i.e. close & reopen), if report is not open, it opens fine.

Here is code.

	Private Sub cmdRunCR02Report_Click()
On Error GoTo cmdRunCR02Report_Click_Err
    If IsReportOpen("rpt_CR02ClassifyEditValidationLevel2ErrorRateReport") = True Then
        DoCmd.Close acReport, "rpt_CR02ClassifyEditValidationLevel2ErrorRateReport", acSaveNo
        DoCmd.OpenReport "rpt_CR02ClassifyEditValidationLevel2ErrorRateReport", acViewPreview
    End If
    DoCmd.OpenReport "rpt_CR02ClassifyEditValidationLevel2ErrorRateReport", acViewPreview
    Exit Sub
    MsgBox Error$
    Resume cmdRunCR02Report_Click_Exit
End Sub

	Function IsReportOpen(strReportName As String) As Boolean
On Error GoTo Error_Handler
    If Application.CurrentProject.AllReports(sRptName).IsLoaded = True Then
        IsReportOpen = True
        IsReportOpen = False
    End If
    On Error Resume Next
    Exit Function
    MsgBox "MS Access has generated the following error" & vbCrLf & vbCrLf & "Error Number: " & _
    Err.Number & vbCrLf & "Error Source: IsReportOpen" & vbCrLf & "Error Description: " & _
    Err.Description, vbCritical, "An Error has Occured!"
    Resume Error_Handler_Exit
End Function

After upsizing access database to sql server I found a few problems.
My configuration is: Win xp, access 2010 (but I still using 2003 format mdb). SQL Server is Express 2008 R2 located on win server 2003 x64.
Connection is established through ODBC.
Upsizing tool didn't report any mistakes.
The first problem I found is with linked tables. In Access (before upsizing to sql) I created relationships between tables and works fine, but, after upsizing when I try to open linked table I received message: "The table or querry name 'dbo.tablenam' you entered in either the property sheet or macro is misspelled or refers to a table or querry that doesn't exist."
Relationships not working with sql server (gray button), and when I try to use Diagram, diagram also inform me: "The diagram cannot be opened because MS Access 2010 does not support database diagrams for the version of SQL Server to which your database is attached."
I started SQL server management studio on server and created diagrams. After that, nothing is changed, I receiving same error on linked tables.
I checked table properties - extended properties - MS_SubdatasheetName and correct table name is writen in Value field.
But, I noticed that the table name in error message is wrong. Table name must be 'dbo.tablename' not 'dbo.tablenam', and same situation is for all linked tables, the last letter is missing.
I have experimented with adding dot (or any other letter) to the end of name of subdatasheet in Value field, and after that, linked table working perfectly.
This solution for me is temporarily satisfactory, but I'm not sure that is correct way for solving this problem.
Any ideas?

Other problems is in vba code.
I'm using form to display record about our computers on lan, and on that form
I put command button which opened datasheet with some related information (local users) for that particular computer.
That code works fine in access (before sql), but now after pressing command button I receiving: " Run-time error '102': Incorrect syntax near ';'. ".
My code is:

Private Sub OpenLocalUsers_Click()
Dim sWHERE As String
sWHERE = "[Computer]= '" & Me.Computer & "'"
DoCmd.OpenForm "FLocalUsers", acFormDS, , sWHERE
End Sub

Pressing Debug button lead me on
DoCmd.OpenForm "FLocalUsers", acFormDS, , sWHERE
row. I remove ", , sWHERE", and after that not receiving any error message, but instead of related records I see whole Localusers table.
I'm not good in vba proggraming, anyone can help?

Hi. I have been recently updating a database I use to track student progress in school. I wanted the database to be available online so staff could work at home and I was really sold on the Access 2010 idea of having a web database. I built the new DB using the "New Web Database" command. Around mid way through this process I realised that I actually needed SharePoint 2010 Server for this to work, which is not available to me. I decided instead to upload all my tables as SharePoint lists on the school server and have a front end database for each user. The database works great at home on Access 2010. The problem now is that, despite still having the accdb extension, the Web Database will not open in Access 2007 which I have available in school. Is there any way I can easily convert my web database back to a standard Access 2007/10 database without having to do it all again or have I wasted 2 days of my life?

As a side issue. Does anyone know why Accessruntime switch in 2007/10 disables the quick access toolbar? I used to keep the filter funtion, which I use a lot in there so it was available to users with the runtime version of the app. Now it seems that I will have to code a custom ribbon just to include the "filter" button.

Thanks for any help


Last week our pc people did a clean install of Windows 7 Pro and Office 2010 from previously Vista Pro and Office 2007.

I have now noticed a problem with Access 2010 and the Control Wizard. When creating a new form and (say) adding a button, when the wizard runs I usually select cancel and then write code behind the button rather than use the embedded macro.

When closing the database and then opening the form and pressing the button, I immediately get an "Access Not Working" message followed by "Windows is trying to find a solution" (which it doesn't). I am fairly certain that the form/button is corrupting the programme.

I have now turned off the wizard and (hopefully) the problem has gone away - time will tell.

Either way, I am convinced its this Wizard that is causing the problem and my questioning mind says WHY because with Access 2007, it was never a problem and sometimes it was useful - like inserting subforms.

If anyone has any thoughts on this or even a 'fix' then please let me know.

Thank you

Hello to everyone,
I've googled my problem but it seems anyone had it before.

I have a form containing a sub form. The main form is only a mask to contain some controls, while the subform shows a recordset given by a dinamically built query in datagrid mode. When I click on some row of the subform and then I click on a command button I run some code that should perform actions on the selected record. So to retrieve the id of the record to work on, I use this piece of code:


In Access 2007 this code worked fine all the time, but not in Access 2010. In Access 2010 this works only if I select the first row of the subform, while selecting any other record it rises error 3021, apparently without reasons. In fact, using watch windows for the recordset object, and then navigating into the tree structure up to the field "LEDGER1.TRANSACTION", I can clearly see the correct value populated, by the way even into the watch window the full piece of code "Me.subAccountLedgerList.Form.Recordset![LEDGER1.TRANSACTION]" shows the label "No current record.", and it rises runtime error 3021 when the code is executed.

Honestly I don't see any error... maybe is this an Access bug?

Thanks to everyone who'll give advice and help.


I created a database in Access 2010, but saved it in 2002-2003 format because the people that I created the database for could not open it. So, I then imported all the objects into a new db and saved it in the 2002-2003 format mentioned above.

All of the buttons work for me. I sent it to them as a zip file. They can open it, but the buttons do not work. I think this happened to me before and it had to do with database being read only when the user opens it and they had to change the "allow editing" or someting like that.

The users have 2007, what setting do they need to change to make this work? I think this is the issue noted above. Everything is working fine for me.

Help? I will not get paid until I fix this. I have seen this before, but it is driving me crazy.


I have been using Access 2010 for about 2 to 3 months now. I went to open one of my databases last night and it opened up to my splash screen. I first noticed that the current date and time did not show up on it like it normally does, it was blank. When I went to click on the buttons to go to one of my forms it didn't work either nor did the close button. It has been a couple of weeks since I last opened this database and the last time I opened it, everything worked fine. I tried another database that I have as well and the same issue occurred. Now I copied the file onto a thumb drive and tried it on my wife's duo and it worked just fine. Now she is running just the Access Runtime. I'm at a loss of what it could be. I thought that it might have to do with recent updates so I uninstalled the most recent ones, that didn't help. So I uninstalled Access and reinstalled it. I am going to double check my "trusted" locations to make sure that isn't the problem but since it worked before I don't think that is it.

For some reason, I cannot get Shift-Click to work in Access 2010.

Originally, I put in a shift-click disable module to prevent tampering with the database, and had a secret button to click to disable the module, so I could still work in the database.

Well, that secret button decided it didn't want to work in 2010, so I opened the file back in 2003, deleted the secret button, and deleted the shift-click disable module.

When I open the database back in 2010, shift-click still won't open the database up. I've confirmed that it works in 2003; I just need it in 2010 now.

The database is attached if anyone has an idea.


Not finding an answer? Try a Google search.