Jump to content
PuPax

VB6 com Access

Recommended Posts

PuPax

Eu queria saber como ligar o visual basic a uma base de dados do Microsoft Acces alguem me ajuda?

Share this post


Link to post
Share on other sites
teckV

existem diversas formas de o fazer...

como sabes a programação nos dias de hoje desenvolve-se em blocos, pedaços de código que fazem coisas "out-of-the-box" para que os programadores se dediquem inteiramente às questões especificas ao que desejam

estes blocos chamam-se API (Aplication Programming Interface) e são blocos de código para as tarefas comuns a todos os programadores, nomeadamente o acesso a bases de dados...

a api ADODB é uma serie de rotinas e funções de código que gerem as questões de baixo nivel relativas ao acesso às bases de dados...

em seguida vou mostrar os pontos mais importantes em código da manipulação de bases de dados access recorrendo à API ADODB

Definem-se os objectos necessários como:

  • uma ligação à base de dados (connection)
  • um command (para ir buscar os dados à bd)
  • e um Recordset para armazenar os dados na memoria, tornando possivel a sua  manipulação em código

Dim conConnection As New ADODB.Connection
Dim cmdCommand As New ADODB.Command
Dim rstRecordSet As New ADODB.Recordset

a connection string para a ligação (connection) define o processo de ligação à bd como:

  • o Provider (os drivers da bd)
  • Data Source (define a bd para se aceder)
  • o modo e outras são opcionais

conConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
      App.Path & "\" & "database.mdb;Mode=Read|Write"

 

estabeleçer a ligação

conConnection.Open

defenir as propriedades do objecto command

  • Qual a ligação a usar (connection)
  • a query a executar (os dados que queremos)
  • o tipo de comando(nexte caso um comando de text em T-SQL

With cmdCommand
    .ActiveConnection = conConnection
    .CommandText = "SELECT * FROM tabTestTable;"
    .CommandType = adCmdText
End With

o command vai buscar os dados à bd e passa-os para o recordset como podem ver a seguir

With rstRecordSet
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Open cmdCommand  ' neste parametro metem o comando onde fizeram o select e ele passa os dados para o recordset
End With

agora este recordset têm todos os registos retornado na query "SELECT * FROM tabTestTable"

podem agora aceder aos dados atraves do recordset recem criado

valor = rstRecordSet.Fields(1)

não se esqueçam de fechar as ligações e destruir os objectos quando já não precisam deles para libertar recursos no servidor

rstRecordSet.Close

conConnection.Close

Set conConnection = Nothing
Set cmdCommand = Nothing
Set rstRecordSet = Nothing

 

Share this post


Link to post
Share on other sites
Dangerous

Bem teckV, Isso tudo está tudo bem mas acho que para resolver a dúvida do puPax deve-se dizer "coisas" mais simples

Ora para ligar a base de dados em access ao VB6:

No Access:

1º Criar a base de dados, grava-la, e depois de gravar ir ao menu "ferramentas" > "Utilitarios de base de dados" > "Converter base de dados" > e converter a base de dados para uma versão anterior da base de dados access..

No vb6:

1º Inserir um objecto DATA no Form

2º Selecionar esse objecto e alterar as propriadades:

  • Data Base name: Selecionando a base de dados
  • Record Sorce: Selecinoando a tabela

Estas sao as propriedades, digamos, principais do objecto Data.

Depois para ler os dados da tabela basta Pex:

data1.recordset.findfirst "nome'" & text1 & "'"

if data1.recordset.nomatch then

msgbox "nome não existe"

else

msgbox "o nome ' " &text1 &"' Está na " & data1.recordset.fields(0) & " ' posição "

end if

isso é um exemplo.. depois podes explorar uma bocadinho mais o data1.recordset e ler sobre isso... O objecto que faz a ligação "directa" com a base de dados é o Data.

Share this post


Link to post
Share on other sites
_Rest_

Eu queria saber como ligar o visual basic a uma base de dados do Microsoft Acces alguem me ajuda?

na barra de ferramentas em cima, vais a Project - Add Data Envoriment. Dps aparece te uma janela, selecionas Connection1 e vais a properties. Escolhes

Microsoft jet 4.0 OLE DB Provider da lista e carregas next.

Dps no passo 1 localizas a tua BD e fazes testconection. Se der sucess ja ta.

Se quiseres fazer uma aplicação simples pa pesquisar na bd, vais a connection metes add command. Dps vais as properties do command escolhes SQL statment e metes o cod de SQL ou então vais a SQL builder e aparece t 2 janelas. Na data view vais a connection1 - tables e arrastas as tabelas k keres para a outra. Selecionas as colums e fazes run nessa janela. Dps fechas, guardas a query. Agora é só arrastares o command para o teu form e criares uns

botões de pesquisa.

Share this post


Link to post
Share on other sites
joninho

Bem teckV, Isso tudo está tudo bem mas acho que para resolver a dúvida do puPax deve-se dizer "coisas" mais simples

Ora para ligar a base de dados em access ao VB6:

No Access:

1º Criar a base de dados, grava-la, e depois de gravar ir ao menu "ferramentas" > "Utilitarios de base de dados" > "Converter base de dados" > e converter a base de dados para uma versão anterior da base de dados access..

No vb6:

1º Inserir um objecto DATA no Form

2º Selecionar esse objecto e alterar as propriadades:

  • Data Base name: Selecionando a base de dados
  • Record Sorce: Selecinoando a tabela

Estas sao as propriedades, digamos, principais do objecto Data.

Depois para ler os dados da tabela basta Pex:

data1.recordset.findfirst "nome'" & text1 & "'"

if data1.recordset.nomatch then

msgbox "nome não existe"

else

msgbox "o nome ' " &text1 &"' Está na " & data1.recordset.fields(0) & " ' posição "

end if

isso é um exemplo.. depois podes explorar uma bocadinho mais o data1.recordset e ler sobre isso... O objecto que faz a ligação "directa" com a base de dados é o Data.

Opá nao consigo fazer isto :S eu´consigo ligar PHP com MYSql agora VB com access dá um barraco :\

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.