conexão DBedit

18/12/2003

1

Estou enviando as Units pois acontece o seguinte: Na hora de fazer a conexão do DBedit não consigo chamar o Banco de dados no DataSource do módulo de dados e com isso não consigo chamar a tabela e fazer as conexões com os campos segue abaixo as units:
Desde já agradeço
Atenciosamente: Ana Luzia


unit UnitSgf;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, Buttons, DB;

type
TfrmSgf = class(TForm)
MainMenu1: TMainMenu;
Cetep: TMenuItem;
Etesc: TMenuItem;
Cooperativa: TMenuItem;
Utilitarios: TMenuItem;
Aplicativos: TMenuItem;
Ajuda: TMenuItem;
Sair: TMenuItem;
Cadastar1: TMenuItem;
Pesquisar1: TMenuItem;
Pesquisar2: TMenuItem;
Cadastrar2: TMenuItem;
Cadastrar3: TMenuItem;
Pesquisar3: TMenuItem;
Grafico1: TMenuItem;
ArquivoMorto1: TMenuItem;
MicrosoftWord1: TMenuItem;
MicrosoftExcel1: TMenuItem;
Manual1: TMenuItem;
FecharoSGF1: TMenuItem;
Calculadora1: TMenuItem;
BitBtn1: TBitBtn;
Senhas1: TMenuItem;
Sobre1: TMenuItem;
procedure btnfecharClick(Sender: TObject);
procedure FecharoSGF1Click(Sender: TObject);
procedure Cadastar1Click(Sender: TObject);
procedure Cadastrar2Click(Sender: TObject);
procedure Cadastrar3Click(Sender: TObject);
//procedure btnControleDeAcessoClick(Sender: TObject);
//procedure FecharoSGF1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmSgf: TfrmSgf;

implementation

uses UnitLogin, UnitDM, CadCetep,UnitCadEtesc,UnitCadCooprativa;

{$R *.dfm}

procedure TfrmSgf.btnfecharClick(Sender: TObject);
begin
Close; //Fecha o formulário
end;

//procedure TfrmSgf.btnControleDeAcessoClick(Sender: TObject);
//begin
// frmControleDeAcesso.Show; //Abre o formulário tornando-o visível
//end;

//procedure TfrmSgf.FecharSGF1Click(Sender: TObject);
//begin
// Close; //Fecha o programa SGF
//end;

procedure TfrmSgf.FecharoSGF1Click(Sender: TObject);
begin
close;
end;

procedure TfrmSgf.Cadastar1Click(Sender: TObject);
begin
FormCadastrarCetep.ShowModal;
end;

procedure TfrmSgf.Cadastrar2Click(Sender: TObject);
begin
FormCadastrarEtesc.ShowModal;
end;

procedure TfrmSgf.Cadastrar3Click(Sender: TObject);
begin
FormCadastrarCooperativa.ShowModal;
end;

end.


unit CadCetep;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Buttons, Mask, db;

type
TFormCadastrarCetep = class(TForm)
lblNome: TLabel;
lblMatricula: TLabel;
lblDataNascimento: TLabel;
lblLocalNascimento: TLabel;
lblFiliacao: TLabel;
LblEstadoCivil: TLabel;
lblEndereco: TLabel;
lblNumero: TLabel;
lblComplemento: TLabel;
lblBAirro: TLabel;
lblCEP: TLabel;
lblTelefone: TLabel;
Label13: TLabel;
lblIdentidade: TLabel;
lblEmissor: TLabel;
lblData: TLabel;
lblTituloEleitor: TLabel;
lblSecao: TLabel;
lblZona: TLabel;
lblCTPS: TLabel;
lblSerie: TLabel;
lblCargo: TLabel;
lblSetor: TLabel;
lblDataAdmissao: TLabel;
lblContaCorrente: TLabel;
lblBanco: TLabel;
DBMemo2: TDBMemo;
Panel1: TPanel;
lblFerias: TLabel;
Label29: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
lblAgencia: TLabel;
DBMemo1: TDBMemo;
DBMemo3: TDBMemo;
lblObservacoes: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
private
{ Private declarations }
public
{ Public declarations }
end;

var
FormCadastrarCetep: TFormCadastrarCetep;

implementation

{$R *.dfm}

end.


unit UnitDM;

interface

uses
SysUtils, Classes, DB, DBTables;

type
TDM = class(TDataModule)
TableUsers: TTable;
DataSourceUsers: TDataSource;
TableUsersNome: TStringField;
TableUsersSenha: TStringField;
DataSourceCetep: TDataSource;
TableCetep: TTable;
TableCetepMatricula: TStringField;
TableCetepNome: TStringField;
TableCetepData_De_Nascimento: TDateTimeField;
TableCetepLocal_De_Nascimento: TStringField;
TableCetepFiliacao: TStringField;
TableCetepEstado_Civil: TStringField;
TableCetepEndereco: TStringField;
TableCetepNumero: TStringField;
TableCetepComplemento: TStringField;
TableCetepBairro: TStringField;
TableCetepTelefone: TStringField;
TableCetepCep: TStringField;
TableCetepIdentidade: TStringField;
TableCetepOrgao_Emissor: TStringField;
TableCetepData_Expedicao: TDateTimeField;
TableCetepCPF: TStringField;
TableCetepPIS_PASEP: TStringField;
TableCetepTitulo_Eleitor: TStringField;
TableCetepSecao: TStringField;
TableCetepZona: TStringField;
TableCetepCTPS: TStringField;
TableCetepSerie: TStringField;
TableCetepCargo: TStringField;
TableCetepSetor: TStringField;
TableCetepData_Admissao: TDateTimeField;
TableCetepConta_Corrente: TStringField;
TableCetepBanco: TStringField;
TableCetepAgencia: TStringField;
TableCetepFerias: TMemoField;
TableCetepProcessos_e_etc: TMemoField;
TableCetepObservacoes: TMemoField;
TableCetepFoto: TBlobField;
procedure DataModuleCreate(Sender: TObject);
procedure DataSourceUsersDataChange(Sender: TObject; Field: TField);
procedure DataSourceCetepDataChange(Sender: TObject; Field: TField);
private
{ Private declarations }
public
{ Public declarations }
end;

var
DM: TDM;

implementation

uses UnitSgf, UnitLogin, CadCetep;
{$R *.dfm}

procedure TDM.DataModuleCreate(Sender: TObject);
begin
frmSgf.Show;
frmLogin:=TfrmLogin.Create(Self);
frmLogin.Show;

end;

procedure TDM.DataSourceUsersDataChange(Sender: TObject; Field: TField);
begin

end;

procedure TDM.DataSourceCetepDataChange(Sender: TObject; Field: TField);
begin

end;

end.


unit UnitLogin;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, db;

type
TfrmLogin = class(TForm)
lblNome: TLabel;
lblSenha: TLabel;
lblMensagem: TLabel;
btnOK: TButton;
btnCancelar: TButton;
edNome: TEdit;
edSenha: TEdit;
Image1: TImage;
pnlMensagem: TPanel;
procedure btnCancelarClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmLogin: TfrmLogin;
Contador:Integer;
implementation

uses UnitSgf, UnitDM;

{$R *.dfm}

procedure TfrmLogin.btnCancelarClick(Sender: TObject);
begin
frmSgf.close;
end;

procedure TfrmLogin.FormShow(Sender: TObject);
begin
edNome.SetFocus; // Ao abrier o formulário, o componente recebe o foco
end;

procedure TfrmLogin.btnOKClick(Sender: TObject);
Var
ValorSenha:TStringField;
begin
if not DM.TableUsers.FindKey([edNome.Text]) then
Begin
pnlMensagem.Caption:=´ Login Recusado, Usuário desconhecido...´;
inc(Contador);
if Contador=4 then
frmSgf.Close;
edNome.SetFocus;
Exit;
end;
ValorSenha:=DM.TableUsers.FindField(´senha´) as tstringField;
if ValorSenha.Value<>edSenha.Text then
begin
pnlMensagem.Caption:=´Login Recusado, Senha invalida...´;
inc(Contador);
if contador=4 then
frmSgf.Close;
edSenha.SetFocus;
Exit;
end;
frmSgf.Enabled:=True;
frmLogin.Release;
end;
procedure TfrmLogin.FormClick(Sender: TObject);
begin
edNome.SetFocus; //ao abrir o formulário o compenente recebe o foco.
end;

end.

:?:


Responder

Posts

18/12/2003

Ilan

Ana,

a tabela deve estar em outro form ou em um data module e este (form ou em um data module ) não deve ter cido adicionado na sua uses.

caso seja isto, logo abaixo do [b:64704178bd]implementation[/b:64704178bd] da sua unit coloque a palavra [b:64704178bd]USES[/b:64704178bd] e em seguida o nome da unit que contem a tabela.
espero ter ajudado.

caso não entenda me mande um e-mail.
falo.
ilan.fa@pop.com.br


Responder

18/12/2003

Joe Ventrue

Ana...

Na segunda Unit, vc nao colocou a linha USES, q é referida acima, sem elas os componentes nao conseguem ´enxergar´ os componentes dos outros forms?

Abraco
Joe Ventrue


Responder

18/12/2003

Nigro

rs..
Código fonte de mulher é bonitinho tudo comentadinho, com linhas puldas que charme... Parabéns, gostaria de ser assim... mas tenho muita pressa... rs...


Responder

18/12/2003

Ana Luzia

[quote:749d3cbec4=´Joe Ventrue´]Ana...

Na segunda Unit, vc nao colocou a linha USES, q é referida acima, sem elas os componentes nao conseguem ´enxergar´ os componentes dos outros forms?

Abraco
Joe Ventrue[/quote:749d3cbec4]

Já consegui só que acontece o seguinte: Quando coloco o datasource já foi reconhecida só que agora o primeiro registro está aparecendo já no primeiro campo só que não executei nada ainda...por exemplo quando escolho na tabela o campo nome o dado do campo nome do primeiro registro da tabela está aparecendo
desde já agradeço


Responder

18/12/2003

Joe Ventrue

ops!...nao entendi direito... vc quer q a tabela comece desativada?

vc poderia explicar melhor isso?

Abraços
Joe Ventrue


Responder

19/12/2003

Ana Luzia

Eu estou ainda colocando o datasouce no Objeto inspectro e escolhendo a tabela quando coloco o primeiro campo que é o campo nome o primeiro registro ou seja os dados que eu cadastrei anteriormente na tabela do access já aparecem, eles só deveriam aparecer quando eu o sistema for executado
abraços
atenciosamente : Ana Luzia :?:


Responder

19/12/2003

Joe Ventrue

Desative a tabela... tipo, clica no componente TABLE e altere a propriedade(Objec INspetor) ACTIVE para FALSE;

pronto!

No On CREATE do form coloque:

dm.nomedatabela.active:=True;


...vale lembrar q estou me baseando q vc tenha um Data Module, senao tiver, coloque:

nomedatabela.active:=True;


Espero ter ajudado...

Abraços...
Junior


Responder