sanders720
Programmer
I have a sub that is doing everything I want it to. The problem is, when I go through the sequence of going to the reports menu and selecting the button associated with this sub from that form, nothing happens. If I open the reports form manually and proceed from there, the program works fine.
Any ideas? Thanks in advance for the help.
Private Sub cmdEReport_Click()
' **********************************************************
' Check RecordSet
MsgBox "Check RecordSet"
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sql As String
If LCase(Forms!frmReportsListing.Combo22) = "<all>" Then
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedBy, B.ReleasedFlag, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & " And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
Else
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedFlag, B.ReleasedBy, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) =" & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & "" & _
" And ((B.SubAssy) = " & Chr(34) & [Forms]![frmReportsListing].[Combo22].[Value] & Chr(34) & " ) And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
End If
rs.Open sql, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
If rs.BOF Or rs.EOF Then GoTo Skip1
rs.Close
Set rs = Nothing
' **********************************************************
' Get Max RequisitionNumber
MsgBox "Get Max RequisitionNumber"
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "\\deepblue\Manuals\IT Database\Requisition.mdb"
sql = "SELECT Max(RequisitionNumber) as Expr1 from tblRequisitions"
rs.Open Source:=sql, _
ActiveConnection:=cn, _
CursorType:=adOpenForwardOnly, _
LockType:=adLockReadOnly, _
options:=adCmdText
Dim RN As Integer
RN = rs!expr1
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
' **********************************************************
' Update Max+1 RequisitionNumber with Associated Data
MsgBox "Update Max+1 RequisitionNumber with Associated Data"
sql = "SELECT * from tblRequisitions"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "\\deepblue\Manuals\IT Database\Requisition.mdb"
rs.Open Source:=sql, _
ActiveConnection:=cn, _
CursorType:=adOpenStatic, _
LockType:=adLockOptimistic, _
options:=adCmdText
rs.AddNew
rs.Fields("RequisitionNumber" = RN + 1
rs.Fields("DateSubmitted" = Date
rs.Fields("Department" = "Engineering"
rs.Fields("RequestingUser" = "TEST"
rs.Update
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
' **********************************************************
' Append Data from BOM to Requisition
MsgBox "Append Data from BOM to Requisition"
If LCase(Forms!frmReportsListing.Combo22) = "<all>" Then
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedBy, B.ReleasedFlag, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & " And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
Debug.Print sql
' Me.RecordSource = "qryMetroProcessSheets2FINAL"
Else
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedFlag, B.ReleasedBy, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) =" & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & "" & _
" And ((B.SubAssy) = " & Chr(34) & [Forms]![frmReportsListing].[Combo22].[Value] & Chr(34) & " ) And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
Debug.Print sql
' Me.RecordSource = "qryMetroProcessSheetsFINAL"
End If
Set rs = New ADODB.Recordset
rs.Open sql, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
rs.MoveFirst
Dim sqlA As String
sqlA = "SELECT * from tblItemList"
Dim cnA As ADODB.Connection
Dim rsA As ADODB.Recordset
Set cnA = New ADODB.Connection
Set rsA = New ADODB.Recordset
cnA.Provider = "Microsoft.Jet.OLEDB.4.0"
cnA.Open "\\deepblue\Manuals\IT Database\Requisition.mdb"
rsA.Open Source:=sqlA, _
ActiveConnection:=cnA, _
CursorType:=adOpenStatic, _
LockType:=adLockOptimistic, _
options:=adCmdText
Do While Not rs.EOF
Debug.Print rs.Fields("PartNo"
rsA.AddNew
rsA.Fields("RequisitionNumber" = RN + 1
rsA.Fields("Quantity" = rs.Fields("QTY"
rsA.Fields("Manufacturer" = rs.Fields("ManufacturedBy"
rsA.Fields("MfgPartNo" = rs.Fields("PartNo"
rsA.Fields("Description" = rs.Fields("PartDescription"
rsA.Fields("JobNo" = rs.Fields("JobNo"
rsA.Fields("SubNo" = rs.Fields("SubAssy"
rsA.Update
rs.MoveNext
Loop
rsA.Close
Set rsA = Nothing
cnA.Close
Set cnA = Nothing
rs.Close
Set rs = Nothing
MsgBox "Purchased Requsition Database Appended..."
' Close Out Form
DoCmd.Close
' **********************************************************
' Send Verification E-Mail
MsgBox "Send Verification E-Mail"
GoTo proceed1
Skip1:
MsgBox "No Records to Process at this time..."
proceed1:
End Sub
Any ideas? Thanks in advance for the help.
Private Sub cmdEReport_Click()
' **********************************************************
' Check RecordSet
MsgBox "Check RecordSet"
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sql As String
If LCase(Forms!frmReportsListing.Combo22) = "<all>" Then
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedBy, B.ReleasedFlag, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & " And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
Else
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedFlag, B.ReleasedBy, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) =" & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & "" & _
" And ((B.SubAssy) = " & Chr(34) & [Forms]![frmReportsListing].[Combo22].[Value] & Chr(34) & " ) And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
End If
rs.Open sql, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
If rs.BOF Or rs.EOF Then GoTo Skip1
rs.Close
Set rs = Nothing
' **********************************************************
' Get Max RequisitionNumber
MsgBox "Get Max RequisitionNumber"
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "\\deepblue\Manuals\IT Database\Requisition.mdb"
sql = "SELECT Max(RequisitionNumber) as Expr1 from tblRequisitions"
rs.Open Source:=sql, _
ActiveConnection:=cn, _
CursorType:=adOpenForwardOnly, _
LockType:=adLockReadOnly, _
options:=adCmdText
Dim RN As Integer
RN = rs!expr1
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
' **********************************************************
' Update Max+1 RequisitionNumber with Associated Data
MsgBox "Update Max+1 RequisitionNumber with Associated Data"
sql = "SELECT * from tblRequisitions"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "\\deepblue\Manuals\IT Database\Requisition.mdb"
rs.Open Source:=sql, _
ActiveConnection:=cn, _
CursorType:=adOpenStatic, _
LockType:=adLockOptimistic, _
options:=adCmdText
rs.AddNew
rs.Fields("RequisitionNumber" = RN + 1
rs.Fields("DateSubmitted" = Date
rs.Fields("Department" = "Engineering"
rs.Fields("RequestingUser" = "TEST"
rs.Update
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
' **********************************************************
' Append Data from BOM to Requisition
MsgBox "Append Data from BOM to Requisition"
If LCase(Forms!frmReportsListing.Combo22) = "<all>" Then
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedBy, B.ReleasedFlag, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & " And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
Debug.Print sql
' Me.RecordSource = "qryMetroProcessSheets2FINAL"
Else
sql = "SELECT B.QTY, B.PartNo, P.PartDescription, P.Code AS Code, P.ManufacturedBy," & _
" B.JobNo, B.SubAssy, B.ReleasedFlag, B.ReleasedBy, B.ReleasedDate" & _
" FROM tblPartsListing P INNER JOIN tblBOM B ON P.PartNo = B.PartNo" & _
" WHERE (((B.QTY) > 0) And ((P.Code) = " & Chr(34) & "Purchased" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Purchased-Elec Comp" & Chr(34) & " Or (P.Code) =" & Chr(34) & "Purchased-Mech Comp" & Chr(34) & _
" Or (P.Code) = " & Chr(34) & "Purchased-Major Comp" & Chr(34) & " Or (P.Code) = " & Chr(34) & "Stock" & Chr(34) & " And ((B.JobNo) = " & [Forms]![frmReportsListing].[Combo8].[Value] & "" & _
" And ((B.SubAssy) = " & Chr(34) & [Forms]![frmReportsListing].[Combo22].[Value] & Chr(34) & " ) And ((B.ReleasedFlag) = True))"
' *** Too long to Order By *** " ORDER BY B.SubAssy, P.ManufacturedBy, B.PartNo;"
Debug.Print sql
' Me.RecordSource = "qryMetroProcessSheetsFINAL"
End If
Set rs = New ADODB.Recordset
rs.Open sql, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
rs.MoveFirst
Dim sqlA As String
sqlA = "SELECT * from tblItemList"
Dim cnA As ADODB.Connection
Dim rsA As ADODB.Recordset
Set cnA = New ADODB.Connection
Set rsA = New ADODB.Recordset
cnA.Provider = "Microsoft.Jet.OLEDB.4.0"
cnA.Open "\\deepblue\Manuals\IT Database\Requisition.mdb"
rsA.Open Source:=sqlA, _
ActiveConnection:=cnA, _
CursorType:=adOpenStatic, _
LockType:=adLockOptimistic, _
options:=adCmdText
Do While Not rs.EOF
Debug.Print rs.Fields("PartNo"
rsA.AddNew
rsA.Fields("RequisitionNumber" = RN + 1
rsA.Fields("Quantity" = rs.Fields("QTY"
rsA.Fields("Manufacturer" = rs.Fields("ManufacturedBy"
rsA.Fields("MfgPartNo" = rs.Fields("PartNo"
rsA.Fields("Description" = rs.Fields("PartDescription"
rsA.Fields("JobNo" = rs.Fields("JobNo"
rsA.Fields("SubNo" = rs.Fields("SubAssy"
rsA.Update
rs.MoveNext
Loop
rsA.Close
Set rsA = Nothing
cnA.Close
Set cnA = Nothing
rs.Close
Set rs = Nothing
MsgBox "Purchased Requsition Database Appended..."
' Close Out Form
DoCmd.Close
' **********************************************************
' Send Verification E-Mail
MsgBox "Send Verification E-Mail"
GoTo proceed1
Skip1:
MsgBox "No Records to Process at this time..."
proceed1:
End Sub