Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2005
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Question Registros en DBGrid a una Tabla Paradox

Buenas . tratare de ser claro ...

Lo que quiero hacer y no he buscado como es ...

Tengo en un DBGRID reflejando una seria de registros supongamos 3 registros mas o menos asi ...

CLAVE DESCRIBCION CANTIDAD
OOO1A PAQUETE UNO 10
OOO1B PAQUETE DOS 20
OOO1C PAQUETE OTRO 05

Ahora supongamos que esto esta reflejado asi dentro de un DBGRID ok !!

Bueno .. hay alguna forma de que estos registros refrejados en el DBGRID se puedan guardar uno por uno en otra tabla Paradox que contenga "por logica" los mismos campos.
menciono uno por uno ya que pondre validacion para que no haya redundancia de de datos en mi caso las CLAVES.
Es posibleme hacer esto ?? ..

Saludos !!
Responder Con Cita
  #2  
Antiguo 09-10-2005
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
Pues si tienes una propiedad del DbGrid "SelectedRows", que te sirve para saber que filas han sido seleccionadas, entonces no tienes más que recorrer la rejilla y las que esten seleccionadas las vas añadiendo a la otra tabla, que como muy bien dices tiene que tener la misma estructura.

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
  #3  
Antiguo 09-10-2005
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Como ? selecionando las filas ??
Hay alguna forma de hacerlo no se por sentencias o algo asi .. si me pudieran dar algun ejemplo

Saludos !!
Responder Con Cita
  #4  
Antiguo 09-10-2005
Epunamun Epunamun is offline
Miembro
 
Registrado: jul 2005
Posts: 45
Poder: 0
Epunamun Va por buen camino
Código:
 
 procedure TForm1.DBGrid1DblClick(Sender: TObject);
 begin
 table1.Insert;
 table1.FieldByName('Nombre Producto').AsString := table2.fieldbyname('Nombre Producto').AsString;
 table1.Post;
 table1.Refresh;
eso es para guardar datoa a otra tabla pero se entiende????
Responder Con Cita
  #5  
Antiguo 10-10-2005
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Question

Ok .. gracias .. pero chenadolo posiblemente creo que sea por alli .. Pero !!!
Pues lo que busco es que los registros mostrados en un DBGrid como el ejemplo mencionado ...
Cita:
CLAVE DESCRIBCION CANTIDAD
OOO1A PAQUETE UNO 10
OOO1B PAQUETE DOS 20
OOO1C PAQUETE OTRO 05
Estos registros mostrados en un DBGRID se puedan guardar en una tabla diferente uno x uno.
y repito .. uno por uno puesto que quiero hacer vailidacion y evitar redundancias.

alguno idea ???
Responder Con Cita
  #6  
Antiguo 10-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Creo que la mayoria de nosotros aún no tenemos una idea clara de lo que necesite.

-Como piensas validar los datos( a que te refieres concretamente a validar)
-Piensas recorrer los registro por bucle o manualmente?
-Por qué dos tablas iguales?, Creo que mejor es hacer una sentencia SQL que busque la redundancia de un Campo X
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 10-10-2005
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Question

Ok .. miren !!
Al referirme "validacion" es evitar que un indice se duplique .. vaya un ejemplo seria el famoso ...
Código:
   if table1.Finkey ([edit1.text]) then
   {Mesage que ya existe }
ahora si ???
Cita:
-Piensas recorrer los registro por bucle o manualmente?
bueno .. ahora el otro ... Me gustaria hacerlo por bucles pues seria mas comodo para el usuario !!
Cita:
-Por qué dos tablas iguales?
ok aqui va mi razon
Lo que pasa es que tengo una seccion de ventas .. ok bueno hago lo normal .. efectuo la busqueda y lo guardo en una tabla temporalmente

Por que temporal ?? .. bueno .. dentro de esta tabla voy almacenendo el registro que las "compras" hechas ok y todas estas bajo un solo registro .. lo hago asi por que en caso de que yo quisiera cancelar un producto .. solo lo busco y lo cancelo .. y al teminar guardo la venta hecha ... ahora una ves realizado esto guardo en otro registro la venta guardadndo el Registro de la venta, con su fecha, cantidad de productos vendidos , cantidad total la series del producto ... aqui el detalle

registro de venta ==> 01234

CLAVE DESCRIBCION CANTIDAD
OOO1A PAQUETE UNO 10
OOO1B PAQUETE DOS 20
OOO1C PAQUETE OTRO 05

Ahora se me acaba de prender el foto o no se si estoy equivocado :s
Pero cuando guardo los registros los guardaria a una tabla de ventas-realizadas almacenando alli la seria los datos (nombre,grupo,etc) y el numero de registro de venta ... esto en cada uno de los productos.

Bueno me imagino que por lli estoy bien . el detalle es que en algunos registros los manejo por cantidad com por ejemplo PAQUETE UNO .. asi qeu cuando quiera realizar otra venta el registro del PAQUETE UNO se duplicara y posiblemnet me marcaria un ero puesto que la llave o index ya existe en la tabla paradox.

Como quien dice quedaria de esta forma

CLAVE DESCRIBCION CANTIDAD REG DE VENTA
OOO1A PAQUETE UNO 10 01234

Si se llega a realizar esta venta otra ves con otra cantidad .. se duplicaria la clave 0001A en la tabla de ventas-realizadas.

Y bueno .. no se como podria resolver esto ...

Por tal motivo pensaba hacerlo de la forma antes explicada ..

Como la ven ???

Última edición por koalasoft fecha: 10-10-2005 a las 17:00:57.
Responder Con Cita
  #8  
Antiguo 10-10-2005
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Unhappy

Que nadie ?? o esta muy duro ??
Responder Con Cita
  #9  
Antiguo 10-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Relamente no veo la duda. Al parecer ya tienes todos los elementos para hacerlo.

Para empezar te olvidas del DBGrid que lo que importa es la tabla asociada. Recorres ésta y en cada paso validas. Si es correcto lo insertas y si no no.

Código Delphi [-]
while not TablaOrigen.Eof do
begin
  if not TablaDestino.FindKey(...) then
  begin
    TablaDestino.Append;
    TablaDestino.FieldByName(..) := TablaOrigen.FieldByName(...);
    TablaDestino.FieldByName(..) := TablaOrigen.FieldByName(...);
    TablaDestino.FieldByName(..) := TablaOrigen.FieldByName(...);
    ...
  end;

  TablaOrigen.Next;
end;

// Saludos
Responder Con Cita
  #10  
Antiguo 10-10-2005
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Poder: 20
koalasoft Va por buen camino
Talking

Excelente ..

Muchas gracias .. hice pruebas y resulto que asi era ...

Por cierto en las partes de las validaciones usar Id consecutivo para que en caso que registrara la misma serie no importara puesto que le daba una id diferente en cada venta a ese articulo ..

Gracias por la ayuda, tips e ideas ..

Saludos !!!
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 09:48:29.


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