Ayuda con sentencia ISNULL

Hola experto ralvaradot, recurro nuevamente a ti para que me ayudes, estoy realizando el siguiente sql para pasar filas a columnas,
TemporalComensal
Dim Sql As String
Dim Del As String
Dim Al As String
Fecha1 = DTPicker1.Value
Fecha2 = DTPicker2.Value
Fecha1 = Format(DTPicker1, "yyyy/mm/dd")
Fecha2 = Format(DTPicker2, "yyyy/mm/dd")
If RsTemporalComensal.State = 1 Then RsTemporalComensal.Close
Sql = "SELECT Alimento, ISNULL((SELECT CantidadComensal FROM TemporalComensal WHERE Fecha = #" & Fecha1 & "#), 0) AS dia1, ISNULL ((SELECT CantidadComensal FROM TemporalComensal WHERE Fecha = #" & Fecha2 & "#), 0) AS dia2 FROM TemporalComensal GROUP BY Alimento"
RsTemporalComensal.Open Sql, Base, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RsTemporalComensal
En la ejecución me produce el siguient error :
Wrong number of arguments used with function in query expression
Por favor te agradeceré mucho me puedas ayudar
Edwin

2 Respuestas

Respuesta
1
Verifica en la lista de instrucciones validas para el SQL de Access si ISNULL es valida y si esos son los parámetros correctos, recuerda que access utiliza un conjunto de sentencias SQL que no siempre se comportan igual que el standard que es el que estamos acostumbrados a utilizar.
Respuesta
1
Te equivocaste, yo no soy ralvaradot
Exechapur lamento mucho la confusión me equivoque al colocar el nombre, te agradeceré mucho me pudieras ayudar con mi problema gracias.
Y disculpa nuevamente.
Edwin
No entiendo que quieres hacer hijo, si podes explicate...
Disculpa si no fui claro, como te habrás dado cuenta recién estoy aprendiendo algo de programación, agradezco tu comprensión y ayuda, tengo la siguiente tabla en Access:
Fecha Alimento CantidadComensal
07/10/2009    Aceite                      50
09/10/2009     Fideo                      350
Necesito tener una tabla de la siguiente Forma:
Alimento      07/10/2009        09/10/2009         TOTAL
Aceite 50 0 50
Fideo 0 350 350
Por favor podrías sugerirme algún query para poder conseguir la tabla que necesito, muchas gracias de ante mano
Maestro, no se entiende!
Quieres armar una tabla, bien
Pero no coinciden los datos de la tabla con los de la base de datos!
Bueno primero te agradezco por la paciencia tratare de explicarme mejor. Como te mencione esta es mi tabla en access:
   Fecha Alimento CantidadComensal
07/10/2009       Aceite                      50
09/10/2009       Fideo                      350
07/10/2009       Carne                     100
09/10/2009       Carne                     150
Necesito pasar las filas de la tabla de access, a columnas en una nueva tabla, la cual necesito que se vea así:
Alimento      07/10/2009(Fecha)        09/10/2009 (Fecha)        SUMA TOTAL
Aceite                 50                                                                          50
Fideo                                                               350                         350
Carne                 100                                       150                         250         
Ordenado por alimento, y que las cantidad correspondientes a cada alimento que figuran en el campo CantidadComensal, solo me aparezcan debajo de su respectiva fecha, en el anterior mensaje te indique el número 0, por que necesito que este valor aparezca cuando el campo corresponda a nulo, es decir por ejemplo el día 07/10/2009, no se uso el alimento fideo por tanto en a columna correspondiente a esa fecha debería figurar 0, La SUMA TOTAL, corresponde a la cantidad usada en los días para cada alimento.
Bueno hermano, espero puedas comprender creo que la desesperación de no encontrar una solución me esta nublando un poco.
Gracias de antemano, por tu interés y tiempo!
Atentamente.
Edwin
Yo usaría una sentencia común:
sql="select * from alimento"
Y luego iría armando la tabla manualmente ;)
Gracias, esta es mi ultima me pregunta, mediante la siguiente sentencia he conseguido que ande
Sql = "SELECT Alimento, (SELECT SUM(CantidadComensal) FROM TemporalComensal WHERE Fecha = #" & 07/10/2009 & "#) AS [Dia1], (SELECT SUM(CantidadComensal) FROM TemporalComensal WHERE Fecha = #" & 09/10/2009 & "#) AS [dia2] FROM TemporalComensal GROUP BY Alimento"
Pero tengo un problema:
Come te mencione mi tabla Originas es de Nombre TemporalComensal:
Fecha Alimento CantidadComensal
07/10/2009       Aceite                      50
09/10/2009       Fideo                      350
07/10/2009       Carne                     100
09/10/2009       Carne                     150
Sin embargo el resultado me da asi:
Alimento            DIA1 (07/10/2009)         DIA2 (09/10/2009)         
Aceite                 150                                              500                             
Fideo                  150                                              500                  
Carne                 150                                              500
Como podrás darte cuenta en cada registro me aparece la suma del total de registros del día, no me diferencia la cantidad para cada alimento.
Bueno hermano, creo que ya te quite mucho tiempo y de verdad agradezco tu interés me diste algunas luces y espero poder encontrar pronto la solución, Gracias
Edwin
Por eso te digo que uses una sentencia normal
Y que vayas armando la tabla desde vb y no desde sql...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas