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 05-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Comparar dos campos de una tabla

hola,

como hago para comparar dos registros de un mismo campo de una tabla, específicamente con el ultimo. En pseudocodigo:

Código Delphi [-]
if (tabla1.campo1.actual=tabla1.campo1.ultimo) then
begin
 ...
end

estoy utilizando el componente Dbf de lazarus.

Gracias
Responder Con Cita
  #2  
Antiguo 06-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola leogobo.

Código Delphi [-]
...
var
  d1: variant;
begin
  Dbf1.First;
  d1:= Dbf1.FieldByName('Campo1').Value;
  Dbf1.Last;
  if d1 = Dbf1.FieldByname('Campo1').Value then
  begin
    ...
  end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
pero solo quiero comparar, no ir hasta el ultimo porque se me perderia la posición actual de la tabla.
Responder Con Cita
  #4  
Antiguo 06-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Es que no veo otra manera, no es un arreglo que se pueda manejar por índices o algo parecido. Para acceder al valor de un campo de determinado registro tenés que desplazarte hacia él.

Una posible solución para evaluar el valor de cualquier campo con el valor del último es tenerlo almacenado en una variable.
Código Delphi [-]
...
  // FValorUltimoCampo tiene almacenado el valor del último campo de la tabla
  if Dbf1.FieldByname('Campo1').Value = FValorUltimoCampo then 
  begin
    ...
  end;
Es decir, cuando agregas un registro deberías guardar el valor del campo que te interese en FValorUltimoCampo.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 06-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

No te mencioné el uso de BookmarkStr por que creo que en un post anterior dijiste que el componente TDbf no lo soporta o dá problemas, pero por las dudas probalo.

Seria más o menos así:
Código Delphi [-]
var
  BM: TBookmarkStr;
  d: Variant;
begin
  BM:= Dbf1.Bookmark;
  Dbf1.Last;
  d:= Dbf1.FieldByName('Campo1').Value;
  Dbf1.Bookmark:= BM;
  if d = Dbf1.FieldByName('Campo1').Value then
  begin
    ..
  end;
  ...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 06-06-2011 a las 01:29:52.
Responder Con Cita
  #6  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Perfecto, ya funciona como lo deseaba.

Gracias
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema al comparar dos campos en sql m.ruiz SQL 6 02-08-2007 11:33:48
Comparar 4 campos fechas y hacer un update con el más nuevo pablo_911 SQL 0 11-07-2006 23:39:27
time, comparar 2 campos ttime Pascual Montes Varios 2 29-03-2005 19:50:47
Comparar Cambios en Una Tabla Jvilomar SQL 0 17-03-2005 16:06:55
Comparar campos de un DBGrip conectado a in IBDataSet Durbed Conexión con bases de datos 0 01-10-2004 16:46:16


La franja horaria es GMT +2. Ahora son las 02:02:32.


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