Mi duda es la siguiente:
Quiero sumar las horas de un servicio en un intervalo de fechas. Tengo 2 tablas (obras y personal), no se si se puede hacer mediante un bucle o mediante una sql, lo he probado mediante una sql y no me sale.
Un saludo.
| |||
Ayuda Access Mi duda es la siguiente: Quiero sumar las horas de un servicio en un intervalo de fechas. Tengo 2 tablas (obras y personal), no se si se puede hacer mediante un bucle o mediante una sql, lo he probado mediante una sql y no me sale. Un saludo. |
| |||
Respuesta: Ayuda Access las tablas son: OBRAS: idobras, nombre PERSONAL: idpersonal, horas, fecha, idobras el codigo que he escrito es el siguiente: Dim dbs As Database, qdf As QueryDef, sql As String Me.Cuadro_combinado14.SetFocus servicio = Me.Cuadro_combinado14.Text Me.Fecha_Inicio.SetFocus fecha1 = Me.Fecha_Inicio.Text Me.Fecha_Final.SetFocus fecha2 = Me.Fecha_Final.Text Set dbs = CurrentDb sql = "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] & "#" Set qdf = dbs.CreateQueryDef("consulta-horas", sql) Y quiero que el resultado de la sql guardarlo en un textbox Antes de nada muchas gracias. |
| |||
Respuesta: Ayuda Access No entiendo cuando te refieres a guardar una consulta de seleccion. Poniendo lo que tu me has indicado me da el error: error 2001. Cancelo la operacion anterior Ahora mi codigo lo he escrito asi: Me.Total_Hora_Normal.Value = DSum("Horas", "consulta_horas", "Nombre='" & servicio & "' AND fecha between #" & Format(fecha1, "mm/dd/yy") & "# and # " & Format(fecha2, "mm/dd/yy") & "#") Y no se si lo que te refieres a consulta de seleccion es la siguiente: SELECT Sum([Personal-Obra].Horas) AS horas FROM Obras INNER JOIN [Personal-Obra] ON Obras.IdObra=[Personal-Obra].Obra; Un saludo. Gracias. |
| ||||
Respuesta: Ayuda Access Estas tarbajando con access, no??? Abre una consulta en blanco, ponla en vista sql y copia la consulta: SELECT Sum([Personal-Obra].Horas) AS horas FROM Obras INNER JOIN [Personal-Obra] ON Obras.IdObra=[Personal-Obra].Obra; Guardala y ponle el nombre que uiqreas (en el ejemplo era "Consulta1") Prueba tambien asi: Me.Total_Hora_Normal.Value = DSum("Horas", "consulta_horas", "Nombre='" & servicio & "' AND fecha > #" & Format(fecha1, "mm/dd/yy") & " # and Fecha < # " & Format(fecha2, "mm/dd/yy") & "# ") Un saludo |
| |||
Respuesta: Ayuda Access Me da el error en la linea que me escribiste: Me.Total_Hora_Normal.Value = DSum("Horas", "consulta1", "Nombre='" & servicio & "' AND fecha > #" & Format(fecha1, "mm/dd/yy") & " # and Fecha < # " & Format(fecha2, "mm/dd/yy") & "# ") Pongo el cursor encima y en me.total_hora_normal.value me devuelve nulo. Un saludo |
| ||||
Respuesta: Ayuda Access Puede ser que el dsum no obtenga resultados, por que no hay registros que cumplan las co ndiciones. Usaremos la funcion nz para devolver un 0 en estos casos: Me.Total_Hora_Normal.Value =nz(DSum("Horas", "consulta1", "Nombre='" & servicio & "' AND fecha > #" & Format(fecha1, "mm/dd/yyyy") & " # and Fecha < # " & Format(fecha2, "mm/dd/yyyy") & "# "),0) Un saludo |
| |||
Respuesta: Ayuda Access private sub cmdejecutar_click() Dim servicio As String Dim fecha1 As Date Dim fecha2 As Date servicio = Me.Cuadro_combinado14.Value fecha1 = Me.Fecha_Inicio.Value fecha2 = Me.Fecha_Final.Value Me.Total_Hora_Normal.Value = Nz(DSum("Horas", "consulta1", "Nombre='" & servicio & "' AND fecha > #" & Format(fecha1, "mm/dd/yyyy") & " # and Fecha < # " & Format(fecha2, "mm/dd/yyyy") & "# "), 0) end sub Y esta es la sql (consulta1): SELECT Sum([Personal-Obra].Horas) AS horas FROM Obras INNER JOIN [Personal-Obra] ON Obras.IdObra=[Personal-Obra].Obra; |
| |||
Respuesta: Ayuda Access hola, tengo una duda, estoy haciendo un formato para llenar una factura y en la parte de los conceptos e importes, tengo varios renglones, pero dependiendo lo q se vende se ocupa uno, dos o tres conceptos, mi problema es que si no lleno alguno, me aparece el importe con valor cero, quisiera que si fuese cero, no se mostrara, como le podria hacer. gracias |