Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Dim eng As DAO.DBEngine
Dim wksp As DAO.Workspace
Dim db As DAO.Database
[b]SET[/b] eng = New DAO.DBEngine
[b]SET[/b] wksp = eng.Workspaces(0)
[b]SET[/b] db = wksp.OpenDatabase(axs2000db)
Dim qd As DAO.QueryDef
[b]SET[/b] qd = New DAO.QueryDef
qd.Name = "Query1"
qd.SQL = "SELECT * FROM Table1"
db.QueryDefs.Append(qd)
[b]SET[/b] qd = Nothing
[b]SET[/b] qd = New DAO.QueryDef
qd.Name = "Query2"
qd.SQL = "SELECT Field1, Field2 FROM Table1 WHERE Field2 = 10"
db.QueryDefs.Append(qd)
[b]SET[/b] qd = Nothing
db.Close()
[b]SET[/b] db = Nothing
[b]SET[/b] wksp = Nothing
[b]SET[/b] eng = Nothing
Public Sub CreateOrUpdateQuery(sQueryName As String, sSql As String, Optional bPassThrough As Boolean = False)
Dim cat As ADOX.Catalog
Dim cmd As ADODB.Command
Set cat = New ADOX.Catalog
Dim lType As Long
lType = adPermObjProcedure
cat.ActiveConnection = CurrentProject.Connection
On Error Resume Next
' assume the query is a procedure since most complex
' queries are classed procedures
Set cmd = cat.Procedures(sQueryName).Command
' If it's not found in procedures, check if the query is a View
If cmd Is Nothing Then
Set cmd = cat.Views(sQueryName).Command
If Not (cmd Is Nothing) Then lType = adPermObjView
End If
On Error GoTo 0
' if it's still not found then create it as a procedure
If cmd Is Nothing Then
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cat.ActiveConnection
' we append to procedures collection but it might end up in the
' views collection ;)
cat.Procedures.Append sQueryName, cmd
End If
cmd.CommandText = sSql
If bPassThrough Then
cmd.Properties("Jet OLEDB:ODBC Pass-Through Statement") = True
cmd.Properties("Jet OLEDB:Pass Through Query Connect String") = gsPassThruConnectString
End If
Select Case lType
Case adPermObjView
Set cat.Views(sQueryName).Command = cmd
Case adPermObjProcedure
Set cat.Procedures(sQueryName).Command = cmd
End Select
Set cat = Nothing
Set cmd = Nothing
End Sub
Private Const axs2000db As String = "C:\Data\Testing\Access2000\db1.mdb"
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim eng As DAO.DBEngine
Dim wksp As DAO.Workspace
Dim db As DAO.Database
eng = New DAO.DBEngine
wksp = eng.Workspaces(0)
db = wksp.OpenDatabase(axs2000db)
Dim qd As DAO.QueryDef
qd = New DAO.QueryDef
qd.Name = "Query1"
qd.SQL = "SELECT * FROM Table1"
db.QueryDefs.Append(qd)
qd = Nothing
qd = New DAO.QueryDef
qd.Name = "Query2"
qd.SQL = "SELECT Field1, Field2 FROM Table1 WHERE Field2 = 10"
db.QueryDefs.Append(qd)
qd = Nothing
db.Close()
db = Nothing
wksp = Nothing
eng = Nothing
End Sub