La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Access/1232455-agregar-registro-a-un-cuadro-de-lista.html

agregar registro a un cuadro de lista

agregar registro a un cuadro de lista

Publicado por Ruthie (5 intervenciones) el 14/10/2010 19:36:45
Hola Como estan

Mira tengo Un problema

Tengo un --formulario Pedidos- -donde facturo las ventas del dia
aqui tengo --Un cuadro de lista-- con los nombres de los clientes de la --tabla "Clientes"---
quisiera que me puedan ayudar en este -cuadro de lista --actualizar datos es decir
al no encontrar en la lista el nombre del cliente , pueda yo actualizarlo agregando un nuevo registro de cliente y continuar facturando

De antemano les agradesco por que siempre me ayudan

Gracias¡¡¡¡¡¡¡
sin imagen de perfil

RE:agregar registro a un cuadro de lista

Publicado por Marcelo (166 intervenciones) el 15/10/2010 17:33:13
Private Sub CotizacionGlosa_NotInList(NewData As String, Response As Integer)

Dim ctl As Control

Set ctl = Me!CotizacionGlosa
If MsgBox("Esta Glosa No Ha Sido Utilizada Anteriormente en Otra Cotización ¿Agregarla?", vbInformation + vbYesNo, "Agregar Glosa") = vbYes Then
Response = acDataErrAdded
NeoDato.Value = NewData
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO CotizacionesGlosas ( CotizacionGlosa ) SELECT [Forms]![Cotizaciones]![NeoDato] AS Expr1;"
NeoDato.Value = Null
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
ctl.Undo
End If

End Sub

El cuadro de lista se llama CotizacionGlosa que está en un formulario: Cotizaciones y este código se inserta en el evento "Al no estar en la lista"

Funciona perfectamente, un saludo desde Viña del Mar, Chile
sin imagen de perfil

RE:agregar registro a un cuadro de lista

Publicado por Marcelo (166 intervenciones) el 15/10/2010 17:36:39
...NeoDato es un cuadro de texto en el formulario que tiene la propiedad Visible = No, lo uso para no definir una variable dentro del programa.

RE:agregar registro a un cuadro de lista

Publicado por Ruthie (5 intervenciones) el 15/10/2010 20:10:23
Hola Marcelo
Muchas gracias por poner este codigo
mira lo estoy utilizando de esta manera
---------------------------------------------------------------------

Private Sub lista_NotInList(NewData As String, Response As Integer)

Dim ctl As Control

Set ctl = Me!lista
If MsgBox("Este Nombre no se encuentra en la Lista desea ¿Agregarla?", vbInformation + vbYesNo, "Agregar nombre") = vbYes Then
Response = acDataErrAdded
NeoDato.Value = NewData
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Clientes( lista) SELECT [Forms]![Pedidos]![NeoDato]AS Expr1 ;"
NeoDato.Value = Null
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
ctl.Undo
End If

End Sub
-------------------------------------------------------------------------------
pero me funciona a mi hasta la parte del mensaje
y me sale para depurar esta parte
------------------------
DoCmd.RunSQL "INSERT INTO Clientes( lista) SELECT [Forms]![Pedidos]![NeoDato]AS Expr1 ;"
-----------------------------
cuadro de lista=lista
formulario=Pedidos
Tabla=Clientes (clave principal IdCliente)
cuadro de texto=NeoDato (he creado uno independiente con este nombre )