Actualización de formulario en Access
Tengo un formulario en access el cual hace un búsqueda a los valores de una tabla y me lo regresa en un campo de lista, yo quisiera que ese búsqueda lo salvara directaemente en el registro que le corresponde en el formulario ya que el resultado lo manda en el formulario y lo tienen que seleccionar para que se guarde en la base de datos, ya intente cambiándolo a cuadro combinado y pasa lo mismo
Agradecer cualquier orientación
Agradecer cualquier orientación
1 Respuesta
Respuesta de fibonnaci
1
1
fibonnaci, Reparación electronica ,electricidad ,automoviles y maquinaria en...
No te sigo, no entiendo
Pf explicarlo de nuevo
Pf explicarlo de nuevo
Disculpa si no me supe explicar
El formulario en cuestión realiza una búsqueda a una tabla de usuarios con varios campos, regresa a un cuadro de lista el dato solicitado.
Para yo poder salvar la información de la búsqueda requiero seleccionar el dato que devolvió, y yo lo que quiero es que directamente lo guarde en la tabla que consulta el formulario, no solo que me lo muestre, y el origen del control no solo me lo despliegue en el cuadro de lista o cuadro combinado ya que anteriormente lo tenia como cuadro combinado.
El formulario en cuestión realiza una búsqueda a una tabla de usuarios con varios campos, regresa a un cuadro de lista el dato solicitado.
Para yo poder salvar la información de la búsqueda requiero seleccionar el dato que devolvió, y yo lo que quiero es que directamente lo guarde en la tabla que consulta el formulario, no solo que me lo muestre, y el origen del control no solo me lo despliegue en el cuadro de lista o cuadro combinado ya que anteriormente lo tenia como cuadro combinado.
El combo-box o el list-box son para seleccionar
un valor(item)de texto de entre varios valores posibles.
Normalmente para guardar datos en una tabla
o consulta se hace enlazando cajas de texto (TextBox)
Ve al combo o al list y selecciona el valor del campo en... Diseño de formulario/propiedades/datos/origen.
Para hacer los experimentos mejor que hagas
modificaciones en una copia de la bbdd.
A ver si la cosa va por ahí, tu dirás.
un valor(item)de texto de entre varios valores posibles.
Normalmente para guardar datos en una tabla
o consulta se hace enlazando cajas de texto (TextBox)
Ve al combo o al list y selecciona el valor del campo en... Diseño de formulario/propiedades/datos/origen.
Para hacer los experimentos mejor que hagas
modificaciones en una copia de la bbdd.
A ver si la cosa va por ahí, tu dirás.
Lo que mencionas es correcto dentro de datos/origen yo tengo un select
un poco largo
select empleados.[No de empleado] from empelados
where
(((empleados.nombre)=Formulario![Viaticos]![Nombre Ingeniero]));
Este me devuelve el valor validando el nombre de ingeniero en el formulario contra la tabla de empleados,
Ya me devuelve el valor pero lo tengo que seleccionar el valor, en el combo o en la lista. Y en cuadro de texto yo no tengo opción para realizar esa búsqueda y que lo guarde directamente en la tabla.
Conoces alguna forma para que no tenga que seleccionarlo ya sea con código u otra opción.
Gracias
un poco largo
select empleados.[No de empleado] from empelados
where
(((empleados.nombre)=Formulario![Viaticos]![Nombre Ingeniero]));
Este me devuelve el valor validando el nombre de ingeniero en el formulario contra la tabla de empleados,
Ya me devuelve el valor pero lo tengo que seleccionar el valor, en el combo o en la lista. Y en cuadro de texto yo no tengo opción para realizar esa búsqueda y que lo guarde directamente en la tabla.
Conoces alguna forma para que no tenga que seleccionarlo ya sea con código u otra opción.
Gracias
a ver ...a ver
Dices...
"lo tengo que seleccionar el valor, en el combo o en la lista"
>>>>>>>>>
Cuando seleccionas o clicas un valor en el combo o lista
generas un evento Click()en este combo o lista Y
ESTO YA TE FUNCIONA BIEN. Esto te modifica correctamente la tabla!, ¿No?
Así, el código de este evento Click()del combo debería situarse
en algún OTRO tipo de evento del mismo combo y anular
lo del evento Click()del combo, solo es eso.
Private Sub Cuadro_combinado0_AfterUpdate()
Private Sub Cuadro_combinado0_BeforeUpdate(Cancel As Integer)
>>>>Puedes mirar en los dos eventos anteriores, no recuerdo si es al actualizar los valores del combo(no interesa) o de la tabla/consulta/o SQL (que si que interesa)
También puede ir en algún evento
De Formulario o en algún procedimiento, mediante código, como dices.
¿Si no te sale me dices cual es el código del evento del combo que actualiza
el >> ok?
Dices...
"lo tengo que seleccionar el valor, en el combo o en la lista"
>>>>>>>>>
Cuando seleccionas o clicas un valor en el combo o lista
generas un evento Click()en este combo o lista Y
ESTO YA TE FUNCIONA BIEN. Esto te modifica correctamente la tabla!, ¿No?
Así, el código de este evento Click()del combo debería situarse
en algún OTRO tipo de evento del mismo combo y anular
lo del evento Click()del combo, solo es eso.
Private Sub Cuadro_combinado0_AfterUpdate()
Private Sub Cuadro_combinado0_BeforeUpdate(Cancel As Integer)
>>>>Puedes mirar en los dos eventos anteriores, no recuerdo si es al actualizar los valores del combo(no interesa) o de la tabla/consulta/o SQL (que si que interesa)
También puede ir en algún evento
De Formulario o en algún procedimiento, mediante código, como dices.
¿Si no te sale me dices cual es el código del evento del combo que actualiza
el >> ok?
Más...
"en cuadro de texto yo no tengo opción para realizar esa búsqueda "
Formulario -datos- =Empleados
Texto0 -propiedades/datos- =No_de_Empleado (asi escrito no me casca tanto la vista , je je )
Texto0 = DLookup("Empleados", "No_de_Empleado", "Where Empleados.Nombre = " & Formulario![Viaticos]![Nombre Ingeniero])
Corrige la sintaxis de tablas y campos con tus valores reales.
"en cuadro de texto yo no tengo opción para realizar esa búsqueda "
Formulario -datos- =Empleados
Texto0 -propiedades/datos- =No_de_Empleado (asi escrito no me casca tanto la vista , je je )
Texto0 = DLookup("Empleados", "No_de_Empleado", "Where Empleados.Nombre = " & Formulario![Viaticos]![Nombre Ingeniero])
Corrige la sintaxis de tablas y campos con tus valores reales.
Gracias por lo que me pones, cheque en los eventos, y no tengo ningún evento click generado en estos combos.
Me aparece en el combo una lista con los valores, con lo que al yo seleccionar ese valor, lo guarda en la tabla, el select que te comente lo tengo en : Diseño de formulario/propiedades/datos/origen de la fila,
Y el control en :Diseño de formulario/propiedades/datos/origen del control, tiene el campo No_trabajador de la tabla viáticos
Ya intente insertar directamente el select en el control pero no hace nada cuando trate de generar el código en la opción click como me indicas no hace nada. El evento que yo tengo generado es
Private Sub Nombre_ingeniero_exit(Cancel as Integer)
On Error Goto Err_ingeniero_exit
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_ingeniero_exit;
Exit sub
Err_ingeniero_exit;
MsgBox Err.Description
Resume Exit_ingeniero_exit
End Sub
Y es el campo nombre de ingeniero el que genera este evento.
El cual me actualiza todos los select que tengo en el formulario.
Pero no guarda directamente el valor solo me lo deja en la lista del combo y ese es mi problema
Yo quiero que esa búsqueda no tenga que verificarla al seleccionar yo en el combo.
Me aparece en el combo una lista con los valores, con lo que al yo seleccionar ese valor, lo guarda en la tabla, el select que te comente lo tengo en : Diseño de formulario/propiedades/datos/origen de la fila,
Y el control en :Diseño de formulario/propiedades/datos/origen del control, tiene el campo No_trabajador de la tabla viáticos
Ya intente insertar directamente el select en el control pero no hace nada cuando trate de generar el código en la opción click como me indicas no hace nada. El evento que yo tengo generado es
Private Sub Nombre_ingeniero_exit(Cancel as Integer)
On Error Goto Err_ingeniero_exit
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_ingeniero_exit;
Exit sub
Err_ingeniero_exit;
MsgBox Err.Description
Resume Exit_ingeniero_exit
End Sub
Y es el campo nombre de ingeniero el que genera este evento.
El cual me actualiza todos los select que tengo en el formulario.
Pero no guarda directamente el valor solo me lo deja en la lista del combo y ese es mi problema
Yo quiero que esa búsqueda no tenga que verificarla al seleccionar yo en el combo.
Diseño de Formulario/Propiedades/Datos/Origen del registro>>>>TABLA o CONSULTA (SQL es una consulta)>>>CAMPO<<<<
Supongo que el combo o list se llama 'Nombre_ingeniero'
Y lo que usa para ejecutar el código es un evento 'exit'.
Evento 'exit' significa que se ejecuta al quitarle el
foco del control y para ello hay que clickar en otro sitio
del formulario o apretar enter para desplazar el foco
al siguiente control del formulario.
El orden de estos eventos es...
Click()
Change()
Exit()
El evento Click() debería funcionar. Si no es así Compacta
y Repara la bbd, o Reinstala o Repara el Office entero o
lo ejecutas en otro ordenador para probar y salir de dudas.
Lo que no me cuadra es...
"Yo quiero que esa búsqueda no tenga que
Verificarla al seleccionar yo en el combo"
... quizás te refieres al desplazar el foco (el 'exit')
... si tienes un combo es para seleccionar un valor
entre una lista de varios valores. Si solo hay
siempre un único valor el combo a mi entender es absurdo.
Esto va por buen camino! A por ello!
Supongo que el combo o list se llama 'Nombre_ingeniero'
Y lo que usa para ejecutar el código es un evento 'exit'.
Evento 'exit' significa que se ejecuta al quitarle el
foco del control y para ello hay que clickar en otro sitio
del formulario o apretar enter para desplazar el foco
al siguiente control del formulario.
El orden de estos eventos es...
Click()
Change()
Exit()
El evento Click() debería funcionar. Si no es así Compacta
y Repara la bbd, o Reinstala o Repara el Office entero o
lo ejecutas en otro ordenador para probar y salir de dudas.
Lo que no me cuadra es...
"Yo quiero que esa búsqueda no tenga que
Verificarla al seleccionar yo en el combo"
... quizás te refieres al desplazar el foco (el 'exit')
... si tienes un combo es para seleccionar un valor
entre una lista de varios valores. Si solo hay
siempre un único valor el combo a mi entender es absurdo.
Esto va por buen camino! A por ello!
Buenos días
Ya estuve revisando lo que me indicaste y cheque los eventos de visual basic, pero no encuentro la opción para utilizarlo,
Como tu me indicaste cheque mis búsquedas y si me están devolviendo un solo resultado, pero no puedo hacer que me lo devuelva en un cuadro de texto. Que seria más útil ya que seria el acceso directo a la base. Mi correo es [email protected] por si crees que seria más útil que te enviara el archivo y vieras lo que quiero decir.
Ya estuve revisando lo que me indicaste y cheque los eventos de visual basic, pero no encuentro la opción para utilizarlo,
Como tu me indicaste cheque mis búsquedas y si me están devolviendo un solo resultado, pero no puedo hacer que me lo devuelva en un cuadro de texto. Que seria más útil ya que seria el acceso directo a la base. Mi correo es [email protected] por si crees que seria más útil que te enviara el archivo y vieras lo que quiero decir.
- Compartir respuesta
- Anónimo
ahora mismo