Access - Guardar datos de formulario independiente

   
Vista:

Guardar datos de formulario independiente

Publicado por Raúl Durán (3 intervenciones) el 02/02/2016 15:20:17
Estimados,

Soy basico en esto, necesito agregar un Boton a un formulario independiente, que me guarde estos datos en alguna tabla..... como lo debo hacer??, o cual es el codigo a introducir en el botn?

Saludos.
Raúl.
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

Guardar datos de formulario independiente

Publicado por Enrique Heliodoro (1663 intervenciones) el 02/02/2016 20:39:54
Sinceramente creo que lo primero y mas elemental, es estudiar 'para que sirve Access', porque esa pregunta es abstracta en si misma.

Normalmente los datos se guarden en las tablas y 'también normalmente' se utilizan formularios para interactuar con ellas (y como el formulario y la tabla 'forman un conjunto') los datos se guardan solos.

La introducción de datos mediante un formulario independiente también es factible, pero solo se hace cuando las condiciones asi lo exigen y requiere un poco mas de nivel que el de los primeros pasos.

No es un buen método de aprendizaje el imponerse metas muy altas (es como desear avanzar en la alimentación de un infante y dale un filete a un niño de pecho .... comerá filetes cuando este preparado para digerirlos, antes le darán mas problemas que beneficios)
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

Guardar datos de formulario independiente

Publicado por Raúl Durán (3 intervenciones) el 02/02/2016 20:53:37
Estimado,

Entiendo su argumento, me explique mal.... mi nivel de access no es " Tan Basico" si entiendo para que sirve un formulario y como interactua con una tabla. Lo que quiero solucionar al guardar datos de un formulario independiente a una tabla, es que los datos se guarden automaticamente...... me ha pasado con planillas que tengo trabajando que los usuarios ingresan un par de datos se arrepiente o se salen y estos quedan guardados.....
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 douglas

Guardar datos de formulario independiente

Publicado por douglas (280 intervenciones) el 02/02/2016 22:44:41
Para eso tendrías que poner el evento en datos no guardados una advertencia procederá a modificar los archivos desea continuar
si o no

si le dan así abres a modificar y si no sigue en solo lectura

Igual si no sabes cómo va me pides ejemplo

mejor lo explico de una esto lo pones en el evento en datos no guardados

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'diseño: Douglas M
 
   If Not Me.NewRecord Then
        Respuesta = MsgBox("Va a proceder a modificar el registro" & vbCrLf & _
                            "Cualquier cambio sera guardado directamente" & vbCrLf & vbCrLf & _
                    "¿Desea continuar?", vbQuestion + vbYesNo, "DATOS MODIFICADOS")
        If Respuesta = vbNo Then
            Cancel = True
        Else
            ' tomo el nombre de usuario para guardarlo luego en una base.
            If Nz(NomTecnicoModificacion, "") = "" Then
                NomTecnicoModificacion = Environ("USERNAME")
            End If
            ´Realizo los cambios en la tabla de control de cambios.
            sSql = "INSERT INTO TablaModificaciones (NumRegistro,NomTecnico,FechaModificacion) "
            sSql = sSql & " VALUES (" & Me.Npedido & ",'" & NomTecnicoModificacion & "'," & Str(CDbl(Now())) & ")"
            CurrentDb.Execute sSql
            'Me.SubFormUltimaModificacion.Requery
 
        End If
    End If

Espero que sea claro a veces hablo en chino
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

Guardar datos de formulario independiente

Publicado por Enrique Heliodoro (1663 intervenciones) el 02/02/2016 23:17:10
La independencia y el automatismo son conceptos antagónicos.

Lo que se puede hacer es añadir un botón en el formulario con la orden de guardar el registro, esto es, que solo se guarde al pulsar el botón específicamente creado para ello:
DoCmd.Runcommand AcCmdSaveRecord

En el formulario y en su evento 'antes de actualizar' se destruyen los cambios que hubiere en el formulario (si se guardo antes, esto solo destruiría los cambios posteriores), la 'orden' es tan sencilla como:
If Me.Dirty Then Me.Undo

Si se utiliza un formulario independiente, lo anterior no se puede aplicar, con los formularios independientes (y a golpe de botón) se utilizan consultas de actualización, como el formulario no tiene origen de datos (es independiente) no funcionaria el evento 'antes de actualizar' dado que nada hay que actualizar (es INDEPENDIENTE).

Espero que esto aclare (te aclare) algo sobre como funciona un formulario.
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 douglas

Guardar datos de formulario independiente

Publicado por douglas (280 intervenciones) el 02/02/2016 23:55:03
Interesante Enrique

Pero un cosa seguro que si funciona en el evento antes de actualizar?

ese comando yo solo lo puedo aplicar en un if THEN
SI Y NO

las dos son simples y sencillas
la mía evita dedados la tuya des corrige
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

Guardar datos de formulario independiente

Publicado por Enrique Heliodoro (1663 intervenciones) el 03/02/2016 09:25:00
Dirty es una variable del formulario (a modo de bandera) que devuelve un valor de tipo Booleano y sirve como indicador de si se produjeron cambios en el formulario (cambios con respecto a los datos de origen: la tabla).
Al guardar el registro (con la orden especifica) esta variable se pone a cero (se iguala el origen con su presentación en el formulario)

Si a un formulario en el que no se produjeron modificaciones se le manda la orden de deshacerlos dará error (a Access no le gusta trabajar de forma inútil)

Tenemos por una parte al valor booleano (un true/false) (en la practica y en Access cero y diferente de cero, true puede ser 'cualquier valor' que no sea cero y este en el rango que soporta la variable, creo recordar que es un 'long')

Tenemos una orden (deshacer cambios)
Tenemos un evento
Tenemos un marcador

Le 'decimos ' lo que deseamos:
Si hubo cambios ==> destrúyelos
Si NO hubo cambios ==> Ignora la orden

IF Me.Dirty Then Me.Undo

(una libre traducción)
Si es verdad ==> ejecuta la orden

¿Qué tienes dudas de si funciona? ...
Puedes 'forzar' la comparación:
If Me.Dirty = True Then Me.Undo

Asi también vale (es que lo de true y false es ... estética pura y dura)
If Me Dirty <> 0 Then Me. Undo


Y todas aquellas que tu imaginación alcance (y sean secuencias razonablemente lógicas)
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