Access - COPIAR REGISTRO DE UNA TABLA A OTRA

 
Vista:
Imágen de perfil de Angelica

COPIAR REGISTRO DE UNA TABLA A OTRA

Publicado por Angelica (3 intervenciones) el 01/07/2016 23:50:47
HOLA A TODOS... LES ESCRIBO PARA VER SI ME PUDIERAN HACER EL FAVOR DE AYUDARME.

Tengo una tabla que se llama OPERADORES que tiene los campos: NOMBRE, EDAD, LUGAR DE TRABAJO, SEXO, NIVELGLUCOSA, NIVELCOLESTEROL, NIVELTRIGLICERIDOS, etc. Esta tabla concentra todos los datos de las personas que se le realizan examenes medicos.

Otra tabla se llama HISTORIAL donde a partir del NOMBRE, con ayuda de un formulario, introduzco valores de los examenes de NIVELGLUCOSA, NIVELCOLESTEROL, NIVELTRIGLICERIDOS. etc. Esta tabla, como su nombre lo dice, almacena los datos de examenes que se le hace a determinada persona (pueden ser varios a la misma persona).

Mi duda es, como hacer que, cuando yo meto valores en mi formulario de HISTORIAL, por ejemplo NIVELGLUCOSA = 95, este mismo valor (95) también se copie a la tabla OPERADORES en el campo NIVELGLUCOSA, asociado con el nombre de la persona que le hice el examen medico en ese momento. Así cada que yo hago un examen de NIVELGLUCOSA a determinada persona, siempre la tabla OPERADORES muestre el valor mas reciente.

He estado viendo en tutoriales, y esto es lo mas que pude hacer en VBA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim BBDD As Database
Dim HISTORIAL As RecordSet
Dim OPERADORES As RecordSet
Dim VId As Integer
VId=NOMBRE
Set BBDD=CurrentDb
Set HISTORIAL=BBDD.OpenRecordset (" SELECT * FROM HISTORIAL WHERE NOMBRE = " & VNOMBRE )
If Not HISTORIAL.EOF Then
     Set OPERADORES=BBDD.OpenRecorset ("OPERADORES")
     OPERADORES.AddNew
     OPERADORES!NOMBRE=HISTORIAL!NOMBRE
     HISTORIAL!NIVELGLUCOSA=HISTORIAL!campo1
     OPERADORES.Update
     OPERADORESClose
End If
HISTORIAL. Close
BBDD. Close

Mi base de datos ya está casi terminada, solo me falta ese gran detalle.
Les agardecería mucho su valiosa ayuda.
Angélica Miriam <3
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

COPIAR REGISTRO DE UNA TABLA A OTRA

Publicado por Neckkito (1157 intervenciones) el 15/07/2016 15:49:13
Hola!

Prueba con esto en el evento "Después de actualizar" del control del formulario (por ejemplo, NIVELGLUCOSA):

Private Sub...

If isnull(me.NIVELGLUCOSA) or isnull(me.NOMBRE) then exit sub

currentdb.execute("UPDATE OPERARADORES SET NIVELGLUCOSA=" & me.NIVELGLUCOSA & " WHERE NOMBRE='" & me.NOMBRE & "'")

end if

end sub

Ojo. El código anterior da por supuesto que el campo NIVELGLUCOSA es de tipo numérico, y que el campo NOMBRE es tipo texto. Si no fuera así me dices de qué tipo es el campo y lo volvemos a mirar.

Un saludo,

Neckkito
http://bit.ly/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
Imágen de perfil de Angelica

COPIAR REGISTRO DE UNA TABLA A OTRA

Publicado por Angelica (3 intervenciones) el 18/07/2016 02:11:38
Hola, gracias por responder, pero el campo NOMBRE es de tipo numerico, ya que busca el nombre a partir de OPERADORES, NIVEL GLUCOSA es de tipo TEXTO ya que a veces agrego texto o algun simbolo.
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

COPIAR REGISTRO DE UNA TABLA A OTRA

Publicado por Neckkito (1157 intervenciones) el 18/07/2016 08:07:49
1
2
3
4
5
6
7
8
9
Private Sub...
 
If isnull(me.NIVELGLUCOSA) or isnull(me.NOMBRE) then exit sub
 
currentdb.execute("UPDATE OPERADORES SET NIVELGLUCOSA='" & me.NIVELGLUCOSA & "' WHERE NOMBRE=" & me.NOMBRE")

end if

end sub

Pues ahí está. A ver si te va bien.

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