Usar el contenido del array() en una select

03/06/2006 - 16:07 por Javier | Informe spam
Hola

Es una pregunta de novato (que es lo que soy...) pero me descaro a hacerla:

En una variable del tipo MSeccion(99) he conseguido meter los códigos de
'sección' que el usuario tiene autorizacion a ver (dependiendo del perfil de
acceso que tiene asigando).

Como hago para hacer ahora una select a la base de datos de 'personal' para
que le liste los trabajadores de esas secciones a las que él tiene
autorización?

¿ Funciona algo asi: Select Codigo,Apellido from empleados where
seccion in '"&MSeccion()&"' ?

Gracias por sus contestaciones

Fernando

Preguntas similare

Leer las respuestas

#1 Nuno Santos
05/06/2006 - 10:36 | Informe spam
No, haces un split del array y después puedes hacer el select

Dim strIds
strIds = split(myArray,",")

'Validar que a string strIds seja válida ...

strSQL = " SELECT Campo1 FROM Table1 WHERE Campo2 IN (" & strIds & ")"



NS


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Javier" wrote in message
news:
Hola

Es una pregunta de novato (que es lo que soy...) pero me descaro a
hacerla:

En una variable del tipo MSeccion(99) he conseguido meter los códigos de
'sección' que el usuario tiene autorizacion a ver (dependiendo del perfil
de acceso que tiene asigando).

Como hago para hacer ahora una select a la base de datos de 'personal'
para que le liste los trabajadores de esas secciones a las que él tiene
autorización?

¿ Funciona algo asi: Select Codigo,Apellido from empleados where
seccion in '"&MSeccion()&"' ?

Gracias por sus contestaciones

Fernando


Respuesta Responder a este mensaje
#2 Jhonny Vargas P. [MVP]
05/06/2006 - 15:59 | Informe spam
Hola Nuno,

Es un "JOIN" XD

Split separa un string en un array con los valores, JOIN los une.


Saludos,
Jhonny Vargas P.
Santiago de Chile
http://msmvps.com/jvargas



"Nuno Santos" <nunos7[REMOVE]@hotmail.com> escribió en el mensaje
news:
No, haces un split del array y después puedes hacer el select

Dim strIds
strIds = split(myArray,",")

'Validar que a string strIds seja válida ...

strSQL = " SELECT Campo1 FROM Table1 WHERE Campo2 IN (" & strIds & ")"



NS


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Javier" wrote in message
news:
Hola

Es una pregunta de novato (que es lo que soy...) pero me descaro a
hacerla:

En una variable del tipo MSeccion(99) he conseguido meter los códigos de
'sección' que el usuario tiene autorizacion a ver (dependiendo del perfil
de acceso que tiene asigando).

Como hago para hacer ahora una select a la base de datos de 'personal'
para que le liste los trabajadores de esas secciones a las que él tiene
autorización?

¿ Funciona algo asi: Select Codigo,Apellido from empleados where
seccion in '"&MSeccion()&"' ?

Gracias por sus contestaciones

Fernando






Respuesta Responder a este mensaje
#3 Nuno Santos
05/06/2006 - 21:27 | Informe spam
Ups es verdad desculpa Javier, lo que deves hacer es un JOIN..

:)

NS

"Jhonny Vargas P. [MVP]" escreveu na
mensagem news:uosj$
Hola Nuno,

Es un "JOIN" XD

Split separa un string en un array con los valores, JOIN los une.


Saludos,
Jhonny Vargas P.
Santiago de Chile
http://msmvps.com/jvargas



"Nuno Santos" <nunos7[REMOVE]@hotmail.com> escribió en el mensaje
news:
No, haces un split del array y después puedes hacer el select

Dim strIds
strIds = split(myArray,",")

'Validar que a string strIds seja válida ...

strSQL = " SELECT Campo1 FROM Table1 WHERE Campo2 IN (" & strIds & ")"



NS


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Javier" wrote in message
news:
Hola

Es una pregunta de novato (que es lo que soy...) pero me descaro a
hacerla:

En una variable del tipo MSeccion(99) he conseguido meter los códigos de
'sección' que el usuario tiene autorizacion a ver (dependiendo del
perfil de acceso que tiene asigando).

Como hago para hacer ahora una select a la base de datos de 'personal'
para que le liste los trabajadores de esas secciones a las que él tiene
autorización?

¿ Funciona algo asi: Select Codigo,Apellido from empleados
where seccion in '"&MSeccion()&"' ?

Gracias por sus contestaciones

Fernando










Respuesta Responder a este mensaje
#4 Fernando
05/06/2006 - 22:24 | Informe spam
Gracias a los dos...

Lo había hecho por el método chapuzas...pero lo voy a estudiar con el JOIN y
asi aprendo.

Lo había hecho pasando los datos del array() a una variable normal separando
los valores por comas, y luego usandola en la SELECT, algo asi como:

'vnivelacceso() es el array()
'cuantosperfiles es donde esta el numero de perfiles de cada usuario

m2Nivel=""
contador=0
for cuantas=1 to cuantosperfiles
m2Nivel= m2Nivel &"'" & VNIVELACCESO(contador) &"'"&","
CONTADOR=CONTADOR+1
Next


cuentacarac=len(m2Nivel)
M3nivel =left(M2nivel,cuentacarac-1) '& ")"

CONTADOR=0
set rsDatos2 = db.Execute("SELECT count(distinct(seccion)) FROM PERSONAL
WHERE Persona.USUARIO in ("&m3nivel&")")


La verdad es que funciona... pero dando muchas vueltas

gracias por su contestacion





"Nuno Santos" <nunos7[REMOVE]@hotmail.com> escribió en el mensaje
news:
Ups es verdad desculpa Javier, lo que deves hacer es un JOIN..

:)

NS

"Jhonny Vargas P. [MVP]" escreveu na
mensagem news:uosj$
Hola Nuno,

Es un "JOIN" XD

Split separa un string en un array con los valores, JOIN los une.


Saludos,
Jhonny Vargas P.
Santiago de Chile
http://msmvps.com/jvargas



"Nuno Santos" <nunos7[REMOVE]@hotmail.com> escribió en el mensaje
news:
No, haces un split del array y después puedes hacer el select

Dim strIds
strIds = split(myArray,",")

'Validar que a string strIds seja válida ...

strSQL = " SELECT Campo1 FROM Table1 WHERE Campo2 IN (" & strIds & ")"



NS


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Javier" wrote in message
news:
Hola

Es una pregunta de novato (que es lo que soy...) pero me descaro a
hacerla:

En una variable del tipo MSeccion(99) he conseguido meter los códigos
de 'sección' que el usuario tiene autorizacion a ver (dependiendo del
perfil de acceso que tiene asigando).

Como hago para hacer ahora una select a la base de datos de 'personal'
para que le liste los trabajadores de esas secciones a las que él tiene
autorización?

¿ Funciona algo asi: Select Codigo,Apellido from empleados
where seccion in '"&MSeccion()&"' ?

Gracias por sus contestaciones

Fernando















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