Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Consulta en access para un calculo (http://www.forosdelweb.com/f21/consulta-access-para-calculo-604532/)

PiquioII 10/07/2008 04:19

Consulta en access para un calculo
 
Hola, esta es mi duda:

Estoy calculando las horas que hay en una obra entre 2 fechas, lo que pasa es que me esta dando error el la clausula from.

Este es el codigo que he escrito:

Private Sub cmdejecutar_Click()
Dim dbs As Database
Dim rst As DAO.Recordset

Dim servicio As String
Dim fecha1 As Date
Dim fecha2 As Date


DoCmd.GoToRecord , , acNext
DoCmd.GoToRecord , , acPrevious

servicio = Me.Cuadro_combinado14.Value
fecha1 = Me.Fecha_Inicio.Value
fecha2 = Me.Fecha_Final.Value

Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("select sum ([personal-obra].horas) as tot from obras inner join personal-obra on obras.idobra=[personal-obra].obra where obras.nombre like '" & servicio & "' and [personal-obra].fecha between #" & [fecha1] & " # and # " & [fecha2] & "#"")

Me.Total_Hora_Normal.Text = rst.Fields(0)

rst.Clone
rst.Close

End Sub

Muchas gracias

Taribo007 10/07/2008 04:43

Respuesta: Consulta en access para un calculo
 
Prueba asi:

Set rst = dbs.OpenRecordset("select sum ([personal-obra].horas) as tot from obras inner join [personal-obra] on obras.idobra=[personal-obra].obra where obras.nombre like '" & servicio & "' and [personal-obra].fecha between #" & Format([fecha1], "mm/dd/yyyy") & "# and #" & Format([fecha2], "mm/dd/yyyy") & "#")

No obstante, access te proporciona funciones agregadas de dominio como dsum, dlookup, dcount, que quiaz te vengan mejor, para no tenere que abrir un recordset para obtener un solo valor (si es que es eeste el caso)

Un saludo

PiquioII 10/07/2008 08:49

Respuesta: Consulta en access para un calculo
 
Me devuelve un valor nulo, y el intervalo de fechas que introduzco es correcto.

¿Por que me devuelve este valor nulo?

Muchas gracias.

Taribo007 10/07/2008 09:12

Respuesta: Consulta en access para un calculo
 
Pruaba con :

msgbox rst!tot

Compruaba que devuelve algun valro con:

rst.movelast

msgbox rst.recordcount

Un saludo

PiquioII 10/07/2008 09:56

Respuesta: Consulta en access para un calculo
 
Me devuelve el valor 1 y me tenia que devolver 16

Muchas gracias.

Un saludo


La zona horaria es GMT -6. Ahora son las 23:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.