Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

miutinhu

[Resolvido] Conexão e Consulta em ACCESS

Recommended Posts

Boa tarde pessoal;

Minha dúvida é simples, mas não estou conseguindo, pesquisei em alguns lugares, e por fim estou fazendo deste jeito

.

.

.

Private Sub cmdConsultar_Click()
intCodigo = InputBox("Digite o Código", "Consulta")
With Adodc1
    .Visible = False
    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Apariciofer\Desktop\lu\Programa\bd_lu.mdb;Persist Security Info=False"
    .RecordSource = "select * from tbl_cliente where cod_cliente='intcod'"
    
    .EOFAction = adDoMoveLast
    .Mode = adModeReadWrite
   ' .Refresh
 
End With

End Sub
.

.

.

Basicamente, eu digito o código do cliente em uma Input

e gostaria que aparece nos campos... o resto dos dados desse cliente...

 

mas de todos os tutoriais que achei, não consegui seguir nenhum, pois sempre dá um erro do tipo

 

"conexao nao pode ser usada para realizar esta operação. ela está fechada ou é invalida neste context"

alguem pode me ajudar?

como eu faço para apresentar as informações que puxei nos campos ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça dessa forma:

 

Obs.: Neste exemplo, eu cloquei o .mdb na mesma pasta que o executável.

O CPF é só um exemplo.

 

Crie estas variáveis públicas, por exemplo:

 

Public Conexao As ADODB.Connection
Public regUsuario As ADODB.Recordset

Depois vamos usá-las:

 

Set Conexao = New ADODB.Connection
Conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\bd_lu.mdb;Persist Security Info=False;Jet OLEDB:Database Password=""
Conexao.Open
Set regUsuario = New ADODB.Recordset
gblstrComando = "select * from funcionario where txtcpf='" & itxtCPF.Text & "'"
regFunc.Open gblstrComando, Conexao, adOpenDynamic

 

Poste se deu certo.

 

Alex.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está dando erro ainda, não sei se acabei explicando direito o que eu quero!

 

vou tentar explicar;

uma telinha com 2 campos (Exemplo)

Tela VB 6.0

txtcod e txtnome e cmdconsultar

 

Banco de Dados (Access)

nome BD_LU

nome da tabela TBL_CLIENTE

 

.

.

.

.

eu estou tentando digitar o Cod

e puxar o nome

porém só consigo conectar o banco com ADODC

ai deixo ele visible=false

mas conecta

porém não consigo gerar a consulta

fica dando erro

 

Public Conexao As ADODB.Connection
Public regUsuario As ADODB.Recordset

Private Sub cmdConsultar_Click()




'intCodigo = InputBox("Digite o Código", "Consulta")
'With Adodc1
    '.Visible = False
'    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Apariciofer\Desktop\Lu\Programa\bd_lu.mdb;Persist Security Info=False"
'    .RecordSource = "select * from tbl_cliente where cod_cliente='intcodigo'"
    
'    .EOFAction = adDoMoveLast
 '   .Mode = adModeReadWrite
'
'    .Refresh
 
'End With

End Sub
Private Sub Form_Load()
Set Conexao = New ADODB.Connection
Conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\bd_lu.mdb;Persist Security Info=False;Jet OLEDB:Database Password="""
Conexao.Open
Set regUsuario = New ADODB.Recordset
gblstrComando = "select * from tbl_cliente where razao_cli='" & txtnome.Text & "'"
regFunc.Open gblstrComando, Conexao, adOpenDynamic

End Sub

 

está dando o seguinte erro

os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito

Run-Time error 3001

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public Conexao As ADODB.Connection

'intCodigo = InputBox("Digite o Código", "Consulta")
'With Adodc1
    '.Visible = False
'    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Apariciofer\Desktop\Lu\Programa\bd_lu.mdb;Persist Security Info=False"
'    .RecordSource = "select * from tbl_cliente where cod_cliente='intcodigo'"
    

Sempre aponte qual é a linha que está dando erro, isso nos facilita procurar o erro.

 

Mas na sua consulta há um, ou possivelmente dois erros.

 

Você passou um valor para a vairável intCodigo, e na hora de fazer a consulta utilizando foi quando errou. O que está tentando fazer ali é utilizar uma variável do VB para fazer uma consulta no SQL, sendo assim, você precisa concatenar as duas partes. Fica assim:

'    .RecordSource = "select * from tbl_cliente where cod_cliente='" & intcodigo & "'"
E talvez haja mais um erro ai, pois se está pegando o código do cliente, suponho eu que a coluna cod_cliente seja numérica, se for, você deve tirar as aspas simples, ficando assim:

'    .RecordSource = "select * from tbl_cliente where cod_cliente=" & intcodigo
Só considere esse segundo caso se sua coluna cod_cliente for numérica mesmo heim.

 

E diga qual linha o erro aponta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.