Notifications
Clear all

REALIZAR "SELECT + WHERE"

4 Posts
2 Usuários
0 Reactions
1,638 Visualizações
(@peteparada)
Posts: 18
Eminent Member
Topic starter
 

Pessoal, boa noite

Tenho uma tabela no Access Chamada ANALISTAS, e esta possui dois campos: ID_ANALISTA, NOME_ANALISTA.

O NOME_ANALISTA está como chave primária

Preciso realizar uma consulta no banco que, o nome do analista esteja numa text box chamada Responsavel e esta consulta me retorne o ID_ANALISTA (é uma númeração automática)

O que tentei fazer?

Private Sub ColetaID_Analistas()

Dim cx As New ConectaBD
Dim banco As ADODB.Recordset
Dim sql, nome As String

nome = Me.Responsavel.Text

sql = "SELECT * FROM Analistas"
'WHERE NOME_ANALISTA = Nome1"
sql = sql & " WHERE NOME_ANALISTA = " & Me.Responsavel.Text

Set banco = New ADODB.Recordset
cx.Conectar
banco.Open sql, cx.Conn

Dim IdAnalista As String

IdAnalista = banco.Fields("ID_ANALISTA")

Set banco = Nothing
cx.Desconectar

End Sub

Porém, quando rodo esta consulta dá um erro dizendo "No Value Given For One or More Required Parameters"

Dentro da variável banco observei que ela encontra o ID_ANALISTA e NOME_ANALISTA, caracteriza os dois como String mas diz que o dataformat = Nothing e diz ainda <Tipo de Objetos Não Suportados>

Alguém pode me ajudar a solucionar?

 
Postado : 25/05/2013 12:18 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Voce tem tb a sub rotina que que "faz" a conexão ao banco de dados? , pois aparentemente no sql não há falha.

Seria algo como:

Public Conn As New ADODB.Connection
Public Sub Conectar()
    Dim nConectar As String
    nConectar = "Provider=Microsoft.Jet.oledb.4.0;Data Source=" & ThisWorkbook.Path & "Base.mdb"
    Conn.ConnectionString = nConectar
    Conn.Open    
End Sub

Public Sub Desconectar()
    Conn.Close
End Sub
 
Postado : 25/05/2013 6:25 am
(@peteparada)
Posts: 18
Eminent Member
Topic starter
 

Voce tem tb a sub rotina que que "faz" a conexão ao banco de dados? , pois aparentemente no sql não há falha.

Seria algo como:

Public Conn As New ADODB.Connection
Public Sub Conectar()
    Dim nConectar As String
    nConectar = "Provider=Microsoft.Jet.oledb.4.0;Data Source=" & ThisWorkbook.Path & "Base.mdb"
    Conn.ConnectionString = nConectar
    Conn.Open    
End Sub

Public Sub Desconectar()
    Conn.Close
End Sub

Achei meu erro, tinha que colocar ... ' =" Me.Responsavel.Text & "'"

 
Postado : 25/05/2013 4:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Olá PeteParada, caso não há mais dúvidas, favor marcar seu post como resolvido!!!

viewtopic.php?f=7&t=3784

Att

 
Postado : 25/05/2013 4:48 pm