Código para sumar 1 a un campo.

Tengo una macro en access que mediante un botón en un formulario, calcula los días hábiles en una tabla en el campo D_HAB pero necesito que después de calcular los días, al resultado le sume 1 en el mismo campo y me gustaría hacerlo con el código pero la verdad no se como podría hacer.

2 Respuestas

Respuesta
1

Este como que seria el Código en el Botón (no se si entendí bien tu duda).

Private Sub Command4_Click()
Dim dias_naturales As Integer
Dim mifecha As Date

Me.D_HAB = 0
dias_naturales = DateDiff("d", Me.f_ini, Me.f_fin) + 1
mifecha = Me.f_ini
For a = 1 To dias_naturales Step 1
    If Weekday(mifecha, vbSunday) <> 1 And Weekday(mifecha, vbSunday) <> 7 Then
        If DLookup("Dia", "DiasDescanso", "Dia = #" & mifecha & "#") Then
        Else
            Me.D_HAB = Me.D_HAB + 1
        End If
    End If
    mifecha = DateAdd("d", a, Me.f_ini)
Next a

DoCmd.RunSQL "UPDATE Empleado SET Empleado.D_HAB = " & (Me.D_HAB + 1) & ", Empleado.F_INI = #" & Me.f_ini & "#, Empleado.F_FIN = #" & Me.f_fin & "#;"

End Sub

Ej.

https://drive.google.com/file/d/1UtTOGsSnF13HId1CyYtVHHyO5DoEdr-o/view?usp=sharing 

Buenas tardes Uliser, gracias por la ayuda pero anexo el código actual para ver si de pronto es más fácil agregar solo la opción de sumar 1 al campo.

Dim db As Database
Dim rs As Recordset
Dim vFecha As Date
Dim var As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Select FECHA_RECEP, F_HOY, D_HAB from tabla_bitacora")
Do While Not rs.EOF
var = 0
vFecha = rs!FECHA_RECEP
Do While vFecha < rs!F_HOY
If Weekday(vFecha, 0) <> 6 And Weekday(vFecha, 0) <> 7 Then
If IsNull(DLookup("[DIA_FESTIVO]", "[FESTIVOS]", "[DIA_FESTIVO]=cDate('" & vFecha & "')")) = True Then
var = var + 1
End If
End If
vFecha = vFecha + 1
Loop
rs.Edit
rs!D_HAB = var
rs.Update
rs.MoveNext
Loop

en esta parte me gustaría decirle que le sume 1 a la información del campo D_HAB.

"D_HAB +1"

End Sub

Este fue el código que encontré en un principio. mil gracias...

Dim db As Database
Dim rs As Recordset
Dim vFecha As Date
Dim var As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Select FECHA_RECEP, F_HOY, D_HAB from tabla_bitacora")
Do While Not rs.EOF
var = 0
vFecha = rs!FECHA_RECEP
Do While vFecha < rs!F_HOY
If Weekday(vFecha, 0) <> 6 And Weekday(vFecha, 0) <> 7 Then
If IsNull(DLookup("[DIA_FESTIVO]", "[FESTIVOS]", "[DIA_FESTIVO]=cDate('" & vFecha & "')")) = True Then
var = var + 1
End If
End If
vFecha = vFecha + 1
Loop
rs.Edit
rs!D_HAB = var + 1 'Segun yo aqui sumale el 1
rs.Update
rs.MoveNext
Loop

Respuesta
2

Puedes hacerlo de muchas formas, todo depende de cuando y donde calculas los días hábiles. Al no saberlo, en el evento Al recibir el enfoque del cuadro de texto D-Hab puedes poner

D_hab=D_Hab+1

Pero ya te digo que se debería hacer en la instrucción en que calculas esos días. Por ejemplo, en el código del botón le digo que el valor del cuadro de texto sea igual a 17 y luego en el evento Al recibir el enfoque le digo que le sume uno, con lo que debería aparecer 18

Si pulso el botón

El código es

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas