Access - Ordenar form. campos según tipo

 
Vista:

Ordenar form. campos según tipo

Publicado por Albertito Lu (6 intervenciones) el 17/07/2007 23:32:37
Hola. No sé si el título dice algo, pero he intentado poner el máximo de cosas en el mínimo espacio. Explico mi problemilla, a ver si alguien sabe si se puede hacer o no.

Tengo, parecido, una base de datos tipo inventario de un almacén. Entonces, el usuario (a veces yo mismo) iré insertando objetos para hacer una especie de parte de salida, pero los iré insertando como me vengan. Por poner otro parecido, haré lo mismo que hacen las cajeras del Carrefur. Van pasando los artículos como les parece, sin seguir un orden.

Entonces, querría (más que yo, lo quiere mi jefe) que al acabar el "pedido", se me ordenen los artículos según el tipo, teniendo en cuenta que sólo hay un artículo por tipo, aunque no siempre hay un artículo de cada tipo. Por ejemplo, y siguiendo con lo del Carrefur':

Pasan por caja (siempre y sólo uno de cada): chiclesdementa, nevera, colchon y lechuga.

Entonces, en un formulario, tengo los datos de la persona que se lo lleva, y "chiclesdementa, nevera, colchón y lechuga".

Al decirle que ya hemos acabado de insertar objetos, que me los ordene en otro o en el mismo formulario, poniendo, p.e. (a ver que lo piense, haciendo el parecido):

ALIMENTOS: lechuga
ELECTRODOMESTICOS: nevera
TEXTIL: (vacío)
GOLOSINAS: chiclesdementa
AUTOMOVIL: (vacío)
HOGAR: colchon
MÚSICA: (vacío)

No sé si me explico.. ...
También sería válido, que en el formulario donde cojo los "articulos que pasan" no me los ordenase ni nada -que yo eso no lo veo posible-, pero que sí salieran ordenados en otro formulario, que fuera tipo "VER PEDIDOS".

Hay que tener en cuenta -creo- que al cojer los articulos, se cojen como "articulo" en un subformulario contínuo, que se guarda en una tabla donde se relaciona ARTICULO con la IdPEDIDO.

NOTA, por si hace falta: los artículos están definidos, y están en una tabla, p.e.

NOMBRE: lechuga - TIPOARTICULO: 2 (relacionado con la tabla tipoarticulo, donde 2=ALIMENTOS)

Bueno, no sé si se puede o qué, pero yo no le veo la forma -de ahí a que ponga ésto en el foro-. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Ordenar artículos de un pedido por tipo de artículo

Publicado por Alejandro (4142 intervenciones) el 15/08/2023 21:38:26
Para lograr la funcionalidad que estás buscando, puedes utilizar una combinación de consultas, formularios y VBA en Microsoft Access. A continuación, te proporciono una guía paso a paso para lograrlo:

1. Consulta para mostrar artículos del pedido:
Crea una consulta que muestre los artículos de un pedido específico, incluyendo el nombre del artículo y su tipo. Asegúrate de unir la tabla de artículos con la tabla de tipos de artículo para obtener el nombre del tipo.

2. Formulario para ingresar artículos del pedido:
Crea un formulario para ingresar los artículos del pedido. Puedes usar un subformulario continuo para mostrar la lista de artículos que se van agregando.

3. Botón para finalizar pedido:
Agrega un botón en el formulario de ingreso de artículos para finalizar el pedido. Al hacer clic en este botón, se ejecutarán las acciones para ordenar los artículos y mostrar el pedido en un formulario de visualización.

4. VBA para ordenar artículos:
Agrega el siguiente código VBA al evento del botón para finalizar el pedido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub btnFinalizarPedido_Click()
    Dim strSQL As String
 
    ' Borrar registros anteriores en la tabla de artículos ordenados (si existen)
    DoCmd.SetWarnings False
    strSQL = "DELETE FROM ArticulosOrdenados"
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True
 
    ' Insertar registros ordenados en la tabla de artículos ordenados
    strSQL = "INSERT INTO ArticulosOrdenados (IdPedido, NombreArticulo, TipoArticulo) " & _
             "SELECT IdPedido, NombreArticulo, TipoArticulo FROM ConsultaArticulosPedido " & _
             "WHERE IdPedido = " & Me.IdPedido ' Reemplaza IdPedido por el campo correcto
    DoCmd.RunSQL strSQL
 
    ' Abrir el formulario de visualización de pedido ordenado
    DoCmd.OpenForm "FormularioPedidoOrdenado", acNormal, , , acFormReadOnly
End Sub

5. Formulario para visualizar pedido ordenado:
Crea un nuevo formulario llamado "FormularioPedidoOrdenado" que muestre los artículos ordenados por tipo. Puedes usar un control de grupo para mostrar los artículos agrupados por tipo.

Con estos pasos, al finalizar un pedido, los artículos se ordenarán por tipo y se mostrarán en el formulario de visualización de pedido ordenado. Asegúrate de personalizar los nombres de tablas, campos y controles de acuerdo a tu base de datos. Además, puedes ajustar la presentación visual del formulario de visualización según tus preferencias.

Recuerda realizar pruebas en un entorno de desarrollo antes de implementar estos cambios en tu entorno de producción.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar