Delphi - Problemas con Between..listar desde hasta

 
Vista:

Problemas con Between..listar desde hasta

Publicado por Julian Andres (13 intervenciones) el 29/04/2011 16:06:48
Hola a todos...tengo una problema....tengo que hacer un listado entre dos claves ingresadas por el usuario, las cuales se muestran en un ComboBox...y en la consulta uso between..esta bien usar eso?..y el problema que tengo es que cuando ejecute el progam y preciono LIstar para quenerar el listado me salta un error que dice "Clave1 no tiene un valor predeterminado" no se cual es el error porque en el codigo que esta mas abajo, yo le asigno un valor....CUAL ES EL PROBLEMA?? AYUDAAAA
GRACIAS


Este es el Codigo parte del codigo donde me tira el error:

Clave:=integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
Clave1:=integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT Provincias.Clave, Provincias.Nombre,Ciudades.Codigo_Postal, Ciudades.Nombre_Ciudad FROM Provincias LEFT JOIN Ciudades ON Provincias.Clave = Ciudades.Clave_Provincia WHERE clave between clave and clave1 order by Clave';
ADOQuery1.Open;
ADOQuery1.Active:=true;
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Problemas con Between..listar desde hasta

Publicado por E.T. (1244 intervenciones) el 01/05/2011 22:08:21
Estas más o menos bien, solo que no puedes solo agregar las variables en la consulta así como si nada, lo correcto sería mas o menos así:

Clave:=integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
Clave1:=integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT Provincias.Clave, Provincias.Nombre,Ciudades.Codigo_Postal,');
ADOQuery1.SQL.Add('Ciudades.Nombre_Ciudad FROM Provincias');
ADOQuery1.SQL.Add('LEFT JOIN Ciudades ON Provincias.Clave = Ciudades.Clave_Provincia');
ADOQuery1.SQL.Add('WHERE clave between ' + inttostr(clave) + ' AND ' + inttostr(clave1));
ADOQuery1.SQL.Add('order by clave');
ADOQuery1.Open;
ADOQuery1.Active:=true;
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