Access - Ayuda con INSERT INTO

   
Vista:

Ayuda con INSERT INTO

Publicado por Tita (33 intervenciones) el 28/11/2012 15:02:42
Hola a tod@s,
Hace tiempo hice una aplicación en access que gestiona el absentismo de mi empresa. Ahora surgieron nuevas necesidades que supondrian una remodelación de toda la BD.
Estoy intentando hacer un workaround para no tener que rehacerla.

Para ello, necesito hacer una inserción mediante código cuando se cumplan ciertas condiciones. Os detallo:

Tengo una form ABSENTISMO y una tabla ABSENTISMO que guarda los datos introducidos en el form. Entre otros datos, tenemos los siguientes campos:
* ID, NAME, AP1, AP2, DNI, F_BAJA, F_ALTA, H_AUSEN

Además, tengo un botón que me busca todos los trabajadores que están de baja (F_BAJA<>NULL y F_ALTA=NULL)

Lo que necesito es que después de actualizar el campo H_AUSEN en el form y si F_ALTA=NULL, se inserte un nuevo registro en la tabla ABSENTISMO cuyos valores para los campos citados (NAME, AP1, AP2, DNI, F_BAJA, F_ALTA, H_AUSEN) sean los mismos que los del registro actual. El campo ID (PrimaryKey de la tabla ABSENTISMO) deberá ser igual al valor del último registro de la tabla ABSENTISMO +1.

Por favor, podéis ayudarme?? Es muy importante.

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

Ayuda con INSERT INTO

Publicado por Tita (33 intervenciones) el 29/11/2012 10:51:56
Gracias a todos los que hayáis intentado ayudarme.
Finalmente he conseguido resolver el problema. Os dejo el código por si le sirve a alguien:

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
40
41
42
43
44
45
46
47
48
49
Private Sub DIAS_B_AfterUpdate()
 
Dim dbs As Database
Dim mr As Recordset
Dim mirow As String
 
Dim fb, fa As Date
Dim pk As Integer
 
pk = Me.ID.Value
Set dbs = CurrentDb
mirow = "select * from [ABSENTISMO] where NIF= & Me.NIF& And ID = " & pk
Set mr = dbs.OpenRecordset("select * from ABSENTISMO")
 
fb = Me.F_BAJA.Value
 
If IsNull(fb) Then Exit Sub
If fb Then
    If IsNull(Me.F_ALTA) Then
        mr.MoveLast
        pk = mr!ID.Value
        mr.AddNew
        mr!NIF = Me.NIF.Value
        mr!APELLIDO1 = Me.APELLIDO1.Value
        mr!APELLIDO2 = Me.APELLIDO2.Value
        mr!NOMBRE = Me.NOMBRE.Value
        mr!ID_TRABAJADOR = Me.ID_TRABAJADOR.Value
        mr!ID_EMPRESA = Me.ID_EMPRESA.Value
        mr!DPTO = Me.DPTO.Value
        mr!AREA = Me.AREA.Value
        mr!T_CONT = Me.T_CONT.Value
        mr!FECHA = Me.FECHA.Value
        mr!N_CONT = Me.N_CONT.Value
        mr!BAJA = Me.BAJA.Value
        mr!IN_ITIN = Me.IN_ITIN.Value
        mr!F_BAJA = Me.F_BAJA.Value
        mr!TIPO_LES = Me.TIPO_LES.Value
        mr!ZONA_LES = Me.ZONA_LES.Value
        mr!F_CONTACT = Me.F_CONTACT.Value
        mr!RECAIDA = Me.RECAIDA.Value
        mr!OBSV = Me.OBSV.Value
        mr!ID = pk + 1
        mr.Update
        mr.Close
        Set mr = Nothing
    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

Ayuda con INSERT INTO

Publicado por jose (741 intervenciones) el 29/11/2012 13:35:42
http://www.lawebdelprogramador.com/foros/Access/1351833-Uso_correcto_del_Recordset.html
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