Sub Query(sPN as string)
Dim sPath As String, sDB As String, sConn As String, sSQL As String
sPath = ThisWorkbook.Path
sDB = "OrderRelease"
sConn = "ODBC;DSN=MS Access Database;"
sConn = sConn & "DBQ=" & sPath & "\" & sDB & ".mdb;"
sConn = sConn & "DefaultDir=" & sPath & ";"
sConn = sConn & "DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
sSQL = "Transform SUM(CHT_QTY)"
sSQL = sSQL & vbCrLf
sSQL = sSQL & "SELECT"
sSQL = sSQL & " CHT_PN As TW_PN"
sSQL = sSQL & ", PM.PM_NOM As TW_NOM"
sSQL = sSQL & ", PM.PM_GP As TW_GP"
sSQL = sSQL & ", PM.PM_RC As TW_RC"
sSQL = sSQL & ", PM.PM_MIN As TW_MIN"
sSQL = sSQL & ", left(PM.PM_MAX,3) AS TW_MAX"
sSQL = sSQL & ", PM.PM_OP As TW_OP"
sSQL = sSQL & ", PM.PM_POS As TW_POS"
sSQL = sSQL & ", PM.PM_TQ As TW_TQ"
sSQL = sSQL & ", PM.PM_RD As TW_RD"
sSQL = sSQL & ", PM.PM_OD As TW_OD"
sSQL = sSQL & ", PM.PM_CM As TW_CM"
sSQL = sSQL & ", PM.PM_SP As TW_SP"
sSQL = sSQL & ", INT(PM.PM_MATL) as TW_MATL"
sSQL = sSQL & ", CHT_Cat As TW_CAT"
sSQL = sSQL & vbCrLf
sSQL = sSQL & "FROM"
sSQL = sSQL & " `" & sPath & "\" & sDB & "`.GetJoin GetJoin"
sSQL = sSQL & ", `" & sPath & "\" & sDB & "`.PM PM"
sSQL = sSQL & vbCrLf
sSQL = sSQL & "Where CHT_PN = PM_PN"
sSQL = sSQL & " AND CHT_PN='" & sPN & "'"
sSQL = sSQL & vbCrLf
sSQL = sSQL & "Group By"
sSQL = sSQL & " CHT_PN"
sSQL = sSQL & ", PM.PM_NOM"
sSQL = sSQL & ", PM.PM_GP"
sSQL = sSQL & ", PM.PM_RC"
sSQL = sSQL & ", PM.PM_MIN"
sSQL = sSQL & ", left(PM.PM_MAX,3)"
sSQL = sSQL & ", PM.PM_OP"
sSQL = sSQL & ", PM.PM_POS"
sSQL = sSQL & ", PM.PM_TQ"
sSQL = sSQL & ", PM.PM_RD"
sSQL = sSQL & ", PM.PM_OD"
sSQL = sSQL & ", PM.PM_CM"
sSQL = sSQL & ", PM.PM_SP"
sSQL = sSQL & ", INT(PM.PM_MATL)"
sSQL = sSQL & ", CHT_Cat"
sSQL = sSQL & vbCrLf
sSQL = sSQL & "Pivot DateSerial(Year(CHT_Mon), Month(CHT_Mon), 1)"
Debug.Print sSQL
With wsDashboard.QueryTables(1)
.Connection = sConn
.CommandText = sSQL
.Refresh False
Application.DisplayAlerts = False
Intersect(.ResultRange, wsDashboard.Range(wsDashboard.Cells(1, 1), wsDashboard.Cells(1, 15).EntireColumn)).CreateNames _
True, False, False, False
Application.DisplayAlerts = True
End With
End Sub