Guardar desde cuadro combinado a varios campos en una tabla

por mas que pruebo y hago cambios no logro que se guarden los datos en los campos solicitados, explico: tengo una tabla empleados con varios campos del empleado y un formulario que se ve desde una consulta la cual viene de la tabla lo que hice fue desde el cuadro combinado (cboape) en el formulario traigo solo las columnas de nombre, apellido, tlf, etc, para no tener que escribir de nuevo toda esa información a la hora de hacer la planilla de pago al empleado mensualmente pero me funciona bien, desde el combo combinado busco los datos y me los coloca en cada campo de texto en los cuales van en el formulario pero a la hora de que me guarde esos datos en la tabla empleados solo me guarda el apellido y los datos salariales lo demás me lo deja en blanco pero en el formulario se ve todo bien, es solo en la tabla y en la consulta que no se ven esos datos que llamo desde el cuadro combinado a cada cuadro de texto con esta función =[cboape].[column](2) 

Si necesitan mas información me avisan por favor y agradecido por la ayuda prestada

1

1 respuesta

Respuesta
2

En mi opinión, y desde el punto de vista de una base de datos relacional, lo que quieres hacer es un error: si ya tienes los datos en una tabla no es necesario guardarlos en otra, pues estás duplicando la información, lo que hace tu Bd menos efectiva. Por medio de las relaciones, consultas y funciones, puedes mostrar esa información siempre que la necesites ( como ya haces) sin necesidad de duplicarla.

Ahora bien, si lo quieres hacer, así es cómo puedes:

1/ borra de tus cuadros de texto todos los =[cboape].[column](2) y similares 

2/ en el evento "después de actualizar" de tu cuadro combinado, generas un "procedimiento de evento" y en él escribes:

Me.Nombres=Me.cboape.column(2)

Me.dni=Me.cboape.column(3)

Y así todos los cuadros de texto.

Claro tienes razón en lo de la duplicidad de datos pero así lo quieren porque mes a mes se carga de nuevo la planilla de empleados pero lo único que cambia es el salario y los datos del empleado siguen igual solo que si en el mes tuvo un bono de mas u otros descuentos es lo nuevo que se calcula pero nombre, apellido, cargo, etc sigue siendo igual por eso quería que si el 31/07/2018 se hizo la planilla de pago de todo el personal el 31/08/2018 se realiza la planilla para todos los empleados nuevamente y así cuando por ejemplo en marzo del 2019 quieren buscar las planillas de empleado del mes de noviembre del 2018 no hay problema porque las filtro por fecha y allí van a estar el problema que tengo ahorita es ese que no me guarda los datos personales solo me esta guardando los datos del salario lo único que no me guarda son los campos independientes que es donde están los datos del empleado y quería buscarlos así con un cuadro combinado para no escribirlos de nuevo cualquier duda me avisas por favor

Pues ya te dije cómo has de hacerlo en mi anterior respuesta... pero te lo repito:

Ahora bien, si lo quieres hacer, así es cómo puedes:

1/ borra de tus cuadros de texto todos los =[cboape].[column](2) y similares 

2/ en el evento "después de actualizar" de tu cuadro combinado, generas un "procedimiento de evento" y en él escribes:

Me.Nombres=Me.cboape.column(2)

Me.dni=Me.cboape.column(3)

Y así todos los cuadros de texto.

Si es que así lo hice pero no me guarda solamente los que dicen campos independientes los demás si me los guarda en la tabla empleados

Prueba a poner como origen de control de los campos independientes los campos en los que quieres que te guarde. Es decir, donde antes tenías lo de =[cboape].[column](2), pon Nombres, DNI...

Ahhhh ok osea hago lo que me dijiste de primero y después en cada control donde esta el origen de control coloco =Nombre, =DNI uno en cada control donde corresponda pruebo y te aviso gracias

Correcto, así los cuadros de texto quedan vinculados a la tabla, y con el código los rellenas con los valores correspondientes a lo seleccionado en el cuadro combinado

Amigo ahora si lo hace pero no me graba el apellido y cuando le coloco la misma línea al apellido entonces no me deja colocar ninguno como sale en la imagen

Porque al apellido no tenías que hacerle nada, estaba bien como al principio

Si pero si lo dejo normal entonces no me graba el nombre de apellido me lo deja en blanco como la imagen

Vamos a ver, cuando planteaste la pregunta, el apellido te lo guardaba: eso es que lo tenías bien al principio. Por tanto solo has de dejarlo como estaba... no tienes que darle valor por código ni nada

Exacto pero ahora no se porque me guarda todo menos el apellido así como sale en la imagen que te puse que ya salen los datos menos el apellido

El único que veo que esta como independiente es el apellido y creo que por eso no me lo guarda en la tabla pero los demás si me los guarda

Me parece que no te acabas de aclarar con lo que te digo...

En el texto inicial de tu consulta, en la primera imagen ¿el cuadro combinado Apellidos era independiente (ponía Independiente)? No, ponía Apellidos, lo que significa que toma y guarda los datos del campo Apellidos de la tabla. Pues eso es lo que tienes que hacer, ni más ni menos (dejarlo como lo tenías al principio)

Ok perfecto así lo voy a hacer cualquier cosa te aviso muchas gracias amigo me sirvió mucho tu ayuda gracias

¡De nada!

Hola como estas disculpa estoy ya en la ofic y estoy probando lo que me dijiste y ya todo va bien pero ahora cuando navego por los registros el cuadro combinado osea apellidos no navega, se queda pegado en un solo nombre y ya le puse en cargar registro y en después de actualizar Me.cboApe.Requery y nada no se mueve de allí, que podría ser y aparte aun no me guarda el apellido que sale desde el mismo cuadro combinado cono se muestra en la imagen

ves que en la ultima fila solo falta el apellido

Y alli esta el cuadro combinado el que no me guarda el apellido en la tabla, los demás datos si ya los guarda con lo que me dijiste que hiciera

Y seguimos con lo mismo otra vez...

Si el cuadro de texto, combinado... pone Independiente (como el combinado de apellidos de tu imagen), NUNCA va a guardar datos en la tabla a menos que lo hagas por código (y no es tu caso). Como ya te dije en mis tres respuestas anteriores, has de ponerle Apellidos, igual que para el campo fecha tienes Fecha, o para el Código de empleado tienes Id_Empleado. Y es lo mismo que tenías en un principio, y si no me crees, mira de nuevo tu primera imagen... (y además, te la pongo aquí):

Claro pero es que cuando le pongo apellidos al cuadro combinado me sale un error mira que lo voy a poner en una imagen para que veas

M

Fíjate que en la imagen 2 esta apellidos bien hasta alli pero en la imagen 1 cuando busco el apellido no me lo muestra si no la fecha de ingreso y busco en todas las columnas y la única que no me muestra es apellidos

Es más cuando le pongo apellidos al cuadro combinado y creo un nuevo registro, abro el cuadro combinado y coloco cualquier apellido ya no me llena los otros cuadros de texto que locura esto de pana je je

Amigo ya vi donde esta el error y era mio en una fecha ya lo resolví de verdad muchas gracias por la ayuda de verdad me ayudaste bastante con esto que ya me estaba dando bastante dolores de cabeza ja ja gracias de verdad

Ya decía yo que ahí no podía estar el error. Me alegra ver que fuiste capaz de encontrarlo y solucionarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas