encontrar registros en subformulario
Publicado por Ruy (1 intervención) el 30/01/2020 10:01:34
Hola a todos.
Estoy creando un formulario para registrar los pedidos y los productos asociados a cada pedido.
Lo he estructurado de la siguente forma:
He creado un formulario que contiene los datos generales del pedido (cliente, fecha del pedido, ubicación de los productos, etc.).
Dentro de este formulario he creado un subformulario que contiene productos y cantidades de cada producto.
Formulario y subformulario están vinculados por 2 campos:
- Id de pedido que es el campo clave de la tabla (y formulario) pedidos
- Nº de pedido que es el campo relacionado en la tabla (y subformulario) de productos.
Adjunto un pantallazo de esta parte del formulario para que se vea con más claridad.
En el formulario principal, si navego por los registros voy avanzando por el pedido nº1, 2, 3, 4...
Al mismo tiempo, el subformulario me va mostrando los productos asociados al pedido nº 1, los productos asociados al pedido nº 2, etc...Por defecto, los pedidos están ordenados de fecha de expedición más temprana a fecha de expedición más tardía.
La duda que tengo es cómo crear una herramienta que me permita buscar un producto concreto bien con un combobox o con un campo de búsqueda y me lleve a él (o al registro que lo contiene en el subformulario de productos asociado a un pedido concreto) respetando el orden de los pedidos y que, a medida que vaya pulsando el intro, me salte al siguiente pedido más urgente que contenga ese producto y vaya avanzando por todos los pedidos hasta llegar al pedido menos urgente que contenga el producto. Como un buscar siguiente de excel o de word.
Con la herramienta de búsqueda por defecto que aparece en los botones de formulario, sólo me busca en los registros asociados al pedido que estoy visualizando en el momento. Pero cuando vuelvo a pulsar intro, no me lleva a otros pedidos que contienen ese producto.
Lo más parecido que he conseguido es hacer una búsqueda con recordsetclone abriendo un formulario que me muestra el producto que busco y los nºs de pedido asociados en una ventana independiente, pero no me parece operativo porque hay que memorizar el nº de pedido y hacer una búsqueda adicional por nº de pedido en el formulario principal.
Pongo aquí el código de lo que indico más arriba en la búsqueda del recordset. Aunque como decía, no me sirve:
Os agradezco cualquier aporte.
Un saludo

Estoy creando un formulario para registrar los pedidos y los productos asociados a cada pedido.
Lo he estructurado de la siguente forma:
He creado un formulario que contiene los datos generales del pedido (cliente, fecha del pedido, ubicación de los productos, etc.).
Dentro de este formulario he creado un subformulario que contiene productos y cantidades de cada producto.
Formulario y subformulario están vinculados por 2 campos:
- Id de pedido que es el campo clave de la tabla (y formulario) pedidos
- Nº de pedido que es el campo relacionado en la tabla (y subformulario) de productos.
Adjunto un pantallazo de esta parte del formulario para que se vea con más claridad.
En el formulario principal, si navego por los registros voy avanzando por el pedido nº1, 2, 3, 4...
Al mismo tiempo, el subformulario me va mostrando los productos asociados al pedido nº 1, los productos asociados al pedido nº 2, etc...Por defecto, los pedidos están ordenados de fecha de expedición más temprana a fecha de expedición más tardía.
La duda que tengo es cómo crear una herramienta que me permita buscar un producto concreto bien con un combobox o con un campo de búsqueda y me lleve a él (o al registro que lo contiene en el subformulario de productos asociado a un pedido concreto) respetando el orden de los pedidos y que, a medida que vaya pulsando el intro, me salte al siguiente pedido más urgente que contenga ese producto y vaya avanzando por todos los pedidos hasta llegar al pedido menos urgente que contenga el producto. Como un buscar siguiente de excel o de word.
Con la herramienta de búsqueda por defecto que aparece en los botones de formulario, sólo me busca en los registros asociados al pedido que estoy visualizando en el momento. Pero cuando vuelvo a pulsar intro, no me lleva a otros pedidos que contienen ese producto.
Lo más parecido que he conseguido es hacer una búsqueda con recordsetclone abriendo un formulario que me muestra el producto que busco y los nºs de pedido asociados en una ventana independiente, pero no me parece operativo porque hay que memorizar el nº de pedido y hacer una búsqueda adicional por nº de pedido en el formulario principal.
Pongo aquí el código de lo que indico más arriba en la búsqueda del recordset. Aunque como decía, no me sirve:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Comando881_Click()
Dim strCriterio As String
Dim rstPRODUCTOS_PEDIDOS As DAO.Recordset
strCriterio = "producto = '" & Me.txtkey & "'"
Set rstPRODUCTOS_PEDIDOS = Me.CONSULTA_PRODUCTOS.Form.RecordsetClone
rstPRODUCTOS_PEDIDOS.FindFirst strCriterio
If rstPRODUCTOS_PEDIDOS.NoMatch Then
MsgBox "No hay registros"
Else
Me.CONSULTA_PRODUCTOS.Form.Bookmark = rstPRODUCTOS_PEDIDOS.Bookmark
End If
End Sub
Os agradezco cualquier aporte.
Un saludo

Valora esta pregunta


0