PuPax Posted April 4, 2006 at 01:51 PM Report #20890 Posted April 4, 2006 at 01:51 PM Eu queria saber como ligar o visual basic a uma base de dados do Microsoft Acces alguem me ajuda?
pebat Posted April 4, 2006 at 02:42 PM Report #20899 Posted April 4, 2006 at 02:42 PM Benvido ao forum.... tens que usar o compomente ADODC.
teckV Posted April 4, 2006 at 03:48 PM Report #20903 Posted April 4, 2006 at 03:48 PM 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
Dangerous Posted April 26, 2006 at 11:16 PM Report #24561 Posted April 26, 2006 at 11:16 PM 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.
psiico Posted April 27, 2006 at 12:00 AM Report #24565 Posted April 27, 2006 at 12:00 AM isto nao tem que ser adicionado um controlador ou xamem-lhe o k kiserem em Origem de dados (ODCB) nas ferramentas administrativas? Psiico // Portfolio
_Rest_ Posted April 27, 2006 at 01:46 AM Report #24570 Posted April 27, 2006 at 01:46 AM 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.
joninho Posted May 8, 2006 at 08:29 PM Report #26440 Posted May 8, 2006 at 08:29 PM 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 :\
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now