Problema de duplicidad de registros en Access

Soy nueva en Access y estoy tratando de hacer un formulario de Pacientes que, antes de guardar, permita calcular la Superficie Corporal. Para esto, tengo dos botones: Calcular Superficie y Guardar. El problema que tengo es que cuando presiono Guardar, me guarda duplicado el registro, como si ejecutase el código dos veces.
El código es el siguiente:
Option Compare Database
Private Sub Comando0_Click()
Dim Mensaje, Estilo, varA, varB, varC, Respuesta
Mensaje = "Los valores de peso y altura deben ser mayores a cero"
Estilo = vbOKOnly + vbInformation + vbDefaultButton1
varA = 0.007184
While (peso < 0) Or (altura < 0)
Respuesta = MsgBox(Mensaje, Estilo)
peso = 0
altura = 0
Wend
varB = peso ^ 0.425
varC = altura ^ 0.725
superficie = varA * varB * varC
End Sub
Private Sub Comando1_Click()
If Not IsNull(peso) And Not IsNull(altura) And Not IsNull(apellido) And Not IsNull(nombre) Then
GUARDAR = "Insert into datosPaciente (fechaAlta,apellido,nombre,peso,altura,superficie) Values(#" & Format(fechaAlta, "MM/dd/yyyy") & "#,'" & apellido & "','" & nombre & "'," & peso & "," & altura & ",'" & superficie & "');"
CurrentDb.Execute GUARDAR
End If

1 Respuesta

Respuesta
1
Si tu formulario tiene como origen del registro la tabla datosPaciente (como, en principio, debería ser) es normal ese funcionamiento puesto que lo que hace ese código es insertar un nuevo registro en la tabla (INSERT INTO...)
Si lo único que deseas es guardar los cambios o el registro activo, te basta con:
DoCmd. RunCommand acCmdSaveRecord
Por cierto... esa declaración de variables es un pelín defectuosa: todas se declaran como Variant (con el consiguiente desperdicio de memoria y trabajo de conversión)
Hola!
Ante todo, muchísimas gracias por la velocidad de la respuesta, estos comandos no los conocía. ¿Tendrás algún link a alguna página interesante sobre esto? Te consulto porque aún me falta hacer la modificación y la baja de los registrosa, por lo que sería ideal poder contar con una buena fuente.
Muchísimas gracias de nuevo!
Saludos,
Los tres links que aparecen en mi firma son, respectivamente:;
- Mi página comercial
- Mi "codigoteca"
- El foro de Access y VBA en español más importante de la red.
En los 2 últimos puedes encontrar abundante información (y links a más información aún)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas