Access - problema con consulta

   
Vista:

problema con consulta

Publicado por elio (169 intervenciones) el 09/04/2009 20:05:39
Hola a todos

tengo un problema con esta consulta

DoCmd.RunSQL ("SELECT Count(hoja1.Artículo) AS CuentaDeArtículo, hoja1.Almacén FROM hoja1 GROUP BY hoja1.Almacén HAVING (((Count(hoja1.Artículo)) Is Not Null) AND ((hoja1.Almacén)='41__' Or (hoja1.Almacén)='42__'));")

en definitiva lo que debe hacer es lo siguiente, contar los registros que no sea nulos de una tabla, y que cumpla el criterio que les doy, el resultado es un total para un criterio y un total para otro, que luego quiero sumar, el error que me da es el 2342, que dice una accion ejecutar SQL requiere como argumento una instruccion SQL, es elemental pero no encuentro el error en la instruccion, me pudieran ayudar.

muchas gracias, saludos
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:problema con consulta

Publicado por elio (169 intervenciones) el 09/04/2009 20:19:17
Hola

resulta que he estado buscando y al parecer SELECT Count no es una accion en visual Basic, sera??, yo lo que hice fue crear la consulta y pegue el codigo, tuve que cambiar las comillas dobles por las simples en los criterios, ese fue el unico cambio que hice, y me ese error, lo dicho sino se puede hacer asi, tienen alguna idea de como, puedo hacerlo entonces, recuerdo, solo quiero contar los registros que no sea nulos y que cumplen los criterios que les he puesto, como son 2 criterios diferentes me devuelve 2 valores, y no puedo asignarlo a una solo variable, despues lo que quiero es sumar las 2 cuentas de registros, alguna idea.

saludos.
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

Resuelto, habra algo mejor??

Publicado por elio (169 intervenciones) el 11/04/2009 20:09:46
hola a todos

bueno el error de la sentencia SQL es que no se puede aplicar a una consulta de seleccion ( me imagino que en versiones futuras quizas pudiera hacerse ), en fin en una respuesta en el foro encontre esto, de Chea

se puede realizar la consulta asignandole a la propiedad Rowsource, de un cuadro de lista

me.lista.rowsource = " Select ............. "

y como lo que yo queria es sumar la cuenta de los registros, pues con el codigo de abajo se resuelve, claro que tengo que poner en el formulario el cuadro de lista oculto, porque lo que me interesa es el dato del cuadro de texto

Dim i As Integer

'En caso de que queramos sumar una columna que no sea la dependiente,
'Ponemos como dependiente la columna que queremos sumar
Me.Lista1.BoundColumn = 2

For i = 0 To Me.Lista1.ListCount - 1
Me.txtSuma = Nz(txtSuma, 0) + Me.Lista1.ItemData(i)
Next i

'Volvemos a establecer la columna dependiente predeterminada
Me.Lista1.BoundColumn = 1

me va con lo que quiero, porque yo no queria que en la estructura de la bbdd se vieran tantas consultas,

un saludo a todos y muchas gracias
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:Resuelto, habra algo mejor??

Publicado por Chea (1015 intervenciones) el 11/04/2009 23:10:30
La solución es bastante rebuscada y un tanto heterodoxa, pero, si te funciona, felicítate por haber conseguido tu objetivo. Cuando tengas mucha experiencia y domines los procedimientes más habituales, te verás obligado más de una vez a recurrir a soluciones heterodoxas.

Dicho esto, mejor vuelve a los caminos trillados y busca en la ayuda acerca de las funciones de dominio añadido: dCount(), dSum(), dLookUp...Es la forma más directa de sacar un resultado de un conjunto de datos. Si quieres recorrer los valores de ese conjunto, lo ortodoxo es usar un Recordset: mira en la ayuda al respecto que tiene mucha miga y, si quieres una ayudita, usa http://jbengoechea.com/jbwzcodegen.htm.

Saludos
José Bengoechea Ibaceta
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

muchas gracias, por tu atencion

Publicado por elio (169 intervenciones) el 12/04/2009 15:17:36
Hola Chea, un millon de gracias por tu consejo, muy agradecido, siempre es bien recibida la opinion de un experto, visitare el link, y ya te contare, le debo mucho a este foro, y a tus respuestas en él.

saludos
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