Guardar datos en base de datos

Estoy haciendo un sistema para medir el desempeño de donde estoy laborando. Lo que tengo asta ahorita es un formulario en cual tengo un cuadro combinado para selección un valor en especifico y a través de ese se llenan más cuadros de texto, y el usuario tiene que llenar cierta información de acuerdo a la opción que escogió, como le hago para guardar los datos que se introdujeron ene el formulario dentro de una base de datos, es decir lo que se selecciona en el cuadro combinado, lo que se despliqega de acuerdo a la opción y lo que el usuario introduce

1 respuesta

Respuesta
1
En mí página web:
http://angelessebas.es/
En el apartado formularios, supuesto: Formulario para insertar datos en una tabla, tengo varias formas de hacerlo.
Cualquier duda, no dudes en consultarme.
Me cuentas.
Ne entendí muy bien la sentencia:
DoCmd.RunSql "Insert Into Pedidos (Pedido, FechaEntrada, Cantidad) Values ('" & Form!txtPed.Value & "', cDate('" & Form!txtFecha.Value & "'), " & Form!txtCant.Value & ")"
Por ejemplo yo en el formulario de nombre rnt_trimestral, tengo un cuadro de texto llamado : txt_resp y lo que contiene quiero insertarlo en la tabla llamada evaluacion_trimestral en el campo: resp_medicion. Lo he hecho y me marca un error:
DoCmd.RunSQL "Insert Into evaluacion_trimestral(resp_medicion)Values ('" & rnt_trimestral!txt_resp.Value & "')"
Diciendo que la variable: rnt_trimestral no se ha definido, ¿qué es lo que estoy haciendo mal?
De todas maneras seguiré intentando con las otras opciones que mencions ent u ejemplo
Gracias
Forms es la colección de formularios de una BD y Form el objeto formulario en el que estamos, al poner Form! TxtPed. Value lo que estamos haciendo es referir el cuadro de texto txtPed al formulario en el que estamos es ese momento. Si quieres poner el nombre del formulario (no hace falta, ya que estás en él. Esto se haría para referirnos a un cuadro de texto de otro formulario) pondrías:
Forms!rnt_trimestral!txt_resp.Value
Es decir referimos el cuadro de texto txt_resp al formulario mt_trimestral de la colección Forms
Total que tanto Form como Forms son palabras restringidas de access para referirse al objeto formulario o a la colección de formularios respectivamente.
No se si me he explicado, me cuentas.
Disculpa mi ignorancio pero sigo con una advertencia que me dice que se va acrear una nueva fila y le doy clic en si y se abre otro cuadro de dialogo que incdica otras cosas y le doy en continuar y no se guarda nada
estoy usando la sig. sentencia: DoCmd. RunSql "Insert Into evaluación_trimestral (resp_medicion) Values ('" & Form! txt_resp. Value & "')"
y si uso :
Dim db As database
Dim rs As recordset
Set db=Currentdb
Set rs=db.OpenRecordset("Pedidos")
rs.AddNew
rs!Pedido=Form!txtPed.Value
rs!FechaEntrada=Form!txtFecha.Value
rs!Cantidad=Form!txtCant.Value
rs.Update
Obviamente sustituyendo por lo que tengo en mi formulario y en mi bd
me sale lo mismo
cual crees que es el problema
Para quitar los mensajes se pueden utilizar 2 métodos, uno que sea definitivo, es decir se hace en las propiedades del propio access y actuaria sobre TODAS las BD que crees con ese access.
Sería: Herramientas ---> Opciones ---> Pestaña Modificar/Buscar ---> Confirmar: aquí crearías o deschequearias lo que quieras (Yo las eliminaciones de documentos las dejaría chequeadas, por si hay algún despiste y borras alguna tabla, consulta... etc
El 2º método actúa unicamente sobre el código que estás ejecutando, puedes activar o desactivar a tú gusto los mensajes. Se hace con el método SetWarnings, si es falso desactivas, verdadero activas. Para ejecutar un método como siempre con DoCmd.
En tú caso, por ejemplo para el 2º código sería:
DoCmd.SetWarnings False
Set rs=db.OpenRecordset("Pedidos")
rs.AddNew
rs!Pedido=Form!txtPed.Value
rs!FechaEntrada=Form!txtFecha.Value
rs!Cantidad=Form!txtCant.Value
rs.Update
DoCmd.SetWarnings True
Es decir, quitas los mensajes ---> se ejecuta el código ---> activas los mensajes
Para lo otro ¿me puedes decir que "otras cosas" te indica. Tiene toda la pinta de ser un mensaje de error y si no me dices cual, difícilmente te puedo ayudar.
Me cuentas.
MUCHAS GRACIAS POR TU AYUDA YA PUEDO GUARDAR DATOS, pero si le doy más clicks a guardar se gusrda la misma información una y cientos de veces, como le puedo acer para que me aparezca que ese campo ya esta lleno y necesito llenar los demás que faltan
Ahora con eso mismo al abrir el formulario y mostral los diferentes opciones del cuadro combinado, que se muestren los datos isetrtados por el susuario pero que no las pueda modificar, es decir solo de lectura, y que pueda seguir llenando los demás aspectos que restan
Para comprobar si un registro ya existe en la tabla tendrá que tener uno o la unión de varios campos que lo identifiquen inequívocamente.
¿Qué campo o campos tienes para identificar, inequívocamente, un registro?
Me cuentas.
Por ejemplo tengo en i tabla de nombre: evaluacion_trimestral el campo:primer_trimestre y en el formulario de nombre:rnt_trimestral el textbox:realizado_1, que es el campo en donde el usuario inserta cuanto es lo que realizo en ese trimestre
Lo que te quiero decir es que para saber si un registro está ya insertado (que es lo que tendremos que hacer para que no se duplique) tendremos que ver si ya existe y para ver esto tendremos que tener uno o varios campos que lo identifiquen.
Por ejemplo, supón que tienes una tabla de nombres y no quieres que se repitan, si tenemos un campo CIF este sería la clave ya que el CIF es único por nombre. Pero por ejemplo, tenemos una tabla donde insertamos las personas que van a un sitio en un año. Entonces el CIF no nos serviría porque la misma persona puede ir en años distintos, en este caso la clave sería la unión del CIF y el Año.
No se si me explico, lo que necesitamos es un campo o la unión de varios que no se puedan repetir en otro registro.
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas