Solved

How to Simulate an Unmatched Query in a Microsoft Access 2013 Web App

Posted on 2014-11-13
12
497 Views
Last Modified: 2014-11-13
I have a situation in one of Microsoft Access 2013 Web Applications in which I need to simulate an unmatched query (to return the records from table A that do not exist in table B). Since this can't actually be done with a query on this platform I was wondering if anyone has a solution to do it using ForEachRecord loops in a data macro.  Thanks for your help!
0
Comment
Question by:penlandt
  • 7
  • 5
12 Comments
 
LVL 75
ID: 40441587
Are you saying you cannot create an Outer Join with two tables to do this in the Web App side of A2013 ?
0
 
LVL 1

Author Comment

by:penlandt
ID: 40441602
Thanks for your quick reply.  As far as I know outer joins are not supported in Access 2013 Web Apps (though they are of course supported in desktop apps).  Additionally, it is my understanding that nested SELECT statements are not supported in Web Apps.  This leaves me unable to figure out how to perform an unmatched query in any way other than to loop through the tables and identify which rows exist in table A that do not exist in table B.  I know that I could then insert the resulting records into a temporary table and use that as the result of my simulated unmatched query, however I'm wondering if there's a more elegant way to accomplish this within the constraints of the Web App platform.
0
 
LVL 75
ID: 40441645
Let me try it when I get home tonight ...

But ... the image below is a query from Jeff Conrad's Access 2013 Inside Out book ... and his BOSS app, which I have (.accdw) on this system. So ....


outer join
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:penlandt
ID: 40441648
Thanks again.  That example looks like an inner join to me though.  Am I missing something in the example?
0
 
LVL 75
ID: 40441654
OOP ... gezze ...  trust me, it's been a bad hair day ALL day ....
standby
0
 
LVL 75
ID: 40441710
OK ... I was able to create an Other Join, save and run the query.

1
2
0
 
LVL 1

Author Comment

by:penlandt
ID: 40441867
I appreciate the help!  If I'm reading that query correctly, it is including all of the records in tblSchedule - including records that exist in tblEmployees.  That's not exactly what I'm looking for.  Using your example I would want to return only the records in tblSchedule that have NO MATCHING RECORD in tblEmployees (joined on the EmployeeID of course).  Unfortunately this query won't do that.

I am relatively certain that the type of procedure I'm trying to do cannot be done via a query in a Web Application.  My understanding is that it can only be done via a data macro using a ForEachRecord loop on TableA and then a LookupRecord on TableB to find out whether there it contains a matching record, retaining the record from TableA if there is no matching record in TableB.  That's easy enough to do however I don't know how/where to store the results other than to put them in in a Temporary table.  As I said, that's not a very elegant way to do this but it will work.  I was hoping someone here had done this before and had worked out a better way.  Thanks again.
0
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 500 total points
ID: 40441931
I just showed you can create an Outer Join - which is what you need. Except ... in the Join Properties screen shot, I forgot to select # 2 before I did the screenshot. So, Outer Joins are supported.

if you were to add a criteria of Is Null for the EmployeeIDFK in tblSchedule, then that would do ... for this example - what you are looking for.  

"to return the records from table A that do not exist in table B"
A=Table Employees and B=Table Schedule - in my screenshot example.
0
 
LVL 1

Author Closing Comment

by:penlandt
ID: 40441949
I see - part of the problem was that I can't see the criteria in your screenshots so I wasn't aware that you were entering anything there.  I tried it as you described and it does work.  Thank you very much for your help.
0
 
LVL 75
ID: 40441990
oops again, that screenshot was cut off ... sorry about that.
Good ... you got it !

I HIGHLY recommend Jeff Conrad's book Access 2013 Inside Out (Amazon). You can download several ready to use  Web Apps ... and see how things are done. VERY cool.

mx
0
 
LVL 1

Author Comment

by:penlandt
ID: 40441991
Thanks again.  I'll definitely get it.
0
 
LVL 75
ID: 40441996
I have personally met and talked with Jeff several times at the MVP Summit in Redmond (last week in fact) and his passion for Access and Web Apps is second to none.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

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

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

756 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