Access - Como agrego registros

 
Vista:

Como agrego registros

Publicado por sruedat (28 intervenciones) el 11/09/2002 14:39:08
Hola, quiero recojer los datos de un formulario y guardarlos en una tabla (sólo guardo si se cumplen ciertas condiciones que compruebo con código).
he puesto:
Dim tabla As Recordset
Set tabla = CurrentDb.OpenRecordset(nombreTabla, 1)
if Me.Solución = Respuesta Then
Preguntas_Acertadas = Preguntas_Acertadas + 1
With tabla
.AddNew
!Pregunta_y_respuestas = Me.Pregunta_y_respuestas
!Dónde = Me.Dónde
Tema = Me.Tema
Test_de_Procedencia = Me.[Test procedencia]
Solución = Me.Solución
!Respuesta = Respuesta
.Update
.Bookmark = .LastModified
End With
tabla.Close

El caso es que no da ningún error pero no guarda ningún dato en la tabla. En que me estoy equivocando. Mil 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

RE:Como agrego registros

Publicado por leo (343 intervenciones) el 11/09/2002 22:30:19
te recomiendo que uses nombres mas cortos, tanto para los controles como para los campos, Ej. en vez de Prehuntas_y_Respuestas, si fuese un campo, simplemente ponle PregYResp, sin guion bajo ni nada que moleste a la hora de usar SQL, y en los cuadros de textos podrias anteponerle prefijo txt EJ. txtPregYResp, entonces de ese modo despues de Me. van a aparecer todos los cuadros de textos ordenado por abecedario, lo mismo con los botones de comando etc.. Ej: cmdCerrar. esto por un lado, por otro lado te muestro tu funcion
Dim tabla As Recordset
Set tabla = CurrentDb.OpenRecordset(nombreTabla, 1)
if Me.Solución = Respuesta Then
Preguntas_Acertadas = Preguntas_Acertadas + 1
With tabla
.AddNew
!Pregunta_y_respuestas = Me.Pregunta_y_respuestas
!Dónde = Me.Dónde
Tema = Me.Tema
Test_de_Procedencia = Me.[Test procedencia]
Solución = Me.Solución
!Respuesta = Respuesta
.Update
.Bookmark = .LastModified
End With
tabla.Close
yo la haria de la siguiente manera
Function Guardar ´Llamarías a la funcion simplemente con el Nombre, osea Guardar, abajo esta la funcion, sin condiciones, simplemente al ejecutarla guarda los datos
Dim base as database
Dim tabla as recordset
Set base = CurrentDB}
Set tabla = base.OpenRecordset("NombreTabla",dbOpenDynaset) ´Para poder modificarla por completo
tabla.AddNew
campos a guardar
Dónde = Me.Dónde ´Y los que quieras guardar
tabla.close
base.close
Set base = nothing
ya está la funcion terminada, lo único que te quedaría es ponerle en el boton Guardar las condiciones para que guarde o no y otra funcion para
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