Fórum Conectar Banco de Dados ACESS e Data Module #263441
27/12/2004
0
gostaria que vocês me ajudassem na minha seguinte dúvida.
Como eu faço para acessar um banco de dados ACESS sem que o cliente precise configurar nada de alias, etc.
Eu preciso que as tabelas fiquem no Data Module, daí no meu sistema eu sempre acesso as tabelas a partir do module.
por favor, ajude-me nisso....
abraços
Luisribeiro
Curtir tópico
+ 0Posts
27/12/2004
Bruno_fantin
E quanto ao datamodule é só criar um e colocar todas as adoquery dentro dele...
Gostei + 0
27/12/2004
Luisribeiro
Você poderia me orientar fazendo um favor?
Muito Grato,
Gostei + 0
27/12/2004
Luisribeiro
Aguardo uma ajuda por favor,.....
Luis
Gostei + 0
27/12/2004
Bruno_fantin
Para configurar o ADO:
* Coloca um ADOConnection no datamodule...
* Der um duplo click nele...
* Der um duplo click na opção do Jet...
* Escolha o caminho do banco e der ok... (Se você segiu a dica acima não precisa informar o caminho... Só precisa informar o banco)...
Gostei + 0
27/12/2004
Luisribeiro
Será que no código eu não devo colocar aquele código que pega o caminho?
Muito obrigado pela ajuda...
abraços,
Luis
Gostei + 0
27/12/2004
Bruno_fantin
Se colocou em uma pasta diferente então vai ter que fazer via codigo sim...
Gostei + 0
27/12/2004
Luisribeiro
abraços,
Luis
Gostei + 0
27/12/2004
Bruno_fantin
var Caminho: String;
Caminho := ExtractFilePath(Application.ExeName);
Caminho := Caminho + ´\Dados\Banco.mdb´;
Ai você tem que substituir essa variavel caminho dentro da connection string do ADOConnection...
Gostei + 0
27/12/2004
Luisribeiro
a respeito dos tópicos acima, ocorreu tudo perfeito.
Só que agora, me pintou outra dúvida que está me traumatizando, é o seguinte. Eu criei um Data Module e lá com o ADO Conection e Table.
Ou seja, minha tabela chama: tb_loja, daí quando eu estou em outro form e tento buscar um campo da tabela ´DTModulo.tb_loja.FieldByName(´loja´).AsString´ dá erro.
A Unit do Module está mencionada certinho no Formulário que eu estou tentando recuperar o campo.
Por favor, ajude-me.
Desculpe por encher seu saco...
Abraços,
Gostei + 0
27/12/2004
Luisribeiro
Mas não funciona de jeito nenhum, você sabe o que pode estar acontecendo?
Abraços,
Gostei + 0
28/12/2004
Bon Jovi
Qual erro??
DTModulo está instanciado?
tb_loja foi ativado antes?
Gostei + 0
28/12/2004
Luisribeiro
StatusBar1.Panels[2].Text:=´ Loja: ´+DTModulo.tb_loja.ParamByName(´loja´).AsString;
O cursor para onde está ´ParamByName(´loja´)´.
O Módulo está instanciado na Uses, veja meu código abaixo:
unit UPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, WinSkinData, ToolWin, ComCtrls, Menus, StdCtrls, Mask,
DBCtrls, DB, ADODB;
type
TFrmPrincipal = class(TForm)
MainMenu1: TMainMenu;
Cadastros1: TMenuItem;
ToolBar1: TToolBar;
SkinData1: TSkinData;
Timer1: TTimer;
StatusBar1: TStatusBar;
Cadastros2: TMenuItem;
Cliente1: TMenuItem;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPrincipal: TFrmPrincipal;
implementation
uses UModulo;
{$R *.dfm}
procedure TFrmPrincipal.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[0].Text:=´ ´+DateToStr(now);
StatusBar1.Panels[1].Text:=´ Logado às ´+TimeToStr(now);
StatusBar1.Panels[2].Text:=´ Loja: ´+DTModulo.tb_loja.ParamByName(´loja´).AsString;
end;
end.
Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)