Updates desde una conexión de ODBC

06/11/2003 - 02:13 por Luis Arturo | Informe spam
Es posible ejecutar una sentencia de SQL de "update" igual
que se ejcuta una de "select" a través de una conexión
ODBC a una fuente de datos externa?

Agradezco de antemano su ayuda.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
07/11/2003 - 10:58 | Informe spam
En tablas de Access sí es posible. Por ejemplo:

Sub ActualizarTablaAccess()
Dim strSQL_Anterior As String

With ActiveSheet.QueryTables(1)
strSQL_Anterior = .CommandText 'Para almacenar la consulta de selección actual
.CommandText = "UPDATE Tabla4 SET Tabla4.Importe = 100 WHERE (((Tabla4.Código)='" & "0001" & "'));" 'Consulta de actualización
.Refresh
.CommandText = strSQL_Anterior 'Restituir la consulta de selección
.Refresh
End With
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"Luis Arturo" escribió en el mensaje news:086301c3a403$35fb1390$
Es posible ejecutar una sentencia de SQL de "update" igual
que se ejcuta una de "select" a través de una conexión
ODBC a una fuente de datos externa?

Agradezco de antemano su ayuda.
Respuesta Responder a este mensaje
#2 Luis Arturo
12/11/2003 - 16:11 | Informe spam
Gracias por tu respuesta Fernando, ¿sabes si esto es
posible en tablas de Sybase?
Tengo el siguiente ejemplo:

With Sheets("Datos").Range(rango).QueryTable
.Connection = _
"ODBC;DRIVER={Sybase System 11};UID=" + usuario
+ ";PWD=" + password + ";SRVR=" + servidor + ";DB=" + base
.Sql = "SELECT * FROM AGT001 AGT001"
.Refresh
End With


Gracias.

En tablas de Access sí es posible. Por ejemplo:

Sub ActualizarTablaAccess()
Dim strSQL_Anterior As String

With ActiveSheet.QueryTables(1)
strSQL_Anterior = .CommandText 'Para almacenar la


consulta de selección actual
.CommandText = "UPDATE Tabla4 SET Tabla4.Importe


= 100 WHERE (((Tabla4.Código)='" & "0001"
& "'));" 'Consulta de actualización
.Refresh
.CommandText = strSQL_Anterior 'Restituir la


consulta de selección
.Refresh
End With
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"Luis Arturo" escribió en el


mensaje news:086301c3a403$35fb1390$
Es posible ejecutar una sentencia de SQL de "update"


igual
que se ejcuta una de "select" a través de una conexión
ODBC a una fuente de datos externa?

Agradezco de antemano su ayuda.
.

Respuesta Responder a este mensaje
#3 Fernando Arroyo
12/11/2003 - 16:32 | Informe spam
No, lo siento; no trabajo con Sybase. Pero supongo que podrás hacer una prueba de consulta de actualización a alguna tabla...

Lo que sí te aconsejo es que uses la propiedad CommandText del objeto QueryTable mejor que la propiedad SQL. Copio y pego de la ayuda de Excel: "Utilice la propiedad CommandText en lugar de la propiedad SQL, que ahora está presente fundamentalmente por razones de compatibilidad con versiones anteriores de Microsoft Excel. Si utiliza ambas propiedades, tendrá prioridad el valor de la propiedad CommandText."

También te aconsejo que uses

With Sheets("Datos").QueryTables(1)

mejor que

With Sheets ("Datos").Range(rango).Querytable

porque con la segunda sintaxis, si mueves la consulta a otro lugar de la hoja podría producirse un error.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Luis Arturo" escribió en el mensaje news:063201c3a92f$40352e50$
Gracias por tu respuesta Fernando, ¿sabes si esto es
posible en tablas de Sybase?
Tengo el siguiente ejemplo:

With Sheets("Datos").Range(rango).QueryTable
.Connection = _
"ODBC;DRIVER={Sybase System 11};UID=" + usuario
+ ";PWD=" + password + ";SRVR=" + servidor + ";DB=" + base
.Sql = "SELECT * FROM AGT001 AGT001"
.Refresh
End With


Gracias.

En tablas de Access sí es posible. Por ejemplo:

Sub ActualizarTablaAccess()
Dim strSQL_Anterior As String

With ActiveSheet.QueryTables(1)
strSQL_Anterior = .CommandText 'Para almacenar la


consulta de selección actual
.CommandText = "UPDATE Tabla4 SET Tabla4.Importe


= 100 WHERE (((Tabla4.Código)='" & "0001"
& "'));" 'Consulta de actualización
.Refresh
.CommandText = strSQL_Anterior 'Restituir la


consulta de selección
.Refresh
End With
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"Luis Arturo" escribió en el


mensaje news:086301c3a403$35fb1390$
Es posible ejecutar una sentencia de SQL de "update"


igual
que se ejcuta una de "select" a través de una conexión
ODBC a una fuente de datos externa?

Agradezco de antemano su ayuda.
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida