Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Select em VBA

Olá, bom dia!

Estou com uma dificuldade em fazer um select dentro de um código VBA

ele é bem básico mas não sei exatamente qual a estrutura correta do código para fazer o Select funcionar.

Public Function verificarcação(txtverQualidade, txtverSegurança, TxtUsuarioTab, TxtSenhaTab)


TxtUsuarioTab = txtUsuario.Column(0)
TxtSenhaTab = txtUsuario.Column(1)
SQL = "SELECT Qualidade FROM LoginUsuario WHERE Usuário = TxtUsuarioTab"
DoCmd.RunSQL "SQL"

'receberá o resultado da consulta de qualidade
txtverQualidade = Qualidade


SQL = "SELECT Segurança FROM LoginUsuario WHERE Usuário = TxtUsuarioTab"
'receberá o resultado da consulta de segurança
txtverSegurança = Segurança
End Function
2 respostas

Oi Gabriel tudo bem?

Dá uma olhada nesse tutorial que expica como fazer http://www.macoratti.net/vba_xls1.htm

Espero ter ajudado!!!

solução!

Gabriel, O seu codigo precisa de alguns ajustes para funcionar:

SQL = "SELECT Qualidade FROM LoginUsuario WHERE Usuário = TxtUsuarioTab"

como o TxtUsuarioTab esta dentro de aspas, ele não vai atribuir o valor o correto nesse caso seria:

SQL = "SELECT Qualidade FROM LoginUsuario WHERE Usuário = '" & TxtUsuarioTab & "'"

Assumindo que o campo usuário é TEXTO, é necessário que tenha aspas simples no SQL

Na terceira linha, tambem é necessário deixar o SQL fora de aspas, se não você não esta usando uma variavel e sim um valor, então basta tirar as aspas duplas e atribuir o resultado em um recordset

set rs = DoCmd.RunSQL (SQL)

Para obter o valor da query, precisa utilizar o recordset txtverQualidade = rs("Qualidade")

Estou assumindo que o DoCmd ja foi declaro em algum momento e a conexão com o banco de dados ja foi feito, caso negativo é necessário criar esse objeto tambem.

Resumindo, o seu codigo ficaria:

Public Function verificarcação(txtverQualidade, txtverSegurança, TxtUsuarioTab, TxtSenhaTab)


TxtUsuarioTab = txtUsuario.Column(0)
TxtSenhaTab = txtUsuario.Column(1)
SQL = "SELECT Qualidade FROM LoginUsuario WHERE Usuário = '" & TxtUsuarioTab & "'"
set rs = DoCmd.RunSQL (SQL)

'receberá o resultado da consulta de qualidade
txtverQualidade = rs("Qualidade")


SQL = "SELECT Segurança FROM LoginUsuario WHERE Usuário = '" & TxtUsuarioTab & "'"
set rs = DoCmd.RunSQL (SQL)

'receberá o resultado da consulta de segurança
txtverSegurança = rs("Segurança")
End Function

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software