PDA

Ver la Versión Completa : crear consulta adoquery


Yensis22
04-04-2008, 14:26:05
Hola: necesito ulgente mente un codigo fuente que tenga una consulta con adoquery a una base dato de access que no se como hacerla. estratado de de hacerla pero no me da los resultadso es por nombre y otro por apellido son varia pero esta son dos de las que tengo que hacer


for favor un codigo fuente o de donde lo puedo bajar es que soy nuevo y tengo que entregar un proyecto y nanamas me faltan las consultas y tiene que ser con ado query y access faror poror.:(:(:(

es que tengo que entregar un proyecto de facturacion y es lo unico que me falta.

Caral
04-04-2008, 16:11:42
Hola
Vamos a hacer la tarea:
Ponemos un componente AdoQuery en el form.
Ponemos un boton.
En em evento onclick del boton:

AdoQuery1.sql.text:= 'Select nombre from TuTabla';
La otra simplemente cambias nombre por apellido.
Supongo que es lo que necesitas.
Saludos

Yensis22
05-04-2008, 01:09:51
cundo le doy al botton me limpia el dbgrir y no me deja ninguno de los registro lo deja en blanco

Yensis22
05-04-2008, 01:39:42
tengo este codigo pero no me hace nada y probe como me digiste pero haci me lo deja en blanco todo el dbgril

procedure Tconombreyapellidos.Button2Click(Sender: TObject);
begin
close;
end;
procedure Tconombreyapellidos.Button1Click(Sender: TObject);
begin
adoquery1.active:=false;
adoquery1.sql.clear;
AdoQuery1.sql.text:= 'Select nom_cliente from clientes';
adoquery1.sql.add ('SELECT clientes');
adoquery1.active:=true;
end;
end.

Yensis22
05-04-2008, 03:12:34
este codigo me esta dando error y creo que mu puede funciona en la parte roja me esta dondo error.
type
Tconombreyapellidos = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button2: TButton;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
ADOQuery1: TADOQuery;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
//var;
// myVariable:Integer;
// myQry: boolean;
end;
var
conombreyapellidos: Tconombreyapellidos;
implementation
{$R *.dfm}
procedure Tconombreyapellidos.Button2Click(Sender: TObject);
begin
close;
end;
procedure Tconombreyapellidos.Button1Click(Sender: TObject);
begin
//EDIT1.TEXT NO EVENTO ONCHANGE
With ADOQUERY1 DO BEGIN
CLOSE;
SQL.ADD('SELECT *');
SQL.ADD('FROM CLIENTES');
SQL.ADD('wHERE nom_cliente LIKE :nom_cliente');
PARAMETERS.pParamByName ('nom_cliente'.VALUE): = EDIT1.TEXTE + '%';
SQL.ADD('ORDER BY NOME');
OPEN;
END;
end;
end.

Caral
05-04-2008, 03:52:14
Hola

procedure Tconombreyapellidos.Button1Click(Sender: TObject);
begin
With ADOQUERY1 DO BEGIN
CLOSE;
SQL.Text:= 'SELECT * FROM CLIENTES WHERE nom_cliente = :nom_cliente ORDER BY NOME';
PARAMETERS[0].VALUE:= EDIT1.TEXT;
OPEN;
END;
end;
Saludos

Yensis22
05-04-2008, 07:26:15
cunado ejecuto la application me core pero cundo le doy clic en botto de busquedad me tira este mensaje.


project factura.exe. raised exeption closs EOleExcption with message `No se has especificado valores para algunos de los parametros requerios'. process stopped. Use Step or run to continue

pero el para metro tine valor 0 y nombre


procedure Tconombreyapellidos.Button1Click(Sender: TObject);
begin
With ADOQUERY1 DO BEGIN
CLOSE;
SQL.Text:= 'SELECT * FROM CLIENTES WHERE nom_cliente = :nom_cliente ORDER BY NOME';
PARAMETERS[0].VALUE:= EDIT1.TEXT;
OPEN;

end;
end;
end.

Lepe
05-04-2008, 12:23:30
El parámetro tiene el mismo nombre que el campo, y se considera un caso especial. No se puede utilizar "parameters.parambyname" sino que tendrías que usar "Fieldbyname" pero realmente no es lo que quieres.

En el sql, en lugar de ":nom_cliente" usa por ejemplo ":prnom_cliente", yo siempre añado el prefijo "pr" (de parámetro) y así no hay confusiones.

Saludos

Caral
06-04-2008, 05:59:48
Hola
Es muy interesante, siempre pensé que con solo tener los dos puntos se reconocía como un parámetro.
Buen dato, Siempre aprendo del Maestro, de eso no hay duda.
Saludos