Access - SQL complicado

 
Vista:

SQL complicado

Publicado por Leonardo (37 intervenciones) el 19/09/2003 21:13:16
Hola, espero me puedan ayudar....tengo consultas desde código en las que abro los recordset, estos recordset me devuelven un número, por ejemplo el número total de pedidos, los pedidos que no han sido entregados, los que ya han sido entregados etc. Pero para cada numerito que tengo que saber, hago una consulta y abro un recordset diferente, así:

'sql de total de pedidos
Set dbs = CurrentDb
sql2 = "SELECT Count(Seguimiento.[No]) AS CuentaDeNo FROM Seguimiento"
Set rst2 = dbs.OpenRecordset(sql2)
registros = rst2.Fields(0)
Forms!Control!pedidos = registros
'Este me devuelve un numero....20 por ejemplo y lo present en el campo pedidos de mi formulario Control

'sql de pedidos no entregados
sql = "SELECT Count(Seguimiento.[No]) AS CuentaDeNo FROM Seguimiento WHERE Seguimiento.[EN PROVISION]='1'"
Set rst = dbs.OpenRecordset(sql)
registros = rst.Fields(0)
Forms!Control!PROV = registros
'Este me devuelve un numero....5 por ejemplo y lo presenta en el campo PROV de mi formulario Control

y así tengo varias consultas para mi cuadro de mando, hay alguna manera de hacer esto en una sola consulta?? necesito que me orienten si es correcto esto o si me puede causar lgún problema, o cómo hacer para anidar estas consultas, no se, espero me orienten.

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SQL complicado

Publicado por Victoria (1530 intervenciones) el 22/09/2003 15:06:02
Hola
Tal como lo planteas es correcto y no lo puedes ejecutar en una sola sql porque le pones la condicion =1 o similar
Si puedes usar tan sólo una variable recordset en vez de varias; para ello, después de usar la variable la cierras, cosa que, por otro lado, es importante que hagas siempre: cerrar todos los recordsets, cuando quieras, pero, cerrarlos
En cuanto a la pregunta que haces en la otra parte del foro, posterior a esta, te diré que sí puedes igualarlo a la fecha que tengas en tu formulario, pero, siempre teniendo en cuenta lo siguiete:
-- una fecha es un string
-- tiene formato americano: mes/dia/año
-- y comienza y termina por el símbolo: "#"
Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SQL complicado

Publicado por lluis (1 intervención) el 23/09/2003 20:28:36
Prueba esto y busca informacion sobre subconsultas , te ahorrará tiempo y codigo.

SELECT Count(Seguimiento.[No]) AS Cuenta1,(SELECT Count(Seguimiento.[No]) FROM Seguimiento WHERE EnProvision=1) AS Cuenta2
FROM Seguimiento

evidentemente para pasar los datos al form debes asignarle el Field correspondiente , es decir Cuenta1 es el Field(0) , Cuenta2 es el Field(1) , etc.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar