Ir para conteúdo
Fórum Script Brasil
  • 0

Consultar Db Access


Guest Zé

Pergunta

Oi pessoal ! já vou avisando que sou iniciante !

É o seguinte: Crie um aplicativo para Incluir/Excluir/Alterar e Consultar dados em um DB no Access. Até ai beleza. O que ta pegando é em relação a rotina de "Consulta" - O dito cujo não quer saber de consultar o DB. No DB eu coloquei o campo "Nome" como chave primaria indexidana sem permitir duplicação. Só que quando eu tento consultar uma linha do Db apartir do Nome ele da esse erro:

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

O Debug marca a linha que esta em azul na rotina abaixo

A rotina de "consulta" do modulo é a seguinte:

Public Function Consultar(ByVal strNome As String) As Variant

Set rs = CreateObject("ADODB.Recordset")

With rs

.Open "select * from Contatos where Nome=" & strNome & "", cn If .RecordCount = strNome Then

MsgBox "Código Inválido", vbExclamation, "Erro"

Else

frmCont.txtNome = !Nome

frmCont.txtTelefone = IIf(IsNull(!Telefone), Empty, !Telefone)

frmCont.txtCelular = IIf(IsNull(!Celular), Empty, !Celular)

frmCont.txtEmail = IIf(IsNull(!Email), Empty, !Email)

End If

.Close

End With

End Function

A ação do botão "consultar" é a seguinte:

Private Sub cmdConsultar_Click()

Dim strNome As String

strNome = InputBox("Digite o Código", "Consulta")

Consultar (strNome)

End Sub

já tentei fazer um monte de alteração mas sempre da esse erro. Sera que alguém saberia me dizer onde eu estou errando.

Agradeço desde já a atenção !

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Ola ZÉ!

vamos ver se eu posso te ajudar...

Public Function Consultar(ByVal strNome As String) As Variant
Set rs = CreateObject("ADODB.Recordset")
rs.open "Select 8 from Contatos where Nome = '" & strNome & "'", cn

if rs.EOF = true then
   msgbox "Código Inválido", vbExclamation, "Erro"
Else
   frmCont.txtNome = !Nome
   frmCont.txtTelefone = IIf(IsNull(!Telefone), Empty, !Telefone)
   frmCont.txtCelular = IIf(IsNull(!Celular), Empty, !Celular)
   frmCont.txtEmail = IIf(IsNull(!Email), Empty, !Email)
End If
rs.Close

End Function

ve se isso funciona

Link para o comentário
Compartilhar em outros sites

  • 0

Eu acho que o erro esta nas aspaa (falta aspa simples):

Esta assim:

.Open "select * from Contatos where Nome=" & strNome & "", cn

deveria ser assim:

.Open "select * from Contatos where Nome= '" & strNome & "' ", cn

No Sql strings devem estar com aspas simples. Da forma que esta , a consulta pensa que strNome é numerico.

Sei la... pelo menos a alteração vai ser simples...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...