Excel y VB

01/08/2003 - 20:24 por Miguel Cazares | Informe spam
Muy buenas tengan todos ustedes..
No se si sera en este foro pero nada se pierde...

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 Leonardo Azpurua
02/08/2003 - 00:14 | Informe spam
"Miguel Cazares" escribió en el mensaje
news:
Muy buenas tengan todos ustedes..
No se si sera en este foro pero nada se pierde...



Este es "el foro" para casi todo, desde Clipper y MsDos hasta IIS y .Net. Y
por favor no dejes de visitarnos cuando tegas ganas de preguntar cómo se
abre una BD de Access con contraseña ;-)

Aunque estas preguntas tambien van de lo mejor en microsoft.public.es.excel,
o microsoft.public.es.vba

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


[... ]
strsql = "Select * from t0016 where Mb_Epr_cod='PRO' and emp_nie“2"



Basta con que escribas:

strsql = "Select ... where ... ='" & Worksheets("Hoja1").Range("xx") & "'
and emp_nie=" & Worksheets("Hoja1").Range("yy")

xx y yy pueden ser las coordenadas de las celdas que contienen
respectivamente el codigo de la empresa y el número del empleado.

Utilizar Nombres puede simplificarte mucho la tarea. Primero porque puedes
definir el nombre en cualquier hoja del libro, y no tienes que especificar a
cual de ellas pertenece, y luego porque el código resultante es mas legible
(y no te amarras a ninguna celda en particular):

Select ... where ... ='" & Range("idEmpresa") & "' and emp_nie=" &
Range("numEmpleado")

Una ultima recomendación: si lo que quieres es el nombre del empleado,
entonces no escribas "SELECT *" sino "SELECT Nombre" (o como quieraque se
llame la columna que lo contiene): es largo y fuera de lugar explicarlo,
pero es una excelente costumbre.

Salud!

Leonardo
[MS MVP - VB]
[Maicrosoft LVP - MOP Certified]

Preguntas similares