Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

combo limitar a lista error

387 views
Skip to first unread message

carlos

unread,
May 4, 2009, 12:01:01 PM5/4/09
to
Hola tengo un combo realizado con el asistente para que al seleccionar un
elemento me lleve al registro con los datos del cliente, esto funciona bien
con el asistente, pero a la hora de poner la opción Limitar a la lista en No,
me da un error indicandome.
Microsoft Access no puede establer ahora la propiedad LimitarAlista en No.
La primera columna visible, que está determinada por la propiedad
AnchuraDeColumnas, no es igual a la columna dependiente. Primero ajuste la
propiead Anchuradecolumnas y,despues, establezca la propiead LimitarAlista.

Claro que no es igual la columna 0 es el id autonumerico que claro que no me
interesa que aparezca en el combo, que puedo hacer???

José Mª Fueyo

unread,
May 4, 2009, 12:41:01 PM5/4/09
to
Hola Carlos
Sí vas a usar el combo para búsquedas, ¿por qué no lo quieres limitar a la
lista? creo yo que no tiene mucho sentido. A mi entender, esa propiedad está
para cuando un usuario quiere dar de alta un registro o modificarlo con un
valor que no está en el combo. Es ahí donde tienes esa propiedad entra en
acción, y donde luego tienes que programar que pasa cuando el usuario mete un
valor que no está en la lista.

Salu2
--
José Mª Fueyo
[MS MVP Access]

carlos

unread,
May 5, 2009, 10:29:01 AM5/5/09
to
Hola Jose Mª exactamente eso es lo que quiero hacer con el combo, es decir,
quiero que si el dato introducido esta en el listado me lleve al registro en
cuestion (ya esta esto) y que cuando el dato no este me deja la posibilidad
de introducirlo (esto es lo que me falta hacer).
Se admiten ejemplos, sugerencias, etc.... gracias.


"José Mª Fueyo" escribió:

Patxi Sanz

unread,
May 5, 2009, 10:34:08 AM5/5/09
to
Mantén la propiedad Limitar a lista a Sí, y usa el evento Al no estar en la
lista para agregar el nuevo dato. Y si tienes Access 2007, incluso puedes
indicar un formulario que usará Access para solicitar al usuario que
introduzca todos los datos si no está el dato que ha escrito.

--
Un saludo,


Patxi Sanz
Tudela (NA)

carlos

unread,
May 5, 2009, 11:28:01 AM5/5/09
to
Que hago mal en el codigo para que no me abra el formulario para ingresar el
registro con el nombre del cliente que no esta en el combo, es decir el dato
notinlist me lo debe de poner como nombre de cliente en el formulario
Altacliente al ir a darlo de alta.


Private Sub Cuadro_combinado11_NotInList(NewData As String, Response As
Integer)
On Error GoTo ErrorHandler

strMsg = "El cliente (" & NewData & ") no existe en la base de datos.
¿Nuevo Cliente?"
' Preguntamos
If MsgBox(strMsg, vbQuestion + vbYesNo, "AVISO") = vbNo Then
Response = acDataErrContinue
Exit Sub
Else

DoCmd.OpenForm "Altacliente", acNormal, , , acFormAdd, acWindowNormal
Form_Altacliente.SetFocus
DoCmd.GoToRecord , Nombreapellidoscliente.Value = NewData, acNewRec

End If

ExitProcedure:
Exit Sub
ErrorHandler:
MsgBox "Error en el procedimiento", vbCritical, "ERROR"
Resume ExitProcedure

End Sub

"Patxi Sanz" escribió:

carlos

unread,
May 5, 2009, 12:26:08 PM5/5/09
to
Casi solucionado el formulario ya me lo abre con el dato del nombre para
terminar de rellenar el listado, era este codigo, pero el casí esta en que
siempre me da un error indicandome que el dato no esta en el listado ¿como
quito ese error?


Private Sub Cuadro_combinado11_NotInList(NewData As String, Response As
Integer)
On Error GoTo ErrorHandler

strMsg = "El cliente (" & NewData & ") no existe en la base de datos.
¿Nuevo Cliente?"
' Preguntamos
If MsgBox(strMsg, vbQuestion + vbYesNo, "AVISO") = vbNo Then
Response = acDataErrContinue
Exit Sub
Else
DoCmd.OpenForm "Altacliente", acNormal, , , acFormAdd, acWindowNormal
Form_Altacliente.SetFocus

Form_Altacliente.Nombreapellidoscliente.Value = NewData
End If

ExitProcedure:
Exit Sub
ErrorHandler:
MsgBox "Error en el procedimiento", vbCritical, "ERROR"
Resume ExitProcedure

End Sub

"carlos" escribió:

Patxi Sanz

unread,
May 5, 2009, 12:35:33 PM5/5/09
to
Te falta indicar que has agregado el dato:

Response = acDataErrAdded

Un pequeño ejemplo de Microsoft:

- http://support.microsoft.com/kb/197526/es

carlos

unread,
May 5, 2009, 12:41:01 PM5/5/09
to
El texto especificado no es un elemento de la lista, no consigo quitar este
mensaje con la instrucción.
DoCmd.SetWarnings (warningsOff)
Quizas la pongo en lugar equivocado, la he puesto afterupdate y en el
notinlist, pero nada sigue apareciendo.
que complicado se me esta haciendo esto.


"carlos" escribió:

carlos

unread,
May 6, 2009, 4:24:01 AM5/6/09
to
Gracias Patxi el ejemplo me ha servido de mucho, un saludo.
Ya lo termine jejeje

"carlos" escribió:

Patxi Sanz

unread,
May 6, 2009, 10:38:44 AM5/6/09
to
De nada :-)
0 new messages