Como hacer un formulario que muestre en línea los pedidos que hacen los clientes y cuando ya fue surtido se elimine de la lista

Como puedo hacer un formulario que muestre en pantalla los pedidos que nos hacen los clientes y cuando llega a la zona donde se surten con un click se pueda ver los productos que lleva y al cerrar cambie el estatus ha surtido y desaparezca de la pantalla, para que este a su vez se muestre en otra pantalla donde indique que ya esta listo para entregar, Aclaro tengo un formulario donde se capturan los pedidos de acuerdo a lo que solicita el cliente, al terminar este se debe visualizar en el área donde van a surtir el pedido y por ultimo al ser surtidos se eliminan de esta y se van a la pantalla donde indica que ya están listos para la entrega todo esto lo estoy construyendo en access

1 Respuesta

Respuesta
1

Luz, me he perdido con ir de un lado a otro. Tampoco dices si el formulario Pedidos tiene, por ejemplo, un subformulario DetallePedido con los diferentes Productos que componen ese pedido y si lo de "surtido" se refriere a cada uno de los productos que componen ese Pedido o al Pedido en global. Vamos a suponer éste último caso. Añádele a la tabla Pedidos un campo Surtido Sí/No. Y en el formulario ¿pedidos?, cuando se haya completado el pedido, quien sea, que marque la casilla Surtido. En el ¿siguiente formulario?, el que se supone que muestra los pedidos que no han sido surtidos, en sus propiedades-Eventos-Al cargar, crea un procedimiento de evento y entre Private Sub y End Sub puedes poner

me.recordsource="select * from Pedidos where surtido=0"

Para el caso que quieras saber los pedidos que Sí han sido ya surtidos bastaría con

me.recordsource="Select * from pedidos where surtido=-1"

Tengo una duda ya elimina la información, pero tengo un detalle al dar clic en el folio del pedido para ver el detalle me lista la información de todos los pedidos, como le hago que solo filtre la del pedido que elegí, esto lo estoy haciendo en el evento al hacer clic me habrá el subformulario detalle pedido

No dices si Folio, esta en el formulario o en el subformulario. Vamos a suponer, que formulario y subformulario están relacionados por el campo Folio, y que donde hace clic está en el subformulario. En el evento Al hacer clic del control Folio, puedes poner

Me.nombredelsubformulario.form.recordsource="Select * from Detallepedidos where Folio='" & me.folio & "'"

He supuesto que Folio es texto, si fuera numérico sería

........"Folio=" & me.folio & ""

De todas formas permíteme un consejo, cuando hagas una pregunta procura poner una imagen, en este caso del formulario y subformulario. Así es más fácil hacerse una idea.

¡Gracias! 

Agradezco su ayuda y disculpe tenia toda la razón ya puse lo que me indica y marca error. Y de acuerdo a como me indica el primer formulario se llama pedido (que es donde se van a ver los pedidos que se tienen pendientes de surtir) al hacer clic en el campo foliopedido (este es numérico) deberá de abrir el formulario pedido que es el que va a desglosar los artículos que lleva dicho pedido) ambas tablas están ligadas por medio del campo foliopedido anexo pantalla del error que me esta marcando

Anexo pantalla de pedido y del detalle como observara en el detalle me pone todos los detalles de los pedidos y es aquí donde quiero solo me filtre de acuerdo al folio especificado

Agradezco mucho el tiempo y la ayuda que me ha prestado

Por la imagen da la impresión de que son formularios independientes. De momento vamos a suponer que tengo una tabla Pedido como

En que el campo clave es FolioPedido y una tabla DetallePedido

Ambas están relacionadas por el campo FolioPedido en una relación UN Pedido-VARIOS DetallePedido. Y con ellas tengo hecho un formulario con subformulario, donde puedes ver que hay tres registros y un cuadro de texto llamado Buscar donde voy a escribir los FolioPedido que quiera. En el subformulario no sería necesario mostrar el control FolioPedido, pero lo dejo para que veas que coge el valor del formulario.

Si escribo( aunque sería más cómodo usar combinados) 2222

Y pulso Enter

Puedes ver que me deja sólo un registro, el que le he "pedido".

El código del evento Después de actualizar del cuadro de texto Buscar es

Private Sub Buscar_AfterUpdate()
Me.RecordSource = "Select * from pedido where foliopedido=" & Me.Buscar & ""
End Sub

Es decir, que el origen de registros del formulario sea aquel registro de la tabla Pedido es que su FolioPedido sea igual al que acabo de escribir en el cuadro de texto Buscar. Y como el subformulario está relacionado con el formulario por ese campo, también "me busca " los registros que coincidan con ese valor.

En el caso de que fueran independientes, al no saber si ya están abierto cuando quieres filtrar voy a suponer que sí. Entonces yo pondría en el evento Al hacer clic del cuadro de texto FolioPedido del formulario Pedido

If currentproject.allforms("detallepedido").isloaded then

forms!detallepedido.recordsource="select * from detallepedido where foliopedido=" & me.foliopedido & ""

end if

Es decir, que si el formulario DetallePedido está cargado, que sí lo está, porque es lo que hemos supuesto, que su origen de registro sean aquellos registros de la tabla DetallePedido en que su FolioPedido coincida con el valor de control donde acabas de hacer clic. Por el contrario, si no estuviera cargado, que estuviera sólo el formulario Pedido, podría trabajar con él sin problemas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas