Código para consultar factura en formulario Access

Amigos ocupo de su ayuda para lo siguiente. Tengo una tabla tblFacturas con varios campos uno de ellos se llama Factura, quiero hacer un código en el formulario para realizar consultas de las facturas que ya haya capturado, para eso hice un botón llamado Búsqueda con un cuadro lista llamado Lista y viendo tutoriales escribí este código.

Private Sub cmd_Busqueda_Click()
    Dim Consulta As String

    Consulta = "Select Factura"
    Consulta = Consulta & "from FACTURA "
    Consulta = Consulta & "Where FACTURA like '*" & Me.Lista & "*'"
    Me.Lista.RowSource = Consulta
    Me.Refresh
End Sub

Me gustaría y si fueran tan amables de indicarme que parte es la que me hace falta que me puedan ayudar a depurar el código, también ocupo si el no ocupo realizar la búsqueda que no me aparezca el cuadro lista hasta que oprima el botón de búsqueda que sea allí donde tiene que aparecer.

2 Respuestas

Respuesta
1

Honestamente, no entendí nada. Si quieres que el cuadro de lista tenga un origen de la fila, puedes, por ejemplo, poner en sus propiedades-eventos-al recibir el enfoque

Suponiendo que en sus propiedades-Otras-Nombre ponga Lista

lista.rowsource="select factura from facturas group by factura"

Ok, perdón por no darme a entender... va de nuevo.

Quiero realizar un código dentro del formulario que me ayude a consultar el número de factura que puede que ya se encuentre capturada o no, el código que hice mención anteriormente creo que le falta depurar ya que falta agregar líneas donde me avise que efectivamente si se encuentre la factura y que me muestre el registro y si no esta que me mande un mensaje.

Lo del cuadro de lista, quiero que si no se esta ocupando, no se muestre en el formulario hasta que orpima el botón de búsqueda aparezca.

Es que lo puedes hacer de muchas formas. Al no saber la estructura del formulario ni lo que debe hacer en caso de que si esté o de que no esté, tengo que suponer. Supongamos que tengo una tabla

Voy a usar el Idcliente como número de la factura. En la tabla hay hasta el Idcliente 91.

Si tengo un formulario, en este caso independiente pero sería igual si dependiera de otra tabla, en el que he puesto un cuadro combinado

Si escribo, por ejemplo 120 y pulso Enter

Si le digo que sí

Se abre el formulario Clientes para darlo de alta. En caso de que le digas que no el cursor se vuelve al combinado para que cambies el valor.

El código del evento Antes de actualizar del combinado es

También podrías poner en las propiedades-datos-limitar a la lista=Sí y el código anterior ponerlo en el evento Al no estar en lista.

¿Qué no quieres que se vea? Lo pones como oculto y en el evento Al hacer clic del botón basta con poner

buscar.visible=true

Pero entonces te convendría poner en el evento Al activar registro del formulario

buscar.visible=false

Respuesta
1

A tu código le fallan dos cosas:

1º/ Te falta un espacio entre el nombre del campo Factura y el From, como sí tienes antes del WHERE.

2º/ Te falta recargar el cuadro de lista, con Me. Lista Requery.

Total, que el código te quería así (si Factura es un campo de texto):

Private Sub cmd_Busqueda_Click()
    Dim Consulta As String
    Consulta = "Select Factura "
    Consulta = Consulta & "from FACTURA "
    Consulta = Consulta & "Where FACTURA like '*" & Me.Lista & "*'"
    Me.Lista.RowSource = Consulta
    Me.Lista Requery
End Sub

A lo que no le veo mucho sentido es que filtres el cuadro de lista por el valor que tiene el propio cuadro...

Un saludo.


     bit.ly/ForoNkSv 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas