Eliminar un elemento de un recordser

Hola.
Primero te planteo lo que quiero obtener en un formulario en Access 2007: Para que sea más entendible pongamos que es un proceso de compra, en un listbox (lstproductos) cargo a través de un recordset (rstproductos) todos los productos existentes de una tabla, a través de 2 botones agrego (o quito) al otro listbox (lstcompra) que seria mi carrito de compra los productos que deseo comprar, el pasar un item de un lugar a otro si lo he hecho y va bien. Ahora además tengo un textbox donde hago una búsqueda de productos del lstproductos por cadena (nombre_producto like "*cadena*"). Lo que quiero hacer es lo siguiente, si agregro un producto a mi carrito y luego hago la búsqueda, no quiero que me aparezca en mi resultado el producto que ya agregue al carrito. En si es, a la vez que elimino el producto de la lista hacerlo también en el recordset para que luego al hacer la búsqueda el producto no este incluido en la búsqueda, básicamente seria como actualizar el recordset. En resumen, todos los productos que tenga en lstcompra no quiero que aparezcan por ningún motivo en lstproductos, a la vez si quito un producto de mi carrito de compra quiero que retorne a mi lista de productos. Todo lo quiero hacer por recordsets, no actualizando tablas. Ojala que me puedas ayudar, gracias de antemano.

1 respuesta

Respuesta
1
Oks puedes buscar el elist box del carrito el producto si lo encuentra entonces no lo agregas esto lo pues hacer utilizando un un if recoriendo el lis box con un for next
Ok, entiendo tu solución, pero ¿cuál sería el código para hacer eso? Otra pregunta, ¿tu planteas utilizar definir el recordset a nivel globar, para poder utilizarlo en varios eventos? ¿O en crear el recordset en cada evento y hacer el mismo recorrido?.
Desde mi punto de vista es a nivel global si el mismo recordset lo vas a utilizar en varios eventos.
Rsa. MoveFirst
    Do Until Rsa.EOF
     Found = False
     For i = 0 To .cboModelo.ListCount - 1
      If Rsa.Fields("Modelo").Value = .cboModelo.List(i) Then
       Found = True
       Exit For
      End If 'If Rsa.Fields("Modelo").Value = .cboModelo.List(i) Then
     Next 'For i = 0 To .cboModelo.ListCount - 1
     If Not Found Then .cboModelo.AddItem Rsa.Fields("Marca") & "|" & Rsa.Fields("Modelo").Value
     Rsa.MoveNext
     i = i + 1
    Loop 'Do Until Rsa.EOF

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas