Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

macro en excel

Estas en el tema de macro en excel en el foro de Visual Basic clásico en Foros del Web. buena tarde, estoy haciendo una macro que desde excel se conecta a oracle con un odbc, requiero hacer un query a una vista creada y ...
  #1 (permalink)  
Antiguo 03/09/2012, 13:37
 
Fecha de Ingreso: marzo-2006
Mensajes: 194
Antigüedad: 16 años, 8 meses
Puntos: 1
macro en excel

buena tarde, estoy haciendo una macro que desde excel se conecta a oracle con un odbc, requiero hacer un query a una vista creada y el codigo es

Código:
Sub preexperto()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

'realizamos la conexion con Oracle, "usuario" es el nombre de usario para conectarse
' "password" la contraseña para conectarse y "esquemaBd" y nombre de la base de datos

cn.Open ( _
"User ID=user" & _
";Password=pass" & _
";Data Source=datasource" & _
";Provider=MSDAORA.1")



'aca se captura el valor digitado en la celda E10 del libro
Dim ced As String
ced = Range("E10").Value

rs.Open "select * from vista", cn
la idea es que en el select poder validar con respecto a lo que se digito en la celda E10, por ejemplo
Código:
select * from vista where nit=ced
pero no he podido que tome el valor de lo que se digito en la cedula
  #2 (permalink)  
Antiguo 05/09/2012, 04:52
Usuario no validado
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: macro en excel

He conseguido sacar el valor de una celda con esta línea:

Código vb:
Ver original
  1. Valor = Hoja1.Cells.Item(10, 5).Value

Donde 10 es el # de fila y 5 el número de columna.

La columna "E" es la columna #5.
----------------------------------------------------------------------

Utilizando "Range", pues he conseguido obtener el valor de esta forma:

Código vb:
Ver original
  1. Valor = Hoja1.Range("E10", "E10").Item(1, 1).Value

Me parece que "Range" lo que hace es devolverte una matriz de celdas según las coordenadas de principio y final que le pones. ("E10" a "E10").


Saludos,

Etiquetas: excel, macro, recordset
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.