Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
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;
Lo puse en el evento OnColExit del dbGrid, en el OnValidate del Campo Código del Producto pero el Puntero se me pierde del ibDataset y no encuentra el Producto, que lo que causa esto es que entra al evento OnBeforePost del ibDataset. Espero me haya explicado. De antamano Gracias por sus comentarios.

Última edición por marcoszorrilla fecha: 21-09-2004 a las 22:10:40.
Responder Con Cita
  #2  
Antiguo 21-09-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 21-09-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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.
Responder Con Cita
  #4  
Antiguo 21-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 21-09-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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.
Responder Con Cita
  #6  
Antiguo 21-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Ok Gracias.
Responder Con Cita
  #7  
Antiguo 21-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

No me funciono con los Bookmark como lo implementarias con los lookup????
Responder Con Cita
  #8  
Antiguo 21-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
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:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 21-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
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
Responder Con Cita
  #10  
Antiguo 22-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
????

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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:38:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi