ERRO NA CONEXAO DO BANCO DE DADOS

RICKSOUSA 23/05/2012 13:20:53
#402556
quando eu executo acontece esse erro que segue na imagem. ai vai o codigo abaixo:


Dim conexao As New Connection [ô]Variável do Tipo Conexão
Dim rs As New Recordset [ô]Variável do Tipo Tabela

Private Sub Form_Load()

conexao.Provider = [Ô]Microsoft.Jet.OLEDB.4.0[Ô] [ô]especifica o tipo de banco de dados
conexao.Open App.Path & [Ô]\banco.mdb[Ô] [ô]abre o banco de dados
rs.Open [Ô]agenda telefonica[Ô], conexao, 3 [ô]abre a tabela

carrega_form

End Sub
RICKSOUSA 23/05/2012 13:22:35
#402557
o banco de dados que estou usando é o access 2003.
MARCELO.TREZE 23/05/2012 13:40:36
#402559
estranha sua conexão tente isso

em um módulo

Global Conexao As New ADODB.Connection

Public Function Conecta(Valor As Boolean)
If Valor = True Then
If Conexao.State = 1 Then Conexao.Close
Conexao.CursorLocation = adUseClient
sConnString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\Banco.mdb;Persist Security Info=False[Ô]
Conexao.Open sConnString
Else
Conexao.Close
End If
End Function


no form basta fazer isso

Private Sub Form_Load()
Conecta True [txt-color=#007100][ô] para conectar[/txt-color]
[txt-color=#007100][ô] conecta False [ô] para desconectar[/txt-color]
End sub

RICKSOUSA 23/05/2012 14:02:31
#402561
só uma duvida, é que estou aprendendo amigo, é só criar um modulo e jogar isso dentro de um modulo?
MARCELO.TREZE 23/05/2012 15:39:14
#402572
exatamente amigo jogue a função em um módulo, depois fica mais fácil de fazer qualquer consulta, inclusão e exclusão, veja:

suponha que você crie um botão para pesquisar então bastaria fazer isto

Private Sub btnConsulta_Click()
Conecta True [ô] a conexão é feita
Dim RS As Recordset
Dim sSQL As String
sSQL = [Ô]SELECT * FROM tabela[Ô]
Set RS = Conexao.Execute(sSQL)
Do While Not RS.EOF
List1.AddItem RS!nome
RS.MoveNext
Loop
Conecta False [ô] Fecha a conexão
End Sub



para incluir um dado é simples também

Private Sub BtnIncluir_Click()
Conecta True
conexao.Execute [Ô]INSERT INTO tabela (campo1,campo2) VALUES( [ô]valor1[ô],[ô]valor2[ô])[Ô]
Conecta False
End Sub


fica bem mais prático não acha

RICKSOUSA 23/05/2012 16:50:45
#402589
valeu amigão!
RICKSOUSA 23/05/2012 17:07:16
#402593
amigo eu tentei assim:

Conecta True
[txt-color=#e80000]Conexao.Execute [Ô]INSERT INTO agenda telefonica (Código:,Nome:,Endereço:,Numero:,Bairro:,Cidade:,UF:,Telefone:,Celular:) VALUES( [ô]codigo.caption[ô],[ô]nome.text[ô],[ô]endereco.text[ô],[ô]numero.text[ô],[ô]bairro.text[ô],[ô]cidade.text[ô],[ô]UF.text[ô],[ô]telefone.text[ô],[ô]celular.text[ô])[Ô]
[/txt-color] Conecta False

agenda telefonica = nome da tabela
Código:,Nome:,Endereço:,Numero:,Bairro:,Cidade:,UF:,Telefone:,Celular: = nome dos campos na tabela
[ô]codigo.caption[ô],[ô]nome.text[ô],[ô]endereco.text[ô],[ô]numero.text[ô],[ô]bairro.text[ô],[ô]cidade.text[ô],[ô]UF.text[ô],[ô]telefone.text[ô],[ô]celular.text = nome dos objetos no form.

esta dando o erro:

erro de sintaxe no INSERT INTO.
OMAR2011 23/05/2012 17:15:51
#402596
[Ô] & codigo.caption & [Ô],[ô][Ô] & nome.text & [Ô][ô] assim por diante com todos.
Não use acentos em campos de Tabelas e nem Nome:.
Pra que dois pontos.
MARCELO.TREZE 23/05/2012 17:22:09
#402598
você colocou dois pontos no nome dos campos acredito que seja esse o problema
CASTELO 23/05/2012 17:26:15
#402601
Resposta escolhida
RICKSOUSA

sua tabela renomeia para AGENDA_TELEFONICA

e vê os nomes dos campos (colunas)

eu corrigi ai para os [Ô]prováveis[Ô] nomes

SQL = [Ô]INSERT INTO agenda_telefonica (codigo,nome,endereco,numero,bairro,cidade,uf,telefone,celular) VALUES[Ô] & _
[Ô]([ô][Ô] & codigo.caption & [Ô][ô],[ô][Ô] & nome.text & [Ô][ô],[ô][Ô] & endereco.text & [Ô][ô],[ô][Ô] & numero.text & [Ô][ô],[ô][Ô] & bairro.text & [Ô][ô],[ô][Ô] & cidade.text & [Ô][ô],[ô][Ô] & UF.text & [Ô][ô],[ô][Ô] & telefone.text & [Ô][ô],[ô][Ô] & celular.text & [Ô][ô])[Ô]

Conexao.Execute SQL
RICKSOUSA 23/05/2012 17:44:33
#402604
na vdd todos ajudarão, gostaria de pontuar todos mais como a informação do castelo foi mais eficaz vou pontuar ele mais obrigado a todos.
Tópico encerrado , respostas não são mais permitidas