MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Recordset faltando parâmetro.

    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    [Resolvido]Recordset faltando parâmetro. Empty Recordset faltando parâmetro.

    Mensagem  Killerz 6/9/2013, 15:13

    Olá pessoal do MaximoAccess, de boa?
    Estou com um problema em um sistema do Access. Tenho quase certeza que é um problema estúpido, porém estou a dois dias e não enxerguei a lógica. É o seguinte:

    Código:
    Set TBTabela = db.OpenRecordset("SELECT CAMPO1 & '-' & CAMPO2 AS CAMPO3 FROM TABELA WHERE TABELA.CAMPO3 = " + "'" & v_Where & "'", dbOpenDynaset)
    Onde v_Where é uma variável que pega o valor escolhido numa caixa de combinação (combobox) - (v_Where = Form_Formulario.Combinação0)

    Com a sintaxe que enviei acima, quando executo me aparece: "Erro em tempo de execução '3061': Parâmetros insuficientes. Eram esperados 1."

    Se facilitar,

    Código:
    Set TBTabela = db.OpenRecordset("SELECT * FROM TABELA WHERE TABELA.CAMPO1 = " + "'" & v_Where & "'", dbOpenDynaset)
    Essa linha funciona perfeitamente. Porém quero alterá-la para a de cima, pois preciso fazer o Select usando o CAMPO1 e o CAMPO2.
    Já testei com um MsgBox, e v_Where está trazendo a String correta. Ou seja, a sintaxe está correta creio eu. Não sei que parâmetro está faltando, nem como posso preenchê-lo.
    Espero que tenha sido claro, e espero uma resposta de vocês! Bom dia!
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  vieirasoft 6/9/2013, 15:26

    Where é uma cláusula de SQL que devolve um parâmetro. Seria como uma palavra reservada e não para ser usada dessa forma. Pode estar aí o erro. Teste mudando o nome de v_Where para outro nome.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  JPaulo 6/9/2013, 16:04

    Você quer juntar a informação do Campo1 com a do Campo2 e transformá-la em Campo3 ?


    Set TBTabela = db.OpenRecordset("SELECT Trim(CAMPO1) & Trim(CAMPO2) AS CAMPO3 FROM TABELA WHERE TABELA.CAMPO3 = '" & v_Where & "'", dbOpenDynaset)



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Instruções SQL como utilizar...
    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  Killerz 9/9/2013, 12:14

    Vieira, como ja disse, eu testei a v_Where e funcionou perfeitamente já, mas só pro desencargo da consciência, mudei o nome e deu o mesmo erro (o pedido de 1 parâmetro).

    JPaulo, eu testei montar do jeito que você disse, porém ocorreu o mesmo erro também (pedido de 1 parâmetro).

    Tá complicado esse erro, poxa vida '-'

    Se vocês verem outra maneira de resolver o problema, vou dar um exemplo do que quero. Digamos que CAMPO1 é uma rua (ex: rua das laranjas) e CAMPO2 o número da casa (ex: 4)
    Quero criar um CAMPO3, e que ele seja constituído por ambas as informações, e o traço no meio (" - "). Colocando em código:

    Código:
    SELECT RUA & '-' & NUMERO AS ENDERECO
    De acordo com os exemplos, ENDERECO receberia "rua das laranjas-4". Mas esse seria só um valor, quero juntar mesmo os dois campos em 1 só, com todos os valores. (Por exemplo, "rua das laranjas-4", "rua dos tomates-16", "rua da cenoura-27", e assim vai linha a linha.

    Espero que tenham entendido, e continuo aguardando a solução pra isso. Obrigado!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  JPaulo 9/9/2013, 12:27

    Você faz isso perfeitamente com a função interna TRIM, que lhe passei.

    Se preferir, anexe aqui parte do seu banco.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Instruções SQL como utilizar...
    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  Killerz 9/9/2013, 12:40

    Alterei o que você enviou, para
    Código:
    "SELECT Trim(SUBADM) & ' - ' & Trim(GRUPO) AS SUBORDINACAO FROM UNIDADES WHERE UNIDADES.SUBORDINACAO = " + "'" & v_Where & "'"
    Caso contrário, da erro "Tipos incompatíveis", porque sem aspas simples no hifen corta o código do SELECT, e você acabou não concatenando v_Where.. Enfim, coloquei como enviei acima, e continuou com o erro falta 1 parâmetro. Estou tentando resolver pelo código pois não tenho autorização para postar o DB... Caso realmente não consiga, preciso pedir permissão para postar...

    Tentei criar uma consulta colocando esse código SQL e substituindo v_Where por um valor que poderia ser escolhido na caixa de combinação. Apareceu uma janela pedindo pra mim inserir um parâmetro para UNIDADES.SUBORDINACAO. inseri ali para testar o mesmo valor que já tinha substituido para testes, e ele retornou todos os CAMPO1 + "-" + CAMPO2, sem aplicar o filtro que digitei no parâmetro.


    Última edição por Killerz em 9/9/2013, 12:55, editado 2 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  JPaulo 9/9/2013, 12:43

    Se anexar parte do seu banco fica mais facil;

    Tente assim;

    Alterei tambem a clausula WHERE

    Set TBUnidades = db.OpenRecordset("SELECT Trim(SUBADM) & " - " & Trim(GRUPO) AS SUBORDINACAO FROM UNIDADES WHERE UNIDADES.SUBORDINACAO = '" & v_Where & "'", dbOpenDynaset)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Instruções SQL como utilizar...
    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  Killerz 9/9/2013, 12:58

    Alterei o que você enviou, para
    Código:
    "SELECT Trim(SUBADM) & ' - ' & Trim(GRUPO) AS SUBORDINACAO FROM UNIDADES WHERE UNIDADES.SUBORDINACAO = " + "'" & v_Where & "'"
    Caso contrário, da erro "Tipos incompatíveis", porque sem aspas simples no hifen corta o código do SELECT, e você acabou não concatenando v_Where.. Enfim, coloquei como enviei acima, e continuou com o erro falta 1 parâmetro. Estou tentando resolver pelo código pois não tenho autorização para postar o DB... Caso realmente não consiga, preciso pedir permissão para postar...

    Tentei criar uma consulta colocando esse código SQL e substituindo v_Where por um valor que poderia ser escolhido na caixa de combinação. Apareceu uma janela pedindo pra mim inserir um parâmetro para UNIDADES.SUBORDINACAO. inseri ali para testar o mesmo valor que já tinha substituido para testes, e ele retornou todos os CAMPO1 + "-" + CAMPO2, sem aplicar o filtro que digitei no parâmetro.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  JPaulo 9/9/2013, 13:04

    Insira um novo campo na tabela para receber o valor concatenado;

    Public Function JuntaEnderecos()
    'By JPaulo ® Maximo Access 2013
    Dim rs As DAO.Recordset

    'exemplo do where, pode alterar para o campo do seu form
    v_Where = "xpto"
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM UNIDADES WHERE SUBORDINACAO ='" & v_Where & "'", dbOpenDynaset)
    If rs.RecordCount > 0 Then
    rs.MoveFirst
    Do Until rs.EOF
    rs.Edit
    rs!SeuNovoCampo = rs!SUBADM & " - " & rs!GRUPO
    rs.Update
    rs.MoveNext
    Loop
    End If
    Set rs = Nothing
    End Function



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Instruções SQL como utilizar...
    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  Killerz 9/9/2013, 13:27

    Opa, obrigado JPaulo, desculpe a demora, tive algns conflitos para poder alterar informações na tabela, mas resolvi corri sua função e funcionou da maneira que eu queria. Agradeço a atenção, muito obrigado. Resolvido e Agradecido.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  JPaulo 9/9/2013, 13:58

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Recordset faltando parâmetro. Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Recordset faltando parâmetro. Empty Re: [Resolvido]Recordset faltando parâmetro.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 07:45