datacontrol
10-07-2003, 07:22 AM
I have quite an awesome database set up. There is a form entitled "Form1" which uses a set of queries, combo boxes and sub forms to dynamically query.
I would like to some how add print buttons or report buttons to this form. I am not sure how to go about this, so this is why I am here.
Form 1 code:
Option Compare Database
Option Explicit
Dim SQLvital, Queryflag, stDocName, SQLbase, SQLtemp, SQLwhole
Dim dbs As Database, qdf As QueryDef, rst As Recordset, Weekdef
Private Sub CmdReset_Click()
Combo1.Value = ""
Combo2.Value = ""
Combo3.Value = ""
Combo4.Value = ""
SQLgen
Refresh
End Sub
Private Sub Command16_Click()
On Error GoTo Err_SQLgen
' SQL Generation routine
SQLQuerysubform.SourceObject = "Query1subform"
SQLbase = "SELECT query1.dst_user, query1.dst_task_id, query1.dst_date, query1.Back_Log FROM query1"
Dim iLp As Integer
SQLvital = ""
For iLp = 1 To 3
If Me.Controls("Combo" & iLp).Value <> "" Then
If SQLvital <> "" Then
SQLvital = SQLvital & " AND "
End If
Select Case iLp
Case 1: SQLvital = SQLvital & " [query1].[dst_user]='" & Me.Controls("Combo" & iLp) & "'"
Case 2: SQLvital = SQLvital & " [query1].[dst_task_id]='" & Me.Controls("Combo" & iLp) & "'"
Case 3
If IsDate(Me.Controls("COMBO4").Value) = True Then
SQLvital = SQLvital & " [query1].[dst_date] Between #" & Me.Controls("COMBO3").Value & "# AND #" & Me.Controls("COMBO4").Value & "#"
Else
SQLvital = SQLvital & " [query1].[dst_date]=#" & Me.Controls("COMBO3").Value & "#"
End If
End Select
End If 'Copy and Paste (Best Friend Worst Enemy)
Next iLp
' Construct SQL statement including parameters.
' the following is the master SQL, SQLvital contains essential SQL clause
' Depending on selection
If SQLvital <> "" Then
SQLvital = " Where " & SQLvital
End If
SQLvital = SQLvital & ";"
' Delete old Query
stDocName = "SQLQuery"
DoCmd.DeleteObject acQuery, stDocName
' Return reference to current database.
Set dbs = CurrentDb
' Create new query.
Set qdf = dbs.CreateQueryDef("SQLQuery")
qdf.SQL = SQLbase & SQLvital
SQLwhole = qdf.SQL
LabelSQL.Caption = SQLwhole
Set dbs = Nothing
SQLQuerysubform.SourceObject = "SQLQuerysubform"
Refresh
Exit_Err_SQLgen:
Exit Sub
Err_SQLgen:
LabelSQL.Caption = SQLbase & SQLvital
MsgBox "Error in SQL formula, try again !", vbCritical, "Error!!!"
End Sub
Private Sub Form_Load()
DoCmd.Maximize
Reset
End Sub
Sub Reset()
Combo1.Value = ""
Combo2.Value = ""
Combo3.Value = ""
Combo4.Value = ""
SQLgen
Refresh
End Sub
Sub SQLgen()
On Error GoTo Err_SQLgen
' SQL Generation routine
SQLQuerysubform.SourceObject = "Query1subform"
SQLbase = "SELECT query1.dst_user, query1.dst_task_id, query1.dst_date, query1.Back_Log FROM query1"
Dim iLp As Integer
SQLvital = ""
For iLp = 1 To 3
If Me.Controls("Combo" & iLp).Value <> "" Then
If SQLvital <> "" Then
SQLvital = SQLvital & " AND "
End If
Select Case iLp
Case 1: SQLvital = SQLvital & " [query1].[dst_user]='" & Me.Controls("Combo" & iLp) & "'"
Case 2: SQLvital = SQLvital & " [query1].[dst_task_id]='" & Me.Controls("Combo" & iLp) & "'"
Case 3
If IsDate(Me.Controls("COMBO4").Value) = True Then
SQLvital = SQLvital & " [query1].[dst_date] Between #" & Me.Controls("COMBO3").Value & "# AND #" & Me.Controls("COMBO4").Value & "#"
Else
SQLvital = SQLvital & " [query1].[dst_date]=#" & Me.Controls("COMBO3").Value & "#"
End If
End Select
End If 'Copy and Paste (Best Friend Worst Enemy)
Next iLp
' Construct SQL statement including parameters.
' the following is the master SQL, SQLvital contains essential SQL clause
' Depending on selection
If SQLvital <> "" Then
SQLvital = " Where " & SQLvital
End If
SQLvital = SQLvital & ";"
' Delete old Query
stDocName = "SQLQuery"
DoCmd.DeleteObject acQuery, stDocName
' Return reference to current database.
Set dbs = CurrentDb
' Create new query.
Set qdf = dbs.CreateQueryDef("SQLQuery")
qdf.SQL = SQLbase & SQLvital
SQLwhole = qdf.SQL
LabelSQL.Caption = SQLwhole
Set dbs = Nothing
SQLQuerysubform.SourceObject = "SQLQuerysubform"
Refresh
Exit_Err_SQLgen:
Exit Sub
Err_SQLgen:
LabelSQL.Caption = SQLbase & SQLvital
MsgBox "Error in SQL formula, try again !", vbCritical, "Error!!!"
End Sub
Private Sub Form_Resize()
SQLQuerysubform.Height = (Me.InsideHeight - SQLQuerysubform.Top) - 1000
SQLQuerysubform.Width = (Me.InsideWidth - 1000)
End Sub
I would like to some how add print buttons or report buttons to this form. I am not sure how to go about this, so this is why I am here.
Form 1 code:
Option Compare Database
Option Explicit
Dim SQLvital, Queryflag, stDocName, SQLbase, SQLtemp, SQLwhole
Dim dbs As Database, qdf As QueryDef, rst As Recordset, Weekdef
Private Sub CmdReset_Click()
Combo1.Value = ""
Combo2.Value = ""
Combo3.Value = ""
Combo4.Value = ""
SQLgen
Refresh
End Sub
Private Sub Command16_Click()
On Error GoTo Err_SQLgen
' SQL Generation routine
SQLQuerysubform.SourceObject = "Query1subform"
SQLbase = "SELECT query1.dst_user, query1.dst_task_id, query1.dst_date, query1.Back_Log FROM query1"
Dim iLp As Integer
SQLvital = ""
For iLp = 1 To 3
If Me.Controls("Combo" & iLp).Value <> "" Then
If SQLvital <> "" Then
SQLvital = SQLvital & " AND "
End If
Select Case iLp
Case 1: SQLvital = SQLvital & " [query1].[dst_user]='" & Me.Controls("Combo" & iLp) & "'"
Case 2: SQLvital = SQLvital & " [query1].[dst_task_id]='" & Me.Controls("Combo" & iLp) & "'"
Case 3
If IsDate(Me.Controls("COMBO4").Value) = True Then
SQLvital = SQLvital & " [query1].[dst_date] Between #" & Me.Controls("COMBO3").Value & "# AND #" & Me.Controls("COMBO4").Value & "#"
Else
SQLvital = SQLvital & " [query1].[dst_date]=#" & Me.Controls("COMBO3").Value & "#"
End If
End Select
End If 'Copy and Paste (Best Friend Worst Enemy)
Next iLp
' Construct SQL statement including parameters.
' the following is the master SQL, SQLvital contains essential SQL clause
' Depending on selection
If SQLvital <> "" Then
SQLvital = " Where " & SQLvital
End If
SQLvital = SQLvital & ";"
' Delete old Query
stDocName = "SQLQuery"
DoCmd.DeleteObject acQuery, stDocName
' Return reference to current database.
Set dbs = CurrentDb
' Create new query.
Set qdf = dbs.CreateQueryDef("SQLQuery")
qdf.SQL = SQLbase & SQLvital
SQLwhole = qdf.SQL
LabelSQL.Caption = SQLwhole
Set dbs = Nothing
SQLQuerysubform.SourceObject = "SQLQuerysubform"
Refresh
Exit_Err_SQLgen:
Exit Sub
Err_SQLgen:
LabelSQL.Caption = SQLbase & SQLvital
MsgBox "Error in SQL formula, try again !", vbCritical, "Error!!!"
End Sub
Private Sub Form_Load()
DoCmd.Maximize
Reset
End Sub
Sub Reset()
Combo1.Value = ""
Combo2.Value = ""
Combo3.Value = ""
Combo4.Value = ""
SQLgen
Refresh
End Sub
Sub SQLgen()
On Error GoTo Err_SQLgen
' SQL Generation routine
SQLQuerysubform.SourceObject = "Query1subform"
SQLbase = "SELECT query1.dst_user, query1.dst_task_id, query1.dst_date, query1.Back_Log FROM query1"
Dim iLp As Integer
SQLvital = ""
For iLp = 1 To 3
If Me.Controls("Combo" & iLp).Value <> "" Then
If SQLvital <> "" Then
SQLvital = SQLvital & " AND "
End If
Select Case iLp
Case 1: SQLvital = SQLvital & " [query1].[dst_user]='" & Me.Controls("Combo" & iLp) & "'"
Case 2: SQLvital = SQLvital & " [query1].[dst_task_id]='" & Me.Controls("Combo" & iLp) & "'"
Case 3
If IsDate(Me.Controls("COMBO4").Value) = True Then
SQLvital = SQLvital & " [query1].[dst_date] Between #" & Me.Controls("COMBO3").Value & "# AND #" & Me.Controls("COMBO4").Value & "#"
Else
SQLvital = SQLvital & " [query1].[dst_date]=#" & Me.Controls("COMBO3").Value & "#"
End If
End Select
End If 'Copy and Paste (Best Friend Worst Enemy)
Next iLp
' Construct SQL statement including parameters.
' the following is the master SQL, SQLvital contains essential SQL clause
' Depending on selection
If SQLvital <> "" Then
SQLvital = " Where " & SQLvital
End If
SQLvital = SQLvital & ";"
' Delete old Query
stDocName = "SQLQuery"
DoCmd.DeleteObject acQuery, stDocName
' Return reference to current database.
Set dbs = CurrentDb
' Create new query.
Set qdf = dbs.CreateQueryDef("SQLQuery")
qdf.SQL = SQLbase & SQLvital
SQLwhole = qdf.SQL
LabelSQL.Caption = SQLwhole
Set dbs = Nothing
SQLQuerysubform.SourceObject = "SQLQuerysubform"
Refresh
Exit_Err_SQLgen:
Exit Sub
Err_SQLgen:
LabelSQL.Caption = SQLbase & SQLvital
MsgBox "Error in SQL formula, try again !", vbCritical, "Error!!!"
End Sub
Private Sub Form_Resize()
SQLQuerysubform.Height = (Me.InsideHeight - SQLQuerysubform.Top) - 1000
SQLQuerysubform.Width = (Me.InsideWidth - 1000)
End Sub