MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Função SQL - funciona até o 15 registro?

    Compartilhe

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 12:47

    Bom dia amigos,
    Sou novato e estou aprendendo, talvez a estrutura não seja a melhor, mas foi a que consegui.
    O modulo sql funciona muito bem até o 15º registro pegando o último registro e efetuado os cálculos.
    A partir do 16º registro ele retorna ao 9º registro.

    anexo zip.

    grato
    Anexos
    CADASTRO.zip
    Access 2007
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.1 Mb) Baixado 7 vez(es)
    avatar
    wellingtoneo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 224
    Registrado : 30/07/2012

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  wellingtoneo em Qua 10 Maio 2017, 13:16

    Olá amigo, o que você deseja? seja um pouco mais claro por favor... assim poderemos ser mais eficientes em lhe ajudar. ok?
    No aguardo, vlw!

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 13:28

    Então! Na aplicação cadastro.zip, a tabela criada armazena os dados de forma cronológica, tenho que exibir sempre o último registro destinado a cada classe. Quando executo o frmprincipal posição do cursor, selecionando a classe deveria vir com os dados (ATIVO=129-VAga=10-data=17/10/2017 ).
    Só que não. ele pega o valor (ativo=135-vaga=3 data=10/10/2016).

    Se excluir os dois últimos registros da tabela ou mais mais funciona normal, mas quando inclui o 16 retorna para o 9.
    avatar
    wellingtoneo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 224
    Registrado : 30/07/2012

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  wellingtoneo em Qua 10 Maio 2017, 15:12

    Qual Classe? A Classe Especial?

    Se for, de acordo com seus registro na tabela espelho estão cadastrado conforme a seguir:

    Código:

    |ativo | vaga   |      doe         |      classe     |
    |130   |  9     |   16/10/2017     | CLASSE ESPECIAL |

    Esse é o ultimo e com a maior data... Seria esse o retorno desejado no formulário?

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 15:16

    sim.

    Esse é o objetivo para todas as classe. Quando a tabela está vazia somente o o primeiro registro funciona corretamente, sempre trazendo o último registro, mas quando está com 15 registro retorna registro anteriores, não mais o último.

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 15:19

    Executando o frmprincipal, e selecionando na caixa de combinação qualquer uma das classe, não está retornando o último registro.

    Deveria retornar os registros:

    CLASSE ESPECIAL ativo=129 vaga=10 data=17/10/2017

    3ª CLASSE ativo=815 vaga=697 data=08/02/2017

    2ª CLASSE ativo=2500 vaga=10 data=07/02/2017

    1ª CLASSE ativo=1000 vaga=5 data=07/02/2017

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 15:33

    Se executar o cadastro.zip, o frmprincipal, e selecionar na caixa de combinação a classe especial, retornará o ultimo registro da tabela, até aqui está correto.

    Agora se efetuar uma lançamento, por exemplo: publicação = 17/10/2017 - selecionar na caixa de listagem = aposentado e a quantidade = 1 e mandar salvar o registro, na tabela estará perfeito, porém se voltar e selecionar novamente na caixa de combinação a classe especial não mais retornará o último registro, esse que acabou de inserir e sim o registro de 10/10/2016. muito estranho?
    avatar
    wellingtoneo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 224
    Registrado : 30/07/2012

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  wellingtoneo em Qua 10 Maio 2017, 15:39

    Aguarde... Resolvendo o problema!

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 15:50

    grato.
    avatar
    wellingtoneo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 224
    Registrado : 30/07/2012

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  wellingtoneo em Qua 10 Maio 2017, 19:00

    Olá, modifique o seu projeto conforme o código a baixo:

    Código:

    Public Sub cmbPesq_AfterUpdate()

        Dim rst As Recordset
        Dim vardata As Date
        Dim sql As String
        
        vardata = Format(DMax("DOE", "espelho", "Classe='" & cmbPesq.Text & "'"), "mm/dd/yyyy")  'Maior data da classe.
        
        sql = "SELECT ativo, vaga, classe, doe, hora " _
            & " FROM Espelho " _
            & " WHERE classe ='" & cmbPesq.Text & "' AND  doe=#" & vardata & "# ORDER BY doe, hora;"
        
        Set rst = CurrentDb.OpenRecordset(sql)
        
        If Not rst.RecordCount = 0 Then
            rst.MoveFirst: rst.MoveLast
            
            VAGA = IIf(IsNull(rst!VAGA), "", rst!VAGA)
            ATIVO = IIf(IsNull(rst!ATIVO), "", rst!ATIVO)
            CLASSE = IIf(IsNull(rst!CLASSE), "", rst!CLASSE)
            Udoe = IIf(IsNull(rst!DOE), "", rst!DOE)

        Else
            MsgBox "Não existem dados para o cliente selecionado.", vbExclamation, "Erro"
        End If
        Set rst = Nothing
     
    End Sub


    Se tive problemas gentileza reporta. abs!

    alam.alam
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    Re: [Resolvido]Função SQL - funciona até o 15 registro?

    Mensagem  alam.alam em Qua 10 Maio 2017, 20:22

    Caro amigo Wellingtoneo,

    d+
    d+

    Agradeço pelo pronto atendimento e rapidez.
    Estou efetuando as correções nos demais módulos. Creio que ficará perfeito.

    Mais uma vez agradeço o auxilio.

    Por hora dou por resolvida a questão.

    Very Happy Very Happy

      Data/hora atual: Sab 18 Nov 2017, 13:36