FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Locate en Consultas Cortas
Tengo un Maestro-Detalle(Facturas), y quiero que en el Detalle cada vez que se capture el Código del Producto me busque si este mismo Código de Producto se encuentra capturado en el mismo "Detalle" de la Factura Activa, estoy usando los IBX 7.08 con FireBird 1.50, el Detalle lo tengo relacionado con el Maestro, y en el Dataset intento buscarlo con un Locate, pero me causa problemas con el Puntero del ibDataset el código es este:
Código:
if dmFactBabatsa.tDFacturas.RecordCount>0 then if dmFactBabatsa.tDFacturas.Locate('CLAVEART',dmFactBabatsa.tDFacturasCLAVEART. value,[locaseinsensitive, lopartialkey]) then begin MensajesW('No se debe de Repetir el Mismo Producto en la Factura','Atención',48); Abort; end; Última edición por marcoszorrilla fecha: 21-09-2004 a las 22:10:40. |
#2
|
||||
|
||||
Wop!
El problema es que estas usando el mismo dataset para la edición y para la búsqueda. Cuando haces el locate, se cambia el registro activo y se provoca un post (como si hicieses un Next). Creo que la mejor solución es que te crees una query que te busque si existe el código de producto, de este modo dejaras el dataset detalle en edición sin problemas. Ah! otra cosa, es mejor que uses el tag [delphi] enlugar de [code] si lo que pones es código Delphi
__________________
E pur si muove |
#3
|
||||
|
||||
Prueba con LookUp (o algo asi). Busca pero NO mueve el puntero. Si no lo soporta el dataset, puedes usar Bookmarks o clonar el dataset
__________________
El malabarista. |
#4
|
||||
|
||||
oki
Muchas Gracias por sus Respuestas, pero como se usan los Bookmarks o clonar el dataset????, ya había pensado en los Query's, pero ando investigando si se puede de otra forma que no sea agregar otro dataset ó query.
De antemano Gracias. |
#5
|
||||
|
||||
Busca en las ayudas con Bookmarks. Tambien el Lookup que es la mas facil. Clonar dataset es algo que tienen algunos como TClientDataSet o TAdo....
__________________
El malabarista. |
#6
|
||||
|
||||
oki
Ok Gracias.
|
#7
|
||||
|
||||
oki
No me funciono con los Bookmark como lo implementarias con los lookup????
|
#8
|
||||
|
||||
Los BookMarks no te sirven porque el problema es que al mover el puntero para buscar provocas el Post, tienes que hacer lo que te ha dicho Marto o Mamcx.
O utilizas un segundo Ttable para buscar. O utilizas SQL Y otra opción este campo lo colocas en un control no Dbaware, por ejemplo un Edit y en on Exit del mismo lanzas la búsqueda. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#9
|
||||
|
||||
oki
Me voy por la segunda, porque no se como se usan los controles "no Dbaware",
Son más rápidos estos controles que los Query's???? De antemano Muchas Gracias. Última edición por AGAG4 fecha: 21-09-2004 a las 22:23:37. Razón: Corrección |
#10
|
||||
|
||||
????
Esta duda ya la hice arriba, pero aqui va mejor planteada, tengo el Maestro- Detalle, en donde quiero implementar la "Busqueda Corta" es en el Detalle, aqui tengo aproximadamente unos 1,450,000 Registros en la Tabla(Detalle) de la Base de Datos, si elijo con un QUERY no será bastante pesado para buscar si esta repetido el Articulo la busqueda la hago dependiendo de la llave primaria BODEGA+SERIE+FOLIO????
ó como se podría hacer un CLON del ibDataset(Detalle) por medio de código???? Accesan aproximadamente 30 Usuarios a la vez, no he hecho la prueba, pero quiero ver opiniones, de antemano Gracias. Última edición por AGAG4 fecha: 22-09-2004 a las 03:05:10. Razón: Corrección |
|
|
|