Access - Formulario Independiente

   
Vista:

Formulario Independiente

Publicado por Francisco Javier pipioloss@aim.com (1 intervención) el 10/12/2015 19:37:23
Hola a Todos!

Tengo una pregunta y espero que no se burlen si digo una barbaridad o si al poner mis datos cometo errores, no soy programador, pero he decidido hacer mi propio sistema para punto de venta, he iniciado por ver algunos tutoriales pero me he atorado y aunque ya busque en varias paginas de internet, no hallo la respuesta o quizá no la he entendido, repito nuevamente, no soy programador ni analista.

Tengo una Tabla llamada clientes y he hecho un formulario con el mismo nombre, con los cuadros de texto independientes e incluso en las propiedades del formulario (Datos, Origen del registro) lo he dejado vacio. he colocado cuatro botones de navegacion (Inicio, anterior, siguiente y final) asi tambien los Botones (Nuevo, Guardar, Modificar y cancelar) he logrado que me guarde los registros en dicha tabla en el evento al hacer click en el boton guardar, pro no consigo navegar entre los registros ni tampoco el de modificar. alguien me podria explicar como hacerlo? (Por favor, haganlo con manzanitas para que pueda entenderlo...!)
Este es el codigo que he colocado y aclaro nuevamente, no son mis codigos, he tenido que ir tomando algo de aqui y de aya para hacerlo!

La tabla clientes contiene lo siguiente: Id_Cliente, Cliente, Empresa, RFC, ETC... (todos son cuadros de texto, no he puesto Cuadros combinados para no complicarme mas de lo que ya estoy!)

El Codigo VBA que tengo es el siguiente:

Private Sub CmdNuevo_Click()

Dim i As Control
For Each i In Controls
If i.Name Like "Txt*" Then i = Empty
Next
TxtCliente.SetFocus
CmdGuardar.Enabled = True
CmdNuevo.Enabled = False
CmdModificar.Enabled = False
CmdEliminar.Enabled = False
CmdInicio.Enabled = False
CmdAnterior.Enabled = False
CmdSiguiente.Enabled = False
CmdFinal.Enabled = False

End Sub

Private Sub CmdGuardar_Click()

'Evitamos que haya Cajas de texto vacias
If IsNull(TxtCliente) Or TxtCliente.Value = "" Or IsNull(TxtEmpresa) Or TxtEmpresa.Value = "" Or IsNull(TxtRFC) Or _
IsNull(TxtDireccion) Or TxtDireccion.Value = "" Or IsNull(TxtColonia) Or TxtColonia.Value = "" Or IsNull(TxtCiudad) Or TxtCiudad = "" Or _
IsNull(TxtEstado) Or TxtEstado = "" Or IsNull(TxtTelefono) Or TxtTelefono = "" Or IsNull(TxtFax) Or TxtFax.Value = "" Or _
IsNull(TxtMovil) Or TxtMovil.Value = "" Or IsNull(TxtCorreo) Or TxtCorreo.Value = "" Then
'En caso de que Existan campos Vacios, Envia el sigte. Mensaje
MsgBox "Por Favor Complete Todos Los Campos", vbInformation, " Aceites y Lubricantes"
'Coloca el Focus nuevamente en TxtCliente
TxtCliente.SetFocus
Exit Sub

Else
'Si todo es correcto, esto es si ya todos los campos estan completos, envia el siguinte mensaje
If MsgBox("Esta Seguro que desea guardar al Cliente " & TxtCliente.Value, vbYesNo, "Aceites y Lubricantes") = vbYes Then
'Guarda los datos en la tabla especifica
CurrentDb.Execute ("INSERT INTO Clientes" _
& " (Cliente,Empresa,RFC,Direccion,Colonia,Ciudad,Estado,C_P,Telefono,Fax,Movil,Correo)" _
& " Values (' " & Me.TxtCliente.Value & " ',' " & Me.TxtEmpresa.Value & " ',' " & Me.TxtRFC.Value & " ',' " & Me.TxtDireccion.Value & " '," _
& " '" & Me.TxtColonia.Value & " ',' " & Me.TxtCiudad.Value & " ',' " & Me.TxtEstado.Value & " ',' " & Me.TxtCP.Value & " '," _
& " '" & Me.TxtTelefono.Value & " ','" & Me.TxtFax.Value & "',' " & Me.TxtMovil.Value & " ',' " & Me.TxtCorreo.Value & " ')")
'Envia el mensaje de confirmaion
MsgBox "Registro Guardado Correctamente", vbInformation, "Aceites y Lubricantes"

'Limpia las cajas de texto
TxtCliente.Value = ""
TxtEmpresa.Value = ""
TxtRFC.Value = ""
TxtDireccion.Value = ""
TxtColonia.Value = ""
TxtCiudad.Value = ""
TxtCP.Value = ""
TxtTelefono.Value = ""
TxtFax.Value = ""
TxtMovil.Value = ""
TxtCorreo.Value = ""
TxtCliente.SetFocus
'Llama al Comando "Al Cargar" para volver a Habilitar los Botones "Nuevo, Editar y Eliminar"y
'Deshabilita el Boton de "Guardar
Form_Load

'Endado caso de Seleccionar la Opcion de "NO" en el mensaje "Desea Guardar al Cliente" Simplemente limpia las
'Cajas de texto y pone el foco en TxtCliente
Else
TxtCliente.Value = ""
TxtEmpresa.Value = ""
TxtRFC.Value = ""
TxtDireccion.Value = ""
TxtColonia.Value = ""
TxtCiudad.Value = ""
TxtCP.Value = ""
TxtTelefono.Value = ""
TxtFax.Value = ""
TxtMovil.Value = ""
TxtCorreo.Value = ""
TxtCliente.SetFocus
End If
End If

End Sub

Private Sub CmdInicio_Click()

Recordset.MoveFirst

Me!TxtEmpresa = RS!Empresa
TxtCliente = Recordset.Fields("Cliente")
TxtEmpresa = Recordset.Fields("Empresa")
TxtRFC = Recordset.Fields("RFC")
TxtDireccion = Recordset.Fields("Direccion")
TxtColonia = Recordset.Fields("Colonia")
TxtCiudad = Recordset.Fields("Ciudad")
TxtEstado = Recordset.Fields("Estado")
TxtCP = Recordset.Fields("C_P")
TxtTelefono = Recordset.Fields("Telefono")
TxtFax = Recordset.Fields("Fax")
TxtMovil = Recordset.Fields("Movil")
TxtCorreo = Recordset.Fields("Correo")


End Sub

De antemano mil gracias por tomarse el tiempo y la molestia de leer mi pregunta!
atte.
Fco. Javier
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

Formulario Independiente

Publicado por jose (741 intervenciones) el 12/01/2016 19:56:32
Hacer formularios independientes es muy bonito y se tiene un mayor control si cabe sobre el formulario.

Pero dados tus bajos conocimientos en programación, aprovechate de los formularios y campos de texto vinculados a tablas o datos de las mismas.


y de esa forma podrás ir para adelante, atras , crear nuevos registros, modificarlos y borrarlos, sin escribir una sola linea de codigo

esa es la idea de access y donde su potencia te resuelve facilmente las aplicaciones

además existe una aplicacion que es ka del asistente de formularios , que con ella no tienes que hacer ya nada de nada , el te crea el formulario sobre la tabla o consulta que desees, incluyendote todos los campos
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