In Microsoft Access, you can execute a parameterized query that uses other parameterized queries, as long as their parameter names are the same. Save these queries in an Access database: “QueryOne”
PARAMETERS MyDate DateTime;SELECT Date1 FROM TableOne WHERE Date1>MyDate;"QueryTwo"PARAMETERS MyDate DateTime;SELECT Date1 FROM TableTwo WHERE Date1>MyDate;"QueryUnion"PARAMETERS MyDate DateTime;SELECT * FROM QueryOneUNIONSELECT * FROM QueryTwo;
You can execute QueryUnion from VB code by passing the MyDate parameter. This example is for DAO 3.5:
Sub ExecuteQuery()Dim db As DatabaseDim rs As RecordsetDim qd As QueryDefSet db = OpenDatabase("")Set qd = db.QueryDefs("QueryUnion")qd.Parameters(0).Value = CDate("3/1/00")Set rs = qd.OpenRecordset(dbOpenSnapshot)' <.....>rs.Closedb.CloseEnd Sub