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 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Exclamation Mayor Numero Paradox

Salu2

tengo un campo en una tabla paradox que contiene un campo "num_veh" en este campo van registrada x cantidad

¿Quisierea saber como hago para buscar el número mas alto?
para sumarle 1 y no se repita

gracias adelantadas...
Responder Con Cita
  #2  
Antiguo 26-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola lKing, puedes hacer una consulta ordenando de mayor a menor y obtener el primer registro.

Código SQL [-]
 select First 1 * from tabla order by num_veh desc

Nose si en paradox habra First o Top, que te devuelve el primer registro de tu consulta.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 26-09-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
tambien se puede hacer (creo recordar que si) un MAX

Código SQL [-]
Select Max(num_veh) from latabla
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
si pero ese código es mucho para lo que necesito, mira lo que necesito es que el campo "num_veh", se incremente... mas nada no necesito consulta sql ni nada tan complejo
Responder Con Cita
  #5  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
lo que quiero es hacer un algoritmo asi

Código Delphi [-]
var
numv:integer;
begin
  tabla.insert;
  numv:=mayornumero de la tabla+1;
  tabla.post;
end;
Responder Con Cita
  #6  
Antiguo 26-09-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por lKinGl Ver Mensaje
si pero ese código es mucho para lo que necesito, mira lo que necesito es que el campo "num_veh", se incremente... mas nada no necesito consulta sql ni nada tan complejo
y cual es la parte compleja , lanzas el query obtienes el valor le sumas uno y listo... no veo otra manera
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 26-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por eduarcol Ver Mensaje
lanzas el query obtienes el valor le sumas uno y listo... no veo otra manera
Eso mismo, solo que en vez de usar lo que te he puesto, utiliza Max como te indica Eduardo.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #8  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
estoy haciendo asi pero no me corre :S disculpen mi ignorancia

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
var
buscar:string;
begin
buscar:='Select Max(num_veh) from vehiculos.db';
edit1.Text:=IntToStr(StrToInt(buscar)+1);
end;
Responder Con Cita
  #9  
Antiguo 26-09-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por lKinGl Ver Mensaje
si pero ese código es mucho para lo que necesito, mira lo que necesito es que el campo "num_veh", se incremente... mas nada no necesito consulta sql ni nada tan complejo
Pues si no necesitas consulta ni nada tan complejo, entonces busca otro camino y cuando lo encuentres, te diré los fallos que tiene.

Necesitas una consulta como bien han expuesto. Aquí una variante que ya te da el siguiente número:
Código SQL [-]
Select Max(num_veh)+1 from latabla

Aunque si quieres puedes usar table1.recordcount para averiguar la cantidad de registros que tiene una tabla, pero eso te dará duplicados en cuanto alguien borre un albaran, factura, cliente o lo que sea y quiera añadir uno nuevo. El BDE lanzará una excepción keyviol ... tú mismo.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 26-09-2008 a las 14:27:09.
Responder Con Cita
  #10  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
será que tengo que agregar un componente query?

Responder Con Cita
  #11  
Antiguo 26-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola lking, entonces tienes problemas en obtener el resultado de tu consulta.
Código Delphi [-]
Query1.Active := False;
Query1.SQL.Text := 'Select Max(num_veh) +1 AS numero from vehiculos.db';
Query1.Active :=True;
NuevoNumero := Query1.FieldByName('numero').AsString;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #12  
Antiguo 26-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por lKinGl Ver Mensaje
será que tengo que agregar un componente query?
Si lking, necesitas un query para ejecutar tu consulta, revisa lo que te puse en mi anterior mensaje.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #13  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
hola caro

ya lo revise y para probar el codigo que me facilitaste le puse la salida asi y nada no me muestra nada...

Código Delphi [-]
procedure TForm5.Button1Click(Sender: TObject);
var
nuevonumero:string;
begin
Query1.Active := False;
Query1.SQL.Text := 'Select Max(num_veh) +1 AS num_veh from vehiculos.db';
Query1.Active :=True;
NuevoNumero := Query1.FieldByName('num_veh').AsString;
edit1.Text:=nuevonumero;
end;

gracias por tu paciencia
Responder Con Cita
  #14  
Antiguo 26-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, tu campo num_veh es de tipo entero verdad si es así no deberías tener problemas al sumarle 1, has la prueba cambiando el nombre del alias y has la prueba también solo con el max sin sumarle el 1.

Código Delphi [-]
Query1.Active := False;
Query1.SQL.Text := 'Select Max(num_veh) +1 AS numero from vehiculos.db';
Query1.Active :=True;
NuevoNumero := Query1.FieldByName('numero').AsString;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #15  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
antes habia hecho algunas consultas sql y pude notar que en la actual no tengo este codigo

Código Delphi [-]
Query1.DatabaseName:=ExtractFilePath(Application.ExeName)+'Data';

estemmmm le puse +'Data' por que la tabla vehiculos.db esta dentro de una carpeta llamada data

otra cosita...
Responder Con Cita
  #16  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
y si...el campo num_veh es entero y hay un registro que tiene 0 para que cuando el codigo me funcione me arroje 1
Responder Con Cita
  #17  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ya funcionó y no se que hice

¿alguien podria explicar?
Responder Con Cita
  #18  
Antiguo 26-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
muchas gracias caro por tu ayuda tu siempre tan oportuna
Responder Con Cita
  #19  
Antiguo 26-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, usar querys es lo mas (mucho mas) recomendable. Solo añado esto para mostrar que tambien se puede hacer mediante unicamente tablas.

Código Delphi [-]
 
 Tabla.IndexFieldNames := 'num_veh';
 Tabla.Last;
 num_veh := Tabla.FieldByName('num_veg').Asinteger;
 inc(num_veh);
 ...
Responder Con Cita
  #20  
Antiguo 26-09-2008
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
¿Y no se puede usar un campo autoinc y dejar que paradox haga todo?

// 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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mostrar Registros Mayor que lKinGl SQL 35 01-06-2008 21:10:29
consulta del numero mayor de subregistro Yun-i Varios 21 29-02-2008 18:47:10
Insertar numero en tabla paradox dayser C++ Builder 8 24-07-2006 20:23:47
¿Qué quieres ser de mayor? kinobi Humor 16 11-07-2003 13:46:30


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


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