Crear consulta de selección automática Access

De nuevo al ataque, veréis, ¿se puede crear una consulta con un numero de registros dados que los proporcione a un formulario?.

Consulta clientes, campo: numero_cliente (aquí decirle que solo escoja de la Tabla Clientes los números 2,4,8,12,15)

Al seleccionar en el formulario el numero de cliente solo aparezcan: 2,4,8,12,15

2 respuestas

Respuesta
1

Convendría que detallaras un poco más eso de que los criterios los proporcione un formulario. Pero, tal como lo preguntas podrías hacer algo como

Al abrirla

Pero ya te digo que convendría que dijeras como determinas los criterios en el formulario.

Buenos días Julián, ante todo gracias por tu sabia respuesta, pensaba que con eso me tendría que valer lo que quiero hacer pero no es lo correcto (error mio en la pregunta), te cuento a ver si me puedes ayudar, veras tengo una base de datos para facturación con tres tablas: tbl_cab_facturas_serie_A ; tbl_detalle_factura_serie_A ; tbl_clientes.

Aparte tengo un Formulario con un subformulario para hacer las facturas:

Bien, el problema viene por que tengo un cliente que tiene otro modelo de factura, tiene los mismos datos del formulario pero solo tiene los campos del subformulario: material, tn, y subtotal.

Pues bien, necesito tener un formulario con otro subformulario para que utilizando el mismo formulario (ya que necesito el numero de factura correlativo) tener otro subformulario para el otro cliente.

Es un poco lio, si no me he explicado bien por favor dímelo

Muchas Gracias Julián

Es de suponer que el formulario y el subformulario están relacionados por un campo común. Y supongo también que las facturas las emites tu. Para el ejemplo vamos a suponer que es NumCliente. Podrías

1º Crear otro subformulario para ese cliente en particular, ponerlo como oculto y en las propiedades del cuadro de texto NumCliente, en el evento Después de actualizar crear un procedimiento de evento y poner algo como

If Numcliente=882309 then

TBL_detalle_factura_serie_a.visible = false

nuevosubformulario.visible=true

end if

De forma que cuando teclearas ese cliente en particular, te oculta uno y te muestra el otro.

En caso de que fueran varios clientes, entonces te convendría usar el select case. Por ejemplo

Select case Numcliente

case 882309,456788,232323

Tbl_detalle....

end select

2º Si lo que quieres es que si es el cliente 882309, no puedas rellenar el campo Precio, podrías poner, en el mismo evento, en vez de los anterior

If numcliente=882309 then

me.Tbl_detalle_factura_serie_a.form!precio.enabled=false

Es decir, que cuando sea ese cliente, se inhabilite el campo Precio del subformulario. Luego ya le dirás en el informe de la factura que en el caso de ese cliente no muestre el control Precio.

De todas formas, como creo que tienes mi email, si quieres algún ejemplo, mándame un mensaje.

Respuesta
1
Select Numero_cliente from Clientes Where Numero_cliente IN (2,4,8,12,15);

Esa es la idea que tendrás que adaptar a tu consulta.

¡Gracias! 

Según la ampliación de la información, esa 'cualidad' al generar la factura es particular del cliente, por lo que debería formar parte de sus datos (un campo booleano sería suficiente) si esta activado se mostraría el campo (o viceversa).

Aplicando esta condición (que puede ser más compleja si se desease manipular más campos) se convierte en universal y con menos código que complique los cálculos (o se muestran o no se muestran, pues la gestión interna de la empresa es independiente de la estética deseada por el cliente).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas