Me gustaria saber si me pudieran ayudar con esta consulta, ya probe el query en SQL Server y funciona de manera correcta ejecutandolo desde ahi, pero cuando intento hacerlo desde vba no hace nada, osea pareciera que el codigo se ejecuto correctamente pero en realidad no hace nada, esto si quito las lineas de:
Pero si dejo esas lineas me sale el siguiente error: "Operation is not allowed when the object is closed"
Si alguien me pudiera decir como solucionar este problema, lo he intentado de diferentes formas y de diferentes formas de hacer la conexion y algunas me muestran un error desde el query, pero como les digo el query funciona bien directamente en SQL
Sub spTable()
Dim adoCn As ADODB.Connection
Dim adoRs As ADODB.Recordset
Dim adoCm As ADODB.Command
Dim sConnString As String
' Create the connection string.
sConnString = "Provider=SQLOLEDB;Data Source=Carlos;" & _
"Initial Catalog=db_ZC;" & _
"Integrated Security=SSPI;" & _
"Trusted_connection=yes;"
' Open connection to SQL Server
Set adoCn = New ADODB.Connection
Set adoCm = New ADODB.Command
Set adoRs = New ADODB.Recordset
adoCn.ConnectionString = sConnString
adoCn.Open
adoCm.ActiveConnection = adoCn
adoCm.CommandText = "SET NOCOUNT ON" & _
" SELECT A.id," & _
" A.parts," & _
" A.cat_id," & _
" A.pt_code" & _
" INTO #PnPapp" & _
" FROM db_ac.dbo.tb_pp_ai_alph A WITH (NOLOCK)" & _
" INNER JOIN db_ZC.dbo.tmpPNHistoric H WITH (NOLOCK)" & _
" ON A.cat_id = H.cat_id" & _
" AND A.pt_code = H.pt_code" & _
" AND A.parts IN (SELECT part_number FROM db_ZC.dbo.fvw_get_parts(H.item))"
Set adoRs = adoCm.Execute
adoRs.Close
adoCn.Close
adoCn.ConnectionString = ""
' Set adoCn = Nothing
' Set adoRs = Nothing
End Sub
Info adicional: con otros query me muestra el siguiente error: Error Near 'NOCOUNT'
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Que tal compañeros buen dia,
Me gustaria saber si me pudieran ayudar con esta consulta, ya probe el query en SQL Server y funciona de manera correcta ejecutandolo desde ahi, pero cuando intento hacerlo desde vba no hace nada, osea pareciera que el codigo se ejecuto correctamente pero en realidad no hace nada, esto si quito las lineas de:
adoRs.Close
adoCn.Close
adoCn.ConnectionString = ""
Pero si dejo esas lineas me sale el siguiente error: "Operation is not allowed when the object is closed"
Si alguien me pudiera decir como solucionar este problema, lo he intentado de diferentes formas y de diferentes formas de hacer la conexion y algunas me muestran un error desde el query, pero como les digo el query funciona bien directamente en SQL
Sub spTable() Dim adoCn As ADODB.Connection Dim adoRs As ADODB.Recordset Dim adoCm As ADODB.Command Dim sConnString As String ' Create the connection string. sConnString = "Provider=SQLOLEDB;Data Source=Carlos;" & _ "Initial Catalog=db_ZC;" & _ "Integrated Security=SSPI;" & _ "Trusted_connection=yes;" ' Open connection to SQL Server Set adoCn = New ADODB.Connection Set adoCm = New ADODB.Command Set adoRs = New ADODB.Recordset adoCn.ConnectionString = sConnString adoCn.Open adoCm.ActiveConnection = adoCn adoCm.CommandText = "SET NOCOUNT ON" & _ " SELECT A.id," & _ " A.parts," & _ " A.cat_id," & _ " A.pt_code" & _ " INTO #PnPapp" & _ " FROM db_ac.dbo.tb_pp_ai_alph A WITH (NOLOCK)" & _ " INNER JOIN db_ZC.dbo.tmpPNHistoric H WITH (NOLOCK)" & _ " ON A.cat_id = H.cat_id" & _ " AND A.pt_code = H.pt_code" & _ " AND A.parts IN (SELECT part_number FROM db_ZC.dbo.fvw_get_parts(H.item))" Set adoRs = adoCm.Execute adoRs.Close adoCn.Close adoCn.ConnectionString = "" ' Set adoCn = Nothing ' Set adoRs = Nothing End Sub
Info adicional: con otros query me muestra el siguiente error: Error Near 'NOCOUNT'