MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Função SeImed

    dailton_c
    dailton_c
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 25/02/2012

    [Resolvido]Função SeImed Empty [Resolvido]Função SeImed

    Mensagem  dailton_c em 19/3/2019, 20:06

    Boa tarde,

    Preciso de ajuda novamente
    Tenho um consulta que me retornava por meio da função Seimed, agora ele tem argumentos demais para ser executado.
    Andei procurando nos tópicos mas não encontrei, posso estar procurando da forma errada.
    segue abaixo as duas condições da consulta que uso a função.
    Se alguém poder me ajudar desde já agradeço.


    TipoLanc: SeImed([IdCartao]=4;"Debito";SeImed([IdCartao]=8;"Debito";SeImed([IdCartao]=9;"Debito";SeImed([IdCartao]=1;"Credito";SeImed([IdCartao]=2;"Credito";SeImed([IdCartao]=3;"Credito";SeImed([IdCartao]=5;"Credito";SeImed([IdCartao]=6;"Credito";SeImed([IdCartao]=7;"Credito";SeImed([IdCartao]=10;"Credito";SeImed([IdCartao]=11;"Credito";SeImed([IdCartao]=12;"Credito";SeImed([IdCartao]=13;"Credito";SeImed([IdCartao]=14;"Credito";SeImed([IdCartao]=15;"Credito";SeImed([IdCartao]=16;"Credito";SeImed([IdCartao]=17;"Credito";SeImed([IdCartao]=18;"Credito")))))))))))))))






    Extrato: SeImed([IdCartao]=4;"STON VE CD";SeImed([IdCartao]=8;"STON MS CD";SeImed([IdCartao]=9;"STON ED CD";SeImed([IdCartao]=1;"STON VS CC";SeImed([IdCartao]=2;"STON VS CC";SeImed([IdCartao]=3;"STON VS CC";SeImed([IdCartao]=5;"STON MS CC";SeImed([IdCartao]=6;"STON MS CC";SeImed([IdCartao]=7;"STON MS CC";SeImed([IdCartao]=10;"STON EL CC";SeImed([IdCartao]=11;"STON EL CC";SeImed([IdCartao]=12;"STON EL CC";SeImed([IdCartao]=13;"STON AE CC";SeImed([IdCartao]=14;"STON AE CC";SeImed([IdCartao]=15;"STON AE CC";SeImed([IdCartao]=16;"STON HI CC";SeImed([IdCartao]=17;"STON HI CC";SeImed([IdCartao]=18;"STON HI CC"))))))))))) t
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3187
    Registrado : 21/04/2011

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  Marcelo David em 19/3/2019, 23:55

    Boa noite noite.
    Realmente tem muito seimed aí...
    O mais prático seria usar uma função publica
    retornando um resultado que assim usaria como critério.





    .................................................................................
    Marcelo David
    https://www.freetool.dev (em construção)
    dailton_c
    dailton_c
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 25/02/2012

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  dailton_c em 20/3/2019, 19:44

    Boa tarde,

    Marcelo David, ai que estou pedindo ajuda!
    Não sei como fazer e andei procurando e não encontrei como fazer isto.
    Lembrando que esta função se aplica a uma consulta que gera relatório, não em formulário.
    Estou postando parte do BD que usa esta função.
    No BD tem uma tabela chamada tblCartao e uma outra tabela tblCartaoNova a nova tem todos estes dados que eu preciso fazer igual a consulta se olhar Controle-Cartão.
    Se poder me ajudar fico muito grato.
    Anexos
    [Resolvido]Função SeImed AttachmentTeste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (238 Kb) Baixado 9 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3187
    Registrado : 21/04/2011

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  Marcelo David em 20/3/2019, 21:18

    Poderia postar o banco com o relatório em questão e detalhar o que os seimeds devem escolher?
    Assim fica mais fácil.


    .................................................................................
    Marcelo David
    https://www.freetool.dev (em construção)
    dailton_c
    dailton_c
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 25/02/2012

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  dailton_c em 27/3/2019, 00:05

    Marcelo David
    Boa noite já postei o BD de exemplo da consulta e do sub-formulário que ela gera.
    Preciso que ao executar a consulta ela gere um sub-formulário, para a conferência dos valores dos cartões com o extrato bancário.
    Se puder me ajudar eu agradeço.

    Dailton Corassa
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  JPaulo em 5/4/2019, 15:17

    Olá a todos;

    Com esta função, pode usar tantos Seimed quantos quiser;

    Num modulo novo cole esta função;

    Código:
    Public Function FazSeimed(CampoX, IdentificadorX, IntValor, strTabela) As Variant
    'Requer Referencia VBA "Microsoft ActiveX Data Objects 2.6 Library" ou superior
    'By Jpaulo
    'www.maximoaccess.com
      Dim cnn As ADODB.Connection
      Dim rs As ADODB.Recordset
      Dim SQL As String
      Dim vFld As Variant
      Dim strResultado$

      Set cnn = CurrentProject.Connection
      Set rs = New ADODB.Recordset
      vFld = Null
     
    'PARA USAR A FUNÇÃO NUM CAMPO DA SUA CONSULTA
    'Extrato: FazSeimed("IdCartao";"IdCartao";[IdCartao];"tblLctoCartao")

      SQL = "SELECT [" & CampoX & "] as Fld" & _
            " FROM [" & strTabela & "]" & _
            " WHERE [" & IdentificadorX & "]=" & IntValor

      rs.Open SQL, cnn, adOpenForwardOnly, adLockReadOnly

      Do While Not rs.EOF
        If Not IsNull(rs!Fld) Then
       
    'NÃO ALTERAR NADA, EXCEPTO O SELECT CASE
        Select Case rs!Fld
            Case Is = 1
                strResultado = "Rede VS CC"
            Case Is = 2
                strResultado = "Rede VS CC"
            Case Is = 3
                strResultado = "Rede VE CD"
            Case Is = 4
                strResultado = "Rede MC CC"
            Case Is = 5
                strResultado = "Rede MC CC"
            Case Is = 6
                strResultado = "Rede MS CD"
            Case Is = 13
                strResultado = "Rede ED CD"
            Case Is = 14
                strResultado = "Rede EL CC"
            Case Is = 15
                strResultado = "Rede EL CC"
            Case Else
                strResultado = "Não Encontrado"
        End Select
        End If
        rs.MoveNext
      Loop

      vFld = strResultado
     
      Set cnn = Nothing
      Set rs = Nothing

      FazSeimed = vFld
    End Function

    Num campo novo da sua consulta, use assim:

    Código:
    Extrato: FazSeimed("IdCartao";"IdCartao";[IdCartao];"tblLctoCartao")

    Seu banco aqui:
    Download


    .................................................................................
    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]Função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função SeImed Folder_announce_new Instruções SQL como utilizar...
    dailton_c
    dailton_c
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 25/02/2012

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  dailton_c em 5/4/2019, 20:06

    Boa tarde JPaulo,

    E muito obrigado pela sua resposta.
    Quem sabe, sabe! e o melhor que saber e poder dividir o conhecimento!
    J Paulo fiz o downloads do complemento para o access do seguinte modulo"Microsoft ActiveX Data Objects 2.6 Library" conforme descrito na Função.
    Criei uma consulta no Banco de Dados conforme pode veririficar com o nome de Qry-Teste, porém quando executo ela me retorna a seguinte mensagem.

    Erro de compilação:
    O tipo definido pelo usuário não foi definido


    O que eu estou fazendo de errado.
    Neste BD tem duas tabelas uma é a tblCartao que contém todos os cartões que eu devo incluir nesta consulta. e uma outra tabela que é a tblCartaorede que eu usava antes para fazer as consultas pela função SeImed.
    Pode me ajudar a fazer a função funcionar.
    Coloquei o BD aqui para você observar o que esta errado.

    Sem mais, e já muito Grato
    Dailton
    Anexos
    [Resolvido]Função SeImed AttachmentControle Cartôes-Teste-JPaulo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (716 Kb) Baixado 5 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  JPaulo em 5/4/2019, 20:32

    Veja o banco de teste que anexei acima.
    A referência VBA descrita tem de ser sentada em:
    Dentro do módulo, ferramentas, referências.

    O banco que anexou agora, só posso ver na segunda feira.
    Bom final de semana


    .................................................................................
    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]Função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função SeImed Folder_announce_new Instruções SQL como utilizar...
    dailton_c
    dailton_c
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 67
    Registrado : 25/02/2012

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  dailton_c em 6/4/2019, 22:33

    JPaulo,

    Muito obrigado pela ajuda, fiz o que me falou e funcionou tudo certinho.
    Agora consigo acompanhar os meus lançamentos de cartão de debito e credito.


    Meu muito obrigado pela ajuda.


    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Função SeImed Empty Re: [Resolvido]Função SeImed

    Mensagem  JPaulo em 6/4/2019, 22:58

    Fico feliz
    Obrigado pelo retorno o fórum 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]Função SeImed Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função SeImed Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função SeImed Folder_announce_new Instruções SQL como utilizar...

      Data/hora atual: 21/10/2020, 12:03