Microsoft Access





Microsoft Access is a rapid application development (RAD) relational database tool. Access can be used for both desktop and web-based applications, and uses VBA (Visual Basic for Applications) as its coding language.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hello Team

I currently have a issue with linking two mailboxes to an MS Access  form.

There is nothing complicated about the form, very basic, just counts emails in mailboxes.

I have linked up to 20 mailboxes but when I am attempting to link two the last remaining two mailboxes I get the classic , 'Can't find the wizard.  The wizard has not been installed...etc'

All other boxes are linking with no issues so it can't actually be the wizard issue as MS  presents it to be.

Anyone got any ideas what can been allowing the vast majority to link but not the last remaining ones? Alternatively, is it possible to link to a mailbox without having to use the wizard but by using VBA for example?

Thanks in advance.

Is there a way to put particular reports and sub-reports into a group in the Navigation Pane?  I'd like to create a group named Purchase Order and another group named Orders and move specific reports and sub-reports into those groups.
Wasn't there a setting in Microsoft Access whereby you change a field name it would go and update any query or form that had that field - updating to the new name?  

And if you turned that setting off thereby it would make Microsoft Access run faster?

Do any of you recall what that setting's name was or what I am talking about?  And if I get the technical name of it - then I do a google search on some VBA code to turn off that feature... or if you know it already please paste here.

Btw is there some VBA scripting out there that does the above automatically (without paying for a license)?
I've already did the scripting to change table and fieldnames automatically.  But then I have to go in and change all the queries and forms where the previous names were.

Thank you in advance...
I would like to find out how to secure the tables in MS Express SqL Servers 2016, I’m totally shocked to what I saw today when a prospective client called me to showcase our software which also has both the MS Access Database (As Back End) and SQL Server as Back End. The client has a standard software off the shelf but can move around within tables in SQL Server 2014 freely and was able change setting from the same software, now because of what I saw I cannot supply my software with SQL Server Backend until I know how to protect the tables from intruders. It is now clear why he was calling for our software is because he massed the unprotected back end, thanks god, I have not yet started supplying the SQL Server as backend except MS Access 2016 which has the back end encrypt with a password.
(1)      If in Ms Access, we can encrypt the backend through a password how can we do the same with MS Express SQL Server 2016???????
(2)      If the there are ways of protecting the tables, then doesn’t that affect the users and re-linking the tables, though with Ms Access the re-link table manager has no problem with that, now how are about the MS SQL Server 2016????????


Access VBA - looking for a way to apply a filter to a subreport in a report with vba or alternately a way to change the record  source for a subreport with vba
Hi Experts,

I'm looking for some tools I used to have in A2003 and cant find them in A2016.

1- where is the option to add form header footer?
2- where can I change controls line/border color?
3- where is that option to search an object by its name in my form? (See attached).

How can I link a subform based on a record ID, but have the subform open to only add new records?

I have a main form in access with multiple tabs.  I would like the subform to open in the add record mode but only display the ID from the main form.   Is this possible?

If I have a member ID of 123 on the main form.  I have multiple pages that have worksheets, sub reports or forms.  One page I want linked to a subform based on the member ID, but only open in add new record more with the member ID visible.
I use a combobox in a datasheet and would like to achieve the following. If the underlying data element is <= 2 then we should load the combobox using a select statement such as:

Me.cmbExcursions.RowSource = "SELECT Code,Txt1 FROM Codes WHERE ID=600

However, if the underlying data element is 1 or 2 I would like to set the combobox equal to the comment field of the same data row. Is there any way to achieve this?
Thank you so much for any help.
Hello dear friends.
Recently I've tried to follow the instructions regarding "Cached connection", described in this article:
and indeed - the "miracle" did happen:
All my linked tables from Access to SQL Server now have a connection string which doesn't reveal anything about the username & password. Tables use the cached connection which has been prepared when the application was opened.

Now I have to include in this Access application some tables which reside in another database, on the same SQL Server. They won't use the cached connection.
1. Is there a way to create another cached connection for these new tables? without "harming" the first cached connection?
2. If these tables use a different connection string (so they won't use that cached connection) - is it going to "harm" the cached connection used for the old tables in any way?

Thank you very much!
Hi Experts,

Wondering if I have the following as my SQL
SELECT Patients_Medications.Medication AS HHAMed, Patients_Weekly_Medications.*
FROM Patients_Medications LEFT JOIN Patients_Weekly_Medications ON (Patients_Medications.PatientID = Patients_Weekly_Medications.PatientID) AND (Patients_Medications.Medication = Patients_Weekly_Medications.Medication);

Open in new window

Why when switching to datasheet view is the first column named "Medication" as opposed to HHAMed?
See attached.

Also looking for ideas on how to make this query updatable (on the Patients_Weekly_Medications table only).
I need to use MS Access 2016 on a project for one of my clients.  Since it is no longer available I purchased a volume license for MS Office 2019 Pro, which would give me the option of installing Office 2016 Pro.

That went well.  Now I want to install 2016 Pro on my work machine.  I logged into the volume license center and my confusion started.

I set the Donwload Manger to English      32bit.  I definitely want the 32 bit version Office

In the list of downloads there are two possibilities listed for MS Office Pro 2016.  They are 'Office Professional Plus 2016' and 'Office Profession Plus 2016 Key Management Service Host'

The download files listed under 'Office Professional Plus 2016' are:

Office Multi Lang Pack 2016 32 bit english      32 bit      310 MB
Office Professional PLus 2016 32 bit english      32 bit      820 MB
Office Multi lang pack 32 bit disk 1                    32 bit      5296 MB
Office Multi lang pack 32 bit disk 2                    32 bit      4884 MB
Office 2016 32/64 Bit Multi lang LIP                    32/64      1211 MB
Proofing Tools 2016 32 bit multi lang            32 bit      682 MB

The download files listed under 'Office Profession Plus 2016 Key Mangement Service Host' are:

Office Multi Lang Pack 2016 32 bit English                  32 bit      310 MB
Office Multi lang pack 32 bit disk 1                                    32 bit      5296 MB
Office Multi lang pack 32 bit disk 2                               32 bit      4884 MB
Office 2016 32/64 Bit Multi lang LIP                               32/64      1211 MB
Proofing Tools 2016 32 bit multi lang                        32 bit      682 MB
Office Professional …
On my continuous form I have a checkbox called "select".  This select field is tied to a question on the form. I have several questions in the table.
So in the detailed section it looks like:
question   [ ]  <= Checkbox "select"
question   [ ]
question   [ ]
question   [ ]
question   [ ]
question   [ ]
I only want the user to be able to check "two" of the checkboxes on this continuous form. If the user tries to select a third checkbox I need a msgbox to pop up and state that "only two checkboxes can be selected at a time and 'not' check that third box. This will force the user to uncheck a different previously checked box before they they are permitted to check a different box.  Wondering how I can do this?
Right now I placed an invisible textbox on the form and placed this code: =Count(IIf(Nz([Select],0)=-1,1,Null))      in the control source. This method doesn't really work for obvious reasons . I need to somehow place some code in the after update event of the checkbox to see if two checkboxes have already been checked on the continuous form and not allow the user to check into the third box until the user first unchecks one of the other boxes.

Any assistance with the code on this would be most appreciated!
I want to lock a field on a form if the record is not a new record.  I've tried this in the on current event but it doesn't work:

    If Me.NewRecord = True Then
        Me.txtJobNumber.Locked = False
        Me.txtJobNumber.Locked = True
    End If
Need help summing every record based on RO_NUMBER the STI.QTY per record using the below statement.


RO_NUMBER            rdo_auto_key    STI.TI_TYPE    STI_QTY
     879                              1234                       T                   1
     879                              5468                        I                  -1
     879                              9876                        I                   1

     879                                                              T                  1
     879                                                              I                  -1

select rod.rod_auto_key,roh.ro_number,rod.entry_date,rod.qty_repair,rod.qty_repaired,rod.VEND_INV_METHOD,wob.activity,woo.si_number, STI.TI_TYPE, sti.QTY
from ro_detail rod
inner join ro_header roh
on rod.roh_auto_key=roh.roh_auto_key
inner join stock_reservations str
on rod.rod_auto_key=str.rod_auto_key
inner join stock_ti sti
on str.stm_auto_key=sti.stm_auto_key
inner join wo_bom wob
on sti.wob_auto_key=wob.wob_auto_key
inner join wo_operation woo
on wob.woo_auto_key=woo.woo_auto_key
where rod.VEND_INV_METHOD='C' and wob.activity='System Exchange' and rod.qty_repaired=0 and sti.ti_type='T' AND sti.ti_type='I'
group by sti.QTY,rod.rod_auto_key,roh.ro_number,rod.entry_date,rod.qty_repair,rod.qty_repaired,rod.VEND_INV_METHOD,wob.activity,woo.si_number, STI.TI_TYPE

Open in new window

I have the below/attached employee table in an access database.  I need a query to find all the direct reports and indirect reports of a particular employee

EmpID      Fname      Lname      MngID
1      Fred      Flinstone      
2      Linda      Thompson      1
3      Sam      Adams      1
4      Jason      Williams      1
5      Michael       Jordan      2
6      Katey      Perry      5

If I wanted to find all the direct and indirect reports of EmpID 2,  it should return michael and Katey,   Excel or access should be ok

This is what I want to do but in access SQL Query to find all the subordinates of a superior
I have been created an admin tool that executes PowerShell commands.

Works ok for local Exchange Server for the most part but when I go to Exchange Online... nothing works.
My local stuff I cannot use all commands.

I have executed the PowerShell separately and it works. I have ran in a PS1 script and it works.
I have built the strings in MSAccess VBA and it works until I go online.

I have put in a batch file.. it works.
I call the batch file from VBA.. it does not.

All same code.

Please can someone advise why this will not work from MSAccess VBA...

The Powershell window does fire and runs through commands and looks good but no results. my example is setting license at the moment.

Tried firing '170   strDOSCommand = "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -File c:\apps\itapps\PSScript.ps1"
Tried strDOSCommand = "powershell -ExecutionPolicy ByPass -File c:\apps\itapps\PSScript.ps1"
Tried retval = Shell("c:\apps\itapps\RunPowerShell.bat")
Tried passing values instead of putting into a PS1 script which is my preference but NOTHING works for Exchange Online.
UNLESS I run it outside of MS Access and VBA.

Please advise as this must be something simple that I am missing.

Thanks in advance

Is it possible to export data to an excel template starting at sheet1 cell A:5?

How do you delete existing content without deleting the existing format.

Currently I use this code:
If Dir("C:\MyFolder\Projects.xls") <> "" Then
    If MsgBox("This action will create a spread sheet file listing all projects. Do you want to REPLACE the existing Excel File with this later version?", vbYesNo) = vbYes Then
        Kill ("C:\MyFolder\Projects.xls")
        DoCmd.OpenQuery "Projects", acNormal, acEdit
    End If
End If
Combo propertiesHi

(1) I'm almost done with the point of sales , now I want some help on the visibility of the form combo content , when I select the price in the combo it does not show on the form but it is applied to the invoice and stored very well on the invoice table , there a way to force it show also on the form . Just look at the picture below.

(2) I want also to be printing the invoice after saving on the save form below, do I have to create a second query for the current form to supply the parameters to the underlying query so that  the report invoice go to the printer immediately  after pressing print button?

Below is the actual form:

Pos form

Also combo properties
I am having a lot of trouble getting a sub-report to shrink on a report if there is no data in the sub-report.  Therefore, the sub-report takes up a lot of room on the report leaving big gaps.  I have the text boxes set to Can Shrink = Yes.  I have made sure nothing overlaps.  I've made sure all objects are snapped to the grid.  On and on and on.

So now my question is...  Is there a way to make the height of the detail section be 0 if there is no data in the textbox and then bring it back to .1667 when the report is closed?
I have a date field which stores when orders were approved. I need to be able to select all of last months records, so, as of now, all approved orders in December 2018.
define input mask for  imported data:

I have data in a field i'm trying to import in and it looks like this:

2018-10-19 11:59:17

I'm trying this input mask  along with General Date as the "Format"

Coming in as
10/19/2018  11:59:17

I tried creating an input mask rule but not working.

What is the best way to have selections based on a multi-selection combo box?

Form contains:
Type ComboBox
Type Description ComboBox

I have 3 types:
Type 1 (Has about 15 Choices)
Type 2 (Has about 25 Choices)
Type 3 (Both )

If I chose Type 1, I only want the data from Type 1 to show up in a multi-selection combo box to show up and update the data table.
If I chose Type 2, I only want the data from Type 2 combo box show up in a multi-selection combo box and update the data table.
If I chose Type 3, I want the data from Type 1 & 2 combo box to show up and update the data table and identify with Type 3 (Both) for reporting.

The end goal is to have the  table update based on the following:

Table contains:
Type Description
Selection of Y/N
I have a sub-report that has one text box.  The control source for the text box comes from a query.  The query includes a field named ForeColor.  When the sub-report prints I want the color of the text being printed to be the same as ForeColor.  So for example, if the query ForeColor indicates Blue, I want the textbox to print blue.  Or if the query ForeColor indicates Red, I want the textbox to print red.  

Make sense and how do I do this with VBA code?

In an Access Query I need to convert text to a number - I've been using var([Field1]), but if the field was blank then it returns a zero, is there a way to convert the text to a number & if the field was blank then it remains blank?

Can anyone help?
I am a software developer using mostly MS Access.  One of the current office computers has MS Office 2013 Professional installed.  I need to install MS Office Professional 2016 to match to a client configuration for a project I'm doing for them in Access 2016.

I purchased a license for Office 2016 Professional.

If I install 2016 Profession on the machine will it upgrade the current 2013 Pro to 2016 Pro or install a complete version of 2016 Pro, also leaving the version of 2013 Pro?

I've never run two versions of Office/Access on the same machine.  Even if possible it doesn't really feel 'right'.  If I have projects developed using 2013 and other projects developed using 2016 on the same machine, would it cause reference, or nay other, issues within my projects?

If my 2016 Pro install will leave the 2013 Pro intact, is that advisable?  Or, should I uninstall 2013 Pro prior to installing 2016 Pro.

Microsoft Access





Microsoft Access is a rapid application development (RAD) relational database tool. Access can be used for both desktop and web-based applications, and uses VBA (Visual Basic for Applications) as its coding language.