Ayuda con Excel y SQL Server

01/08/2003 - 20:23 por Miguel Cazares | Informe spam
Muy buenas tengan todos ustedes..

Tengo una consulta que hacer para haber si alguien me puede ayudar.

Tengo una macro que por medio del codigo me traigo el nombre de un empleado,
pero quisiera hacer por medio del numero tecleado en una celda. como se
podria hacer eso.

tengo este codigo

cnx.ConnectionString = "driver={SQL Server};" & _
"server=servidor;uid=sa;pwd=sa;database=nomina"
cnx.CommandTimeout = 30
cnx.Open
Set rst = New ADODB.Recordset
strsql = "Select * from t0016 where Mb_Epr_cod='PRO' and emp_nie“2"
rst.CursorType = adOpenDynamic
rst.Open strsql, cnx, , , adCmdText
Do While Not rst.EOF
Worksheets("Hoja1").Range("C2") = rst!Emp_patern
Worksheets("Hoja1").Range("C3") = rst!emp_matern
rst.MoveNext
Loop
rst.Close
cnx.Close

pero aqui es todo rigido, quisiera hacer por tipo de empresa y el numero de
empleado, dependiendo de valor de la celda X que contenga la empresa y la
celda Y que contenga el empleado. y con eso traerme sus nombre etc etc.

Como seria?

Gracias por su Ayuda
 

Leer las respuestas

#1 Fernando Arroyo
01/08/2003 - 22:11 | Informe spam
Puedes modificar la línea que asigna la instrucción SQL, algo como:

strsql = "Select * from t0016 where Mb_Epr_cod='" & Worksheets("HojaDondeEstáX").CeldaX &"' and emp_nie=" & Worksheets("HojaDondeEstáY").CeldaY

La pregunta es: ¿cuándo habría que extraer el registro de la base de datos SQL?. Tienes varias opciones, pero en principio parece que lo lógico sería que dicha extracción se produjera al modificar alguna de las dos celdas, o ambas. Pero sin saber mejor lo que necesitas no puedo decirte mucho más.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Miguel Cazares" escribió en el mensaje news:%
Muy buenas tengan todos ustedes..

Tengo una consulta que hacer para haber si alguien me puede ayudar.

Tengo una macro que por medio del codigo me traigo el nombre de un empleado,
pero quisiera hacer por medio del numero tecleado en una celda. como se
podria hacer eso.

tengo este codigo

cnx.ConnectionString = "driver={SQL Server};" & _
"server=servidor;uid=sa;pwd=sa;database=nomina"
cnx.CommandTimeout = 30
cnx.Open
Set rst = New ADODB.Recordset
strsql = "Select * from t0016 where Mb_Epr_cod='PRO' and emp_nie“2"
rst.CursorType = adOpenDynamic
rst.Open strsql, cnx, , , adCmdText
Do While Not rst.EOF
Worksheets("Hoja1").Range("C2") = rst!Emp_patern
Worksheets("Hoja1").Range("C3") = rst!emp_matern
rst.MoveNext
Loop
rst.Close
cnx.Close

pero aqui es todo rigido, quisiera hacer por tipo de empresa y el numero de
empleado, dependiendo de valor de la celda X que contenga la empresa y la
celda Y que contenga el empleado. y con eso traerme sus nombre etc etc.

Como seria?

Gracias por su Ayuda


Preguntas similares