Você está na página 1de 12

Para criar uma conexo com um banco de dados Access no vb.

net, siga
as instrues a seguir:

Crie um projeto Windows form, e salve o projeto.


Copie para dentro da pasta onde ficam armazenados os arquivos de formulrio
com extenso vb o arquivo de banco de dados.
Acesse o menu Data, e escolha a opo ADD NEW DATA SOURCES, caso
seja a primeira conexo com o banco que ser realizada.

- A tela a seguir ser apresentada:

Clique, ento, na opo DATABASE, e clique no boto NEXT. A tela a seguir ser
apresentada:
Agora o momento de criar a conexo do banco.

Ao clicar no boto NEW CONNECTION, a tela a seguir ser exibida. Ento, por meio
do boto BROWSER, localize o arquivo de banco de dados, e clique no boto TEST
CONNECTION.

Se o teste for concludo com xito, clique no boto OK, e depois no boto NEXT.

A tela a seguir ser apresentada.

De acordo com Macoratti, seguem as orientaes dessa tela:

apresentada uma janela informando que a conexo que voc selecionou usa um banco
de dados local que no esta no projeto atual, e, em seguida vem a pergunta: Voc deseja
copiar o arquivo para o projeto e modificar a conexo ?
aqui que muitos, por no prestarem ateno, perdem noites de sono...
Veja a mensagem logo abaixo que procura esclarecer o que esta acontecendo. Leia com
ateno (j traduzida):
"Se voc copiar o arquivo de dados para o seu projeto, ele ser copiado para o
diretrio de sada (AppData) toda a vez que voc rodar a aplicao."
Ora, isso significa que se voc rodar a aplicao e gravar alguns dados no banco de
dados da prxima vez que executar a aplicao o banco de dados ser copiado para o
seu projeto e dos dados sero perdidos !!! Entendeu ???
Uma pausa para explicar o que esta acontecendo...
Um arquivo de banco de dados local pode ser includo como um arquivo em um projeto
e a primeira vez que voc faz a conexo da sua aplicao com o arquivo de banco de
dados local voc pode escolher entre criar uma cpia do banco de dados no seu projeto
ou fazer a conexo com o arquivo de banco de dados existente na localizao original
onde foi criado.
Se voc escolher que deseja se conectar com um arquivo j existente , ento uma
conexo ser criada da mesma forma que uma conexo remota criada e o banco de
dados vai permanecer na sua localizao original.
Se voc escolher que deseja copiar o banco de dados para o seu projeto o Visual Basic
cria uma cpia do arquivo de banco de dados e o inclui no seu projeto modificando a

conexo de forma que ela agora ir apontar para o arquivo de banco de dados no seu
projeto e no para a localizao original do arquivo de banco de dados.
Quando voc constri o seu projeto atravs da opo Build, o arquivo de banco de
dados pode ser copiado da pasta raiz do projeto para a pasta de sada bin (selecione a
opo Show All Files na janela Solution Explorer para ver a pasta bin).
Este comportamento configurado pela
propriedade Copy to Output Directory do
arquivo e depende do banco de dados que voc
esta usando:

O arquivo de banco de dados na pasta raiz do seu projeto alterado somente quando
voc editar o esquema do banco de dados atravs do Server Explorer/Database Explorer
ou outra ferramenta Visual. (Visual Database Tools)
O comportamento do banco de dados depende ento da configurao da propriedade
Copy to Output Directory que descrita a seguir:
Copy to
Output

Copy if newer
(padro para
arquivos.sdf)

Comportamento
O banco de dados copiado do diretrio do projeto para o diretrio bin na primeira
vez que o projeto construdo(Build). Aps isso , cada vez que voc constri o
projeto , a propriedade Date Modified do arquivo comparada e se o arquivo no
diretrio do projeto mais recente ele copiado para a pasta bin substituindo o
arquivo l existente. Se o arquivo na pasta bin for mais recente o arquivo no
copiado. Desta forma cada vez que voc roda sua aplicao faz e salva alteraes nos
dados , elas sero visveis na prxima vez que voc rodar a aplicao.
Obs: Esta opo no recomendada para arquivos .mdb ou arquivos .mdf pois
o arquivo de banco de dados pode mudar mesmo quando no houver alteraes
de dados; se voc abrir uma conexo expandindo as tabelas no DataBase
Explorer pode marcar o arquivo como mais recente.

O arquivo de banco de dados copiado da pasta do projeto para a pasta /bin cada vez
que voc constri a aplicao (Build). Cada vez que voc constri a aplicao e salva
Copy always
as alteraes nos dados , estas mudanas so sobrescritas quando o arquivo original
(padro para .mdf copiada para a pasta /bin substituindo a cpia que voc acabou de alterar. Voc no
and .mdb)
v as alteraes na prxima vez que rodar a aplicao. Qualquer mudana feita nos
dados na pasta de sada ser sobrescrita na prxima vez que a aplicao for
executada..
O arquivo nunca copiado ou sobrescrito pelo sistema. Como a aplicao criar uma
conexo dinmica que aponta para o banco de dados no diretrio de sada , esta
Do not copy
configurao somente funciona para banco de dados local quando voc copia
manualmente o arquivo voc mesmo. Voc ter que copiar o arquivo para a pasta de
sada depois de definir esta configurao.

Clique ento na opo SIM, e a tela a seguir ser apresentada:

Salve a conexo clicando no boto NEXT.


Nesta tela, voc deve escolher quais objetos do banco de dados deseja acessar por
essa conexo. Sugiro que escolha todas as tabelas (tables) e consultas (views). E
clique no boto FINISH.

A conexo com o banco est pronta. Ento, vamos partir para a construo do
primeiro formulrio.
O banco de dados de exemplo possui duas tabelas, uma de clientes, que possui os
campos cdigo do cliente, nome do cliente e a identificao da cidade onde reside. E
uma outra tabela de cidades, que possui apenas os campos cdigo da cidade e
descrio da cidade.
Por meio da janela
DATA SOURCES voc
poder visualizar todo o
contedo do banco que
acabou de conectar.
Para isso, no menu
DATA, clique na opo
SHOW
DATA
SOURCES, caso j no
esteja visualizando essa
janela. Veja ao lado.

Ao clicar no smbolo ao lado do nome da tabela


Cidade, voc ver os campos desta tabela.

Ao clicar no nome da tabela, algumas opes sero


apresentadas. Elas se referem ao formato de
apresentao dos
campos no
formulrio.
Geralmente, para formulrios primrios, utiliza-se o
estilo DETAILS, e para os formulrio que so
compostos de chaves estrangeiras, o estilo
DATAGRIDVIEW.
Para o primeiro formulrio de Cidade, selecione a
opo DETAILS. E para o segundo formulrio a ser
construdo, o estilo DATAGRIDVIEW.

Clique, e no solte o mouse, e arraste para o formulrio em branco que est disponvel
para trabalhar. Solte o mouse dentro do formulrio, e, ento, a conexo com o banco
est pronta, com direito a um Navigator (classe do vb que permite navegao e edio
de registros). Veja a seguir:

Em execuo:

Adicione um novo formulrio, e


vamos construir o prximo com uma
DATAGRIDVIEW para a tabela Clientes. Clique no nome da tabela, e arraste para o
formulrio para criar a conexo.

r
Mas, para esse formulrio, em especial, temos uma chave estrangeira. Veja, que no
campo cidade, aparece o cdigo da cidade. Mas vamos facilitar a vida para o usurio.
Ento, vamos mudar um pouco esse grid.
Selecione o DataGrid. Com ele selecionado, observe que
no canto superior direito aparece um smbolo.

Clique nesse smbolo, e clique na opo EDIT COLUMNS.

A tela a seguir ser apresentada. Selecione ento o campo Cidade, que a nossa
chave estrangeira, e nas pripriedades, localize a COLUMN TYPE, e selecione a opo
para que essa coluna seja uma combobox DATAGRIDVIEWCOMBOBOXCOLUMN,
conforme demostrado a seguir:

Imediatamente que essa opo for escolhida, outras opes nesta caixa de
propriedades sero exibidas e habilitadas, e devero ser preenchidas:

Agora, vamos falar um pouco dessas propriedades:


A propriedade DATAPROPERTYNAME j vem preenchida, pois a propriedade que
identifica qual campo da tabela Cliente est vinculado nesse objeto no nosso caso
o cdigo da cidade da tabela Cliente (que uma chave estrangeira).
Nosso intuito popular essa combo com todas as cidade (registros) que se encontram
na tabela de Cidades. Ento a propriedade DATASOURCE desse objeto o objeto de
conexo com a tabela de Cidades: CIDADEBINDINGSOURCE.
A propriedade DISPLAYMEMBER a responsvel de identificar qual campo voc quer
mostrar na combobox da tabela Cidade. Vamos exibir o nome da cidade de gravar o
cdigo, certo? Ento, nessa propriedade, ficar o campo Campo1.
A propriedade VALUEMEMBER a responsvel de identificar qual campo voc quer
gravar na tabela Cliente, o campo que est na tabela Cidade. Vamos ento, escolher o
campo Cdigo.
O formulrio de cliente em execuo: