Guardar registro por medio de un código en tabla de access

Señores muy buenas noches, reciban de mi parte un cordial saludo. Mi pregunta es la siguiente: Tengo un formulario en access con los siguientes textbox que no están enlazados con ninguna tabla, es decir, son independientes: IdCliente, Cédula, Nombre, Dirección, Teléfono, Fechasis(Fecha automática del sistema) y Horasis(Hora automática del sistema). Cabe anotar que estos mismos campos tiene una tabla llamada Clientes. Lo que quiero es poner en el formulario un botón btnguardar con un código para guardar el contenido de los textbox, después que los guarde limpie los textbox y el foco se dirija hasta cedula. He buscado en internet pero no logro entender con claridad lo que explican. Por favor les agradezco inmensamente su ayuda y que me expliquen que hace cada línea del código para así poder entender mejor. Este procedimiento siempre lo había hecho es con el botón guardar registros de Access.

Respuesta
4

1- Para guardar el registro

Dim Tabla as recordset 'define recordset que guarda el registro
set Tabla=currentdb.openrecordset("clientes") 'abre la tabla en el recordset
tabla.addnew -adciiona registro
tabla!IdCliente=me.IdCliente.value 'debe asignar cada uno de los campos
tabla!nombre=me.nombre.value
.
.
.
tabla.update 'actualiza el registr
Tabla. Close

2-limpiar formulario

'defina funcion en un modulo

Function Limpia_Formulario(Formulario As Form)
Dim Control As Control
    For Each Control In Formulario.Controls
        If TypeOf Control Is TextBox Or TypeOf Control Is ComboBox Then
            Control.Value = ""
        End If
    Next
End Function

y luego lo ejecuta en el formulario

call Limpia_Formulario(Forms!FRM_cliente)

¡Gracias!

Juan muchísimas gracias por tu pronta y efectiva respuesta ya lo ejecute y todo salio bien. Nuevamente un millón de gracias

1 respuesta más de otro experto

Respuesta
1

Otra forma. En el evento al hacer clic del botón puedes poner

docmd.setwarnings false

docmd.runsql"insert into clientes(IdCliente, Cédula, Nombre, Dirección, Teléfono, Fechasis, Horasis)values(" & me.idcliente & ", '" & me.cedula & "', '" & me.nombre & "', '" & me.dirección & "'. " & me.telefono ",date(),Time())"

cedula.set focus

for each control in form.controls.....no sigo porque ya lo han explicado bien.

He supuesto que cédula es texto y teléfono es numérico. Las variables numéricas son comillas simples, si est texto es apostrofe comillas y para cerrar comillas apostrofe.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas