Access - Access - Autocompletar fecha correlativa en cada registro

 
Vista:

Access - Autocompletar fecha correlativa en cada registro

Publicado por Agustin (4 intervenciones) el 13/04/2014 16:59:50
Hola a todos, tengo un problema quiero que la fecha se auto complete en la tabla y no se como hacerlo, o sea lo que quiero es que a medida de que vaya pasando los registros la tabla se complete con respecto a la anterior; por ejemplo: si en el registro 1 tengo la fecha 1/2/2014 en el 2 se tiene que completar con la fecha 2/2/2014 y asi sucesivamente el problema es que no puedo usar la función =hoy() ya que puedo llegar a hacer varios registros en un mismo dia.

espero haberme expresado bien

saludos y gracias
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
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Access - Autocompletar fecha correlativa en cada registro

Publicado por Neckkito (1157 intervenciones) el 13/04/2014 22:21:19
Hola:

Voy a suponer que tu campo de fecha se llama [Fecha], y que tu tabla se llama "Tabla1".

Con estas condiciones, en el evento de formulario "Al activar registro" le generas este código:

...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Current()
        'Declaramos las variables
    Dim laFecha As Variant
        'El código actúa sólo si introducimos un nuevo registro
    If Me.NewRecord Then
            'Miramos cuál fue la última fecha
        laFecha = DMax("Fecha", "Tabla1")
            'Si es nulo aún no se ha introducido ningún registro
        If IsNull(laFecha) Then
                'Le asignamos la fecha de hoy
            Me.Fecha.Value = Date
        Else 'Si no
            'Le asignamos la última fecha más uno
            Me.Fecha.Value = laFecha + 1
        End If
    End If
End Sub
...

Y listos.

Saludos,

http://neckkito.siliconproject.com.ar
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

Access - Autocompletar fecha correlativa en cada registro

Publicado por Agustin (4 intervenciones) el 14/04/2014 01:13:23
Buenisimo, muchas gracias anda a la perfeccion

Ahora una ultima pregunta.

colocando una fecha (ej: 2/4/2014) con el formato hago que me muestre que dia de la semana es (ej: Miercoles) hasta ahi todo va bien. Ahora, como hago yo para establecer una condicion en otro campo de la tabla solo cuando el campo "dia de la semana" sea = a Miercoles.
no se si me explique bien. algo mas grafico

campo 1 = fecha (ejemplo: 2/4/2014)

Campo 2= condicion (ejemplo: si campo 1 = miercoles entonces campo 2 = 20 sino 0)

gracias de nuevo
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
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Access - Autocompletar fecha correlativa en cada registro

Publicado por Neckkito (1157 intervenciones) el 14/04/2014 09:57:29
Ahí va:

...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Current()
 'Declaramos las variables
 Dim laFecha As Variant
 'El código actúa sólo si introducimos un nuevo registro
 If Me.NewRecord Then
 'Miramos cuál fue la última fecha
 laFecha = DMax("Fecha", "Tabla1")
 'Si es nulo aún no se ha introducido ningún registro
 If IsNull(laFecha) Then 'Le asignamos la fecha de hoy
 Me.Fecha.Value = Date
 Else 'Si no
 'Le asignamos la última fecha más uno
 Me.Fecha.Value = laFecha + 1
 End If
 Me.Campo2.Value = IIf((Weekday(laFecha)) = 3, 20, 0)
 End If
End Sub
...

Saludos,

Neckkito
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

Access - Autocompletar fecha correlativa en cada registro

Publicado por Agustin (4 intervenciones) el 22/04/2014 17:54:17
Hola Neckkito estoy tratando de hacer un contador de horas extras, pero tengo un problema con el código, yo lo revise y para mi esta bien, pero no anda, el problema esta en el sabado y el domingo (esta en negrita), por favor lo podes revisar para ver que es lo que tengo mal?
Gracias por todo

Private Sub Form_Current()
'Declaramos las variables
Dim laFecha As Variant

'El código actúa sólo si introducimos un nuevo registro
If Me.NewRecord Then
'Miramos cuál fue la última fecha
laFecha = DMax("Fecha", "Horas 15%")
'Si es nulo aún no se ha introducido ningún registro
If IsNull(laFecha) Then 'Le asignamos la fecha de hoy
Me.Fecha.Value = Date
Else 'Si no
'Le asignamos la última fecha más uno
Me.Fecha.Value = laFecha + 1
End If
Me.HorasNormales.Value = IIf((Weekday(laFecha)) = 3, 10, IIf((Weekday(laFecha)) = 6 Or (Weekday(laFecha)) = 7, 0, 9.5))
End If

'Dia de la semana

If (Weekday(laFecha)) = 1 Or 2 Or 3 Or 4 Or 5 Then
Me.Horas50.Value = IIf(Salida <> " " And Feriado = 0, (((Salida - Entrada) * 1440) / 60) - HorasNormales, 0)
Me.Horas100.Value = IIf(Salida <> " " And Feriado = -1, ((Salida - Entrada) * 1440) / 60, 0)
Else

'Sabado

If (Weekday(laFecha)) = 6 Then
If Feriado = 0 Then
Me.Horas100.Value = IIf(Salida <> " ", (((Salida - #1:00:00 PM#) * 1440) / 60), 0)
Me.Horas50.Value = IIf(Salida <> " ", (((#1:00:00 PM# - Entrada) * 1440) / 60), 0)
Else
Me.Horas100.Value = IIf(Salida <> " ", (((Salida - Entrada) * 1440) / 60), 0)
End If
Else

'Domingo

If (Weekday(laFecha)) = 7 Then
Me.Horas100.Value = IIf(Salida <> " ", (((Salida - Entrada) * 1440) / 60), 0)
Else
Me.Horas100.Value = 0
Me.Horas50.Value = 0
End If
End If
End If
End Sub
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
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Access - Autocompletar fecha correlativa en cada registro

Publicado por Neckkito (1157 intervenciones) el 23/04/2014 16:17:27
Hola!

En primer lugar tienes tu segundo bloque fuera del IF. Eso significa que se ejecuta sea el registro nuevo o estés navegando por nuevos registros. El código que te propongo actúa entero y sólo para nuevos registros.

En segundo lugar el código que estás utilizando es un poco confuso con tantos IF. Te lo he cambiado por uno que creo que es más claro de lectura.

En tercer lugar no dispongo de datos para hacer testeos, por lo que sólo puedo intuir que te va a ir bien.

El nuevo código es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
...
Private Sub Form_Current()
		'Declaramos las variables
	Dim laFecha As Variant
 
		'El código actúa sólo si introducimos un nuevo registro
	If Me.NewRecord Then
			'Miramos cuál fue la última fecha
		laFecha = DMax("Fecha", "Horas 15%")
			'Si es nulo aún no se ha introducido ningún registro
		If IsNull(laFecha) Then 'Le asignamos la fecha de hoy
			Me.Fecha.Value = Date
		Else 'Si no
				'Le asignamos la última fecha más uno
			Me.Fecha.Value = laFecha + 1
		End If
		Me.HorasNormales.Value = IIf((Weekday(laFecha,vbMonday)) = 3, 10, IIf((Weekday(laFecha,vbMonday)) = 6 Or (Weekday(laFecha,vbMonday)) = 7, 0, 9.5))
 
'Dia de la semana
 
		Me.Horas100.Value = 0
		Me.Horas50.Value = 0
		Select Case weekday(lafecha,vbMonday)
			Case 1 To 5
				Me.Horas50.Value = IIf(Salida <> " " And Feriado = 0, (((Salida - Entrada) * 1440) / 60) - HorasNormales, 0)
				Me.Horas100.Value = IIf(Salida <> " " And Feriado = -1, ((Salida - Entrada) * 1440) / 60, 0)
			Case 6 'Sábado
				If Feriado = 0 Then
					Me.Horas100.Value = IIf(Salida <> " ", (((Salida - #1:00:00 PM#) * 1440) / 60), 0)
					Me.Horas50.Value = IIf(Salida <> " ", (((#1:00:00 PM# - Entrada) * 1440) / 60), 0)
				Else
					Me.Horas100.Value = IIf(Salida <> " ", (((Salida - Entrada) * 1440) / 60), 0)
				End If
			Case 7 'Domingo
				Me.Horas100.Value = IIf(Salida <> " ", (((Salida - Entrada) * 1440) / 60), 0)
		End Select
	End if
End Sub
,,,

Saludos,

Neckkito
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

Access - Autocompletar fecha correlativa en cada registro

Publicado por Agustin (4 intervenciones) el 24/04/2014 18:01:08
Gracias Neckkito anduvo a la perfección. muy buenos los ejemplos y los manuales de tu pagina.

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

Pista de Auditoria en Access

Publicado por Anvient (1 intervención) el 14/03/2015 01:20:56
- Buenas noches, disculpen, pero estoy trabajando en un proyecto en access y quiero que al borrar un registro ese mismo registro se guarde en otra tabla para luego poder hacer una consulta, cuando se requiera una Pista de auditoria... No se si me pude explicar bien.... Espero que me puedan ayudar por favor.... Gracias de antemano...
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