Solved

how to combine multiple sql queries in ms access

Posted on 2014-10-07
6
997 Views
Last Modified: 2014-10-07
MS Access
SQL
Combining Statements (several into one)

I have several SQL statements...
CREATE TABLE A...
INSERT INTO TABLE A...
CREATE TABLE B...
INSERT INTO TABLE B...
CREATE TABLE C...
INSERT INTO TABLE C...

... and will add others. I would like to execute several in sequence and would like to know the best practice for combining multiple statements in MS Access.
0
Comment
Question by:Henry Gage, Jr.
  • 3
  • 2
6 Comments
 
LVL 24

Assisted Solution

by:Phillip Burton
Phillip Burton earned 375 total points
Comment Utility
Use VBA to call each query in turn.
0
 

Author Comment

by:Henry Gage, Jr.
Comment Utility
Hello,

Thanks for the comment. Is there also a way to combine the statements within MS Access without using VBA? I reason I am asking is because I want to run several as a group. For example I may want to drop or delete a table, create the table, load the table and export the table with one user event (on click).


Is your larger point that it is better to use VBA combined with MS Access because it enable a developer to govern the user experience by adding better UI controls, thus leading to an application?
0
 
LVL 24

Assisted Solution

by:Phillip Burton
Phillip Burton earned 375 total points
Comment Utility
1. Yes - you could use a macro instead of VBA.
2. Not necessarily, because the only ways are: manually executing each query in turn; using a macro; using VBA.
However, it's fairly easy to do it in VBA:

DoCmd.OpenQuery "MyQuery"

Open in new window

0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 24

Assisted Solution

by:Phillip Burton
Phillip Burton earned 375 total points
Comment Utility
In SQL Server, you could do:
Create Table1 (myfields int)
GO
Create Table2 (myfields int)
GO

but you can't do that in Access.
0
 

Author Comment

by:Henry Gage, Jr.
Comment Utility
I've requested that this question be closed as follows:

Accepted answer: 167 points for Phillip Burton's comment #a40365831
Assisted answer: 167 points for Phillip Burton's comment #a40365809
Assisted answer: 0 points for Henry Gage, Jr.'s comment #a40365820
Assisted answer: 166 points for Phillip Burton's comment #a40365829

for the following reason:

I included my comment as clarification of the questions and to keep a thread context.
0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 125 total points
Comment Utility
If you need something like an "all or nothing" scenario, then use Transactions instead of Macros. Transactions allow you to process a group of SQL statements as a whole, and the entire group can be cancelled in the event of a failure of one item.

Using VBA, if you enclose everything in a Transaction, then no changes are made to the live tables until you Commit the transactions. That's not so with Macros, or with calling individual queries via VBA. In other words, without a Transaction it's possible to Delete the Table, but then the CREATE or INSERT statements fail - and you're left with no table!
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
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 …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

728 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now