Delphi - clave compuesta automatica

 
Vista:

clave compuesta automatica

Publicado por Judit (45 intervenciones) el 27/03/2007 21:15:34
Buenas tardes!

Mi inquietud es la siguiente:

Necesito crear una clave compuesta de la siguiente manera:

Dos letras fijas+letra abecedario+numero del 1 al 100.
Cuando esta clave llega a Z100 que es donde estoy ahora mismo, necesito que tome AA1..AA100, AB1...AB100, AZ1...AZ100 y luego BA1...BA100, y asi sucesivamente, no he podido encontrar la forma de que al llegar a z100 regrese a AA.

Alguien podria ayudarme o darme una idea de como puede resolevr este problema.

Estoy utilizando delphi 7 y access 2003.

Gracias anticipadas

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:clave compuesta automatica

Publicado por antonio (117 intervenciones) el 27/03/2007 22:59:45
hola hola, creo q es cuestion de logica por q no me manda el codigo para revisarlo ,por programacion es nada mas estar verificando losvalores y luego asignar el q sigue

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:clave compuesta automatica

Publicado por Judit (45 intervenciones) el 27/03/2007 23:07:32
las variables son

fijo, letra, par0: string;
numcon: integer;
par1 : char;
par2 : word;


fijo := 'UT';
Qry1.Close;
Qry1.Open;
p0.Text := Qry1.Fields[0].AsString; //p0 es un edit que sta en el form
p1.Text := inttostr(Qry1.Fields[1].AsInteger); //p1 es un edit que sta en el form
if Qry1.Fields[0].IsNull then
begin
letra := 'A';
numcon := 1;
end
else
if Qry1.Fields[1].IsNull then
begin
letra := Qry1.Fields[0].AsString;
numcon := 1;
end
else
if Qry1.Fields[1].Value < 100 then
begin
letra := Qry1.Fields[0].AsString;
numcon := Qry1.Fields[1].AsInteger;
numcon := numcon + 1;
end
else
if Qry1.Fields[1].Value = 100 then
begin
par0 := P0.Text;
par1 := par0[1];
par2 := ord((par1));
par2 := par2 + 1;
letra := chr(par2);
numcon := 1;
end;
edit3.Text := fijo + letra + inttostr(numcon);


gracias por responder
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:clave compuesta automatica

Publicado por Judit (45 intervenciones) el 27/03/2007 23:10:59
Ahh

Qry1 trae la ultima letra y el ultimo numero que se agrego en la tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:clave compuesta automatica

Publicado por nombre (106 intervenciones) el 28/03/2007 17:35:57
¿No puedes poner una condición? por ejemplo

Si (longitud letra es 1) y (letra es 'Z') y (número es 100) entonces
letra := 'AA';
else si (longitud letra es 2) y (LetraSegunda es 'Z') y (número es 100) entonces
letra := LetraSiguienteDeLaPrimera + ' A'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:clave compuesta automatica

Publicado por Judit (45 intervenciones) el 28/03/2007 18:17:41
Gracias por tu sugerencia.

Deja ver si me funciona de esa manera.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:clave compuesta automatica

Publicado por mijail (11 intervenciones) el 19/07/2007 10:04:34
Hey, soy un poco novato en esto y me interesaria ese tipo de ID, Judit, si cuando te funciona me podrias facilitar el codigo fuente, te lo agradeceria muchisimo, es que tengo problemas para crear un id compuesto como el tuyo... Gracias...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar