Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2004
jovehe jovehe is offline
Miembro
 
Registrado: abr 2004
Posts: 51
Poder: 21
jovehe Va por buen camino
Unhappy ayuda con b.d.

como estan todos
espero que bien
escribo para ver si me podrian ayudar lo que pasa es que en esto de la programacion soy un tanto inexperto el problema es este yo necesito obtener los datos de una tabla para insertarlos en otra pero validando un rango de numeros por ejemplo digamos que quiero copiar solo unos cuantos registros validando por el numero de cd dando un numero de cd inicial y numero de cd final y que a partir de ese rango me copie los datos.
espero mi pregunta sea clara y ojala me puedan ayudar gracias por su atencion.
Responder Con Cita
  #2  
Antiguo 20-04-2004
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
No sabiendo qué tipo de base de datos usas ni la estructura de tus tablas es difícil dar una respuesta acertada pero podrías intentar algo así:

Utiliza un TQuery para hacer una consulta SQL que te devuelva sólo los registros deseados:

Código SQL [-]
select * from discos where numero_cd >= rimero and numero_cd <= ultimo

Esoy suponiendo que tu tabla se llam "discos" y que "numero_cd" es el nombre del campo que tiene el número de cd.

En esta consulta, prmero y ultimo serán parámetros (indicado por los dos puntos ":" anteriores). Cada vez que quieras copiar los registros estableces el rango llenando los parámetros:

Código Delphi [-]
Query.ParamByName('primero').AsInteger := primer número
Query.ParamByName('ultimo').AsInteger := último número
 
Query.Open;

Con esto, en Query tendrás todos los registros cuyo número de cd va del primero al último.

Para copiarlos a la otra tabla sólo tienes que recorrer el query con un ciclo:

Código Delphi [-]
Query.First;
while not Query.Eof do
begin
  Tabla.Append;
  Tabla.FieldByName('numero_cd').AsInteger := Query.FieldByName('numero_cd').AsInteger;
 
  // aquí copias otros campos
 
  Query.Next;
end;

// Saludos

Última edición por roman fecha: 29-04-2004 a las 03:21:29.
Responder Con Cita
  #3  
Antiguo 20-04-2004
jovehe jovehe is offline
Miembro
 
Registrado: abr 2004
Posts: 51
Poder: 21
jovehe Va por buen camino
Thumbs up

que tal gracias por tu respuesta tan rapida.

efectivamente olvide poner que el tipo de tablas son paradox y una molestia mas si es que se puede ;los parametros de primero y ultimo como los podria comparar con un edit ya que en la aplicacion lo que se tiene que escribir es el numero de cd inicial y numero de cd final dentro de dos edit respectivamente.

y despues solo el boton para que me copie los registros.

gracias
jorge
Responder Con Cita
  #4  
Antiguo 20-04-2004
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
No entiendo que quieres decir con comparar. Para llenar los parámetros a partir de los valores de un Edit tienes primero que convertir a entero:

Query.ParamByName('primero').AsInteger := StrToInt(Edit1.Text);

o bien usar AsString en lugar de AsInteger para que sea el Query quien haga la conversión:

Query.ParamByName('primero').AsString := Edit1.Text;

// Saludos
Responder Con Cita
  #5  
Antiguo 29-04-2004
jovehe jovehe is offline
Miembro
 
Registrado: abr 2004
Posts: 51
Poder: 21
jovehe Va por buen camino
Thumbs up gracias

roman muchas gracias por la ayuda y la respuesta tan rapida que le diste a mi problema espero mas adelante poder aportar algo para el club.

att
jorge
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:06:01.


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