Consulta ao banco de dados usando vários ComboBox
MEu problema está explicado na imagem..
[url]http://img142.imageshack.us/my.php?image=imagemic2.jpg[/url]
[img]http://img142.imageshack.us/my.php?image=imagemic2.jpg[/img]
e o código que consegui fazer até agora é este:
Citação:
unit Buscar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Buttons, Mask, Grids, DBGrids;
type
TFormBuscaCand = class(TForm)
QueryBusca: TADOQuery;
Conn: TADOConnection;
QueryBuscaNomeEmp: TWideStringField;
QueryBuscaCargo: TWideStringField;
QueryBuscaSituacao1: TWideStringField;
QueryBuscaSituacao2: TWideStringField;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Label2: TLabel;
Label4: TLabel;
me_DtInicial: TMaskEdit;
BtnEmitir: TBitBtn;
bbtn_Sair: TBitBtn;
me_DtFinal: TMaskEdit;
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
BtnVisualizar: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtn_SairClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormBuscaCand: TFormBuscaCand;
implementation
uses MenuPrincipal;
{$R *.dfm}
procedure TFormBuscaCand.FormCreate(Sender: TObject);
var
I : Integer;
begin
//ComboBox com a lista de nomes de empresa
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox1.Items.Add(QueryBuscaNomeEmp.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
//ComboBox com a lista de Cargos da Empresa
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox2.Items.Add(QueryBuscaCargo.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
//ComboBox com o Resultado dos Testes
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox3.Items.Add(QueryBuscaSituacao1.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
//ComboBox com o Resultado Final da Seleção
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox4.Items.Add(QueryBuscaSituacao2.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
end;
{
procedure TFormBuscaCand.BtnVisualizar(Sender: TObject);
begin
QueryBusca.Close;
QueryBusca.SQL.Clear;
QueryBusca.SQL.Add(´SELECT NomeEmp, Situacao1, Situacao2, Celular,Telefone ´+
´FROM CadEmpresa, CadCand ´+
´Where ( ´+ Campo +´ LIKE :pDescricao) ´);
QueryBusca.Parameters.ParamByName(´pDescricao´).DataType := ftString ;
QueryBusca.Parameters.ParamByName(´pDescricao´).Value := ´¬´ + edt_Descricao.Text + ´¬´ ;
QueryBusca.Open;
end;
function TFormBuscaCand.Campo: string;
begin
result := ´´;
case Cbx_Campo.ItemIndex of
0: Result := ´Nome´;
1: Result := ´Cargo´;
2: Result := ´Formacao´;
3: Result := ´Escolaridade´;
4: Result := ´Situacao1´;
5: Result := ´Situacao2´;
end;
end;
}
procedure TFormBuscaCand.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//Necessário para encerrar corretamente o FormMDIChild
Action := caFree;
FormBuscaCand := Nil; //OBS.: ´FormBuscaCand´ é o nome do FORM e não do Arquivo
end;
{
procedure TForm1.ComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
Key := #0;
end;
procedure TForm1.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
Key := 0;
end;
procedure TForm1.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
Key := 0;
end;
procedure TForm1.ComboBox4KeyPress(Sender: TObject; var Key: Char);
begin
Key := 0;
end;
}
procedure TFormBuscaCand.bbtn_SairClick(Sender: TObject);
begin
Self.Close;
end;
end.
[url]http://img142.imageshack.us/my.php?image=imagemic2.jpg[/url]
[img]http://img142.imageshack.us/my.php?image=imagemic2.jpg[/img]
e o código que consegui fazer até agora é este:
Citação:
unit Buscar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Buttons, Mask, Grids, DBGrids;
type
TFormBuscaCand = class(TForm)
QueryBusca: TADOQuery;
Conn: TADOConnection;
QueryBuscaNomeEmp: TWideStringField;
QueryBuscaCargo: TWideStringField;
QueryBuscaSituacao1: TWideStringField;
QueryBuscaSituacao2: TWideStringField;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Label2: TLabel;
Label4: TLabel;
me_DtInicial: TMaskEdit;
BtnEmitir: TBitBtn;
bbtn_Sair: TBitBtn;
me_DtFinal: TMaskEdit;
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
BtnVisualizar: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtn_SairClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormBuscaCand: TFormBuscaCand;
implementation
uses MenuPrincipal;
{$R *.dfm}
procedure TFormBuscaCand.FormCreate(Sender: TObject);
var
I : Integer;
begin
//ComboBox com a lista de nomes de empresa
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox1.Items.Add(QueryBuscaNomeEmp.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
//ComboBox com a lista de Cargos da Empresa
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox2.Items.Add(QueryBuscaCargo.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
//ComboBox com o Resultado dos Testes
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox3.Items.Add(QueryBuscaSituacao1.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
//ComboBox com o Resultado Final da Seleção
QueryBusca.Open;
QueryBusca.First;
for I := 0 to (QueryBusca.RecordCount -1) do
Begin
ComboBox4.Items.Add(QueryBuscaSituacao2.AsString);
QueryBusca.Next;
end;
QueryBusca.Close;
end;
{
procedure TFormBuscaCand.BtnVisualizar(Sender: TObject);
begin
QueryBusca.Close;
QueryBusca.SQL.Clear;
QueryBusca.SQL.Add(´SELECT NomeEmp, Situacao1, Situacao2, Celular,Telefone ´+
´FROM CadEmpresa, CadCand ´+
´Where ( ´+ Campo +´ LIKE :pDescricao) ´);
QueryBusca.Parameters.ParamByName(´pDescricao´).DataType := ftString ;
QueryBusca.Parameters.ParamByName(´pDescricao´).Value := ´¬´ + edt_Descricao.Text + ´¬´ ;
QueryBusca.Open;
end;
function TFormBuscaCand.Campo: string;
begin
result := ´´;
case Cbx_Campo.ItemIndex of
0: Result := ´Nome´;
1: Result := ´Cargo´;
2: Result := ´Formacao´;
3: Result := ´Escolaridade´;
4: Result := ´Situacao1´;
5: Result := ´Situacao2´;
end;
end;
}
procedure TFormBuscaCand.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//Necessário para encerrar corretamente o FormMDIChild
Action := caFree;
FormBuscaCand := Nil; //OBS.: ´FormBuscaCand´ é o nome do FORM e não do Arquivo
end;
{
procedure TForm1.ComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
Key := #0;
end;
procedure TForm1.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
Key := 0;
end;
procedure TForm1.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
Key := 0;
end;
procedure TForm1.ComboBox4KeyPress(Sender: TObject; var Key: Char);
begin
Key := 0;
end;
}
procedure TFormBuscaCand.bbtn_SairClick(Sender: TObject);
begin
Self.Close;
end;
end.
Barretoee
Curtidas 0