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


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 21/3/2013, 16:46

    Boa tarde.

    Alguem sabe como ordenar uma coluna do listview que esta no formato "00:00" ?

    Estou a utilizar o exemplo do Criquio
    http://maximoaccess.forumeiros.com/t9843-resolvidoclassificando-colunas-listview

    as outras colunas do tipo string e Number funcionar beleza mas a hora esta ordenando da seguinte forma
    1:00
    11:30
    12:00
    2:00
    3:00
    ...
    ao inves de
    1:00
    2:00
    3:00
    11:30
    12:00

    Ja tentei como string,number,date e nada
    LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Folgaveis", 1100, lvwColumnCenter).Tag = "String"
    LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Folgaveis", 1100, lvwColumnCenter).Tag = "Date"
    LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Folgaveis", 1100, lvwColumnCenter).Tag = "Number"


    A coluna da consulta que me retorna em horas é a seguinte
    Int(Sum(DateDiff('n',0,Hrx_Folgaveis))/60) & ':' & Format(Sum(DateDiff('n',0,Hrx_Folgaveis)) Mod 60,'00') AS Hrx_Folg

    Saudações.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Alexandre Neves 21/3/2013, 19:41

    Boa noite, Rafael
    Ordene pela parte antes dos dois pontos e pela parte após os dois pontos, ou pelo valor sem dois pontos


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 21/3/2013, 20:10

    Boa tarde Alenxandre!
    teria como me dar uma dica de como ficaria ?
    Se eu conseguir ordenar somente a primeira parte antes dos : já seria útil pra mim


    Obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Alexandre Neves 21/3/2013, 20:38

    Indique o código utilizado


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 21/3/2013, 21:20

    Assim que chegar em casa posto o código


    Obrigado !
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 22/3/2013, 17:41

    Segue em exemplo que elaborei baseado no meu problema
    As tres primeira colunas (do tipo string) ordena beleza mas nao consigo ordenar as colunas do tipo horas(HH:MM)

    https://dl.dropbox.com/u/19875180/ListView.rar

    Saudacoes
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Alexandre Neves 22/3/2013, 19:28

    Boa noite,
    Dá erro ao abrir. Coloque tudo na mesma bd e teste antes de disponibilizar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 22/3/2013, 22:35

    Boa noite Alexandre!

    Aqui nao havia apresentado erro
    mas de qualquer forma segue o arquivo somente em um.

    https://dl.dropbox.com/u/19875180/Ordenar_LstVw_Horas.accdb

    Obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Alexandre Neves 22/3/2013, 22:37

    Veja o erro apresentado, mesmo agora
    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Erro


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 22/3/2013, 22:41

    Tente agora
    https://dl.dropbox.com/u/19875180/Ordenar_LstVw_Horas.accdb

    saudacoes!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Alexandre Neves 22/3/2013, 22:45

    dá erro porque não o commom controls 6.0
    mas explique onde tem o código para ordenação


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 22/3/2013, 22:49

    Carrego a List

    Código:

        Set lvxObj = Me.LstView_HrExtraRelatorio.Object
        LstView_HrExtraRelatorio.ColumnHeaders.Clear 'limpa as colunas
        LstView_HrExtraRelatorio.ListItems.Clear 'limpa os items das ListView

    'adiciona as colunas
      LstView_HrExtraRelatorio.ColumnHeaders.Add , , "ID", 0, lvwColumnLeft 'texto da coluna, medida da coluna, alinhamento à esquerda
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Supervisão", 1850, lvwColumnLeft).Tag = "String"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Funcionario", 3000, lvwColumnLeft).Tag = "String"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Função", 2000, lvwColumnCenter).Tag = "String"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Folgaveis", 1100, lvwColumnCenter).Tag = "Date"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Não Folgaveis", 1200, lvwColumnCenter).Tag = "Date"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Total Hrs Extra", 1250, lvwColumnCenter).Tag = "Date"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Compensadas", 1200, lvwColumnCenter).Tag = "Date"
        LstView_HrExtraRelatorio.ColumnHeaders.Add(, , "Saldo", 1100, lvwColumnCenter).Tag = "Date"
        LstView_HrExtraRelatorio.View = lvwReport



    E Ordeno...

    Código:
    On Error GoTo err_handle

        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        'Variáveis
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            Dim i As Integer
            i = ColumnHeader.Index - 1
           
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ' Inicializa o controle de imagens (Este controle está no form e permite icones em BMP
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            lvxObj.ColumnHeaderIcons = Nothing
            lvxObj.ColumnHeaderIcons = Me.axImageList.Object
       
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ' Ativa  classificação no cabeçalho da coluna
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            lvxObj.Sorted = True
            lvxObj.SortKey = i
           
            'executar a classificação e atribuir os ícones
            If lvxObj.SortOrder = lvwAscending Then
                lvxObj.SortOrder = lvwDescending
                ColumnHeader.Icon = "Sort_ZA"  'aplica o ícone ao cabeçalho da coluna
            ElseIf lvxObj.SortOrder = lvwDescending Then
                lvxObj.SortOrder = lvwAscending
                ColumnHeader.Icon = "Sort_AZ"  'aplica o ícone ao cabeçalho da coluna
            End If
            'Atualiza
            lvxObj.Refresh
       
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        ' Tratamento de Erro
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    err_handle:
        Select Case Err.Number
            Case 0
            'ignora, não e um erro
            Case Else
        MsgBox "Err: LstView_HrExtraRelatorio" & vbCrLf & Err.Description, vbCritical, Err.Number
        End Select
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Alexandre Neves 22/3/2013, 22:56

    tente carregar sem separador na hora
    Comando = "SELECT Tbl_Hora_Extra.Hrx_Supervisao, Tbl_Funcionarios.NOME, Tbl_Funcionarios.ID_FUNCIONARIO, Tbl_Hora_Extra.Hrx_funcao, " _
    & "Int(Sum(DateDiff('n',0,Hrx_Folgaveis))/60) & Format(Sum(DateDiff('n',0,Hrx_Folgaveis)) Mod 60,'00') AS Hrx_Folg, " _
    & "Int(Sum(DateDiff('n',0,[Hrx_110_120]))/60) & Format(Sum(DateDiff('n',0,[Hrx_110_120])) Mod 60,'00') AS Hrx_NaoFolg," _
    & "Int(((Sum(DateDiff('n',0,Hrx_Folgaveis)))+ Sum(DateDiff('n',0,[Hrx_110_120])))/60) & Format(((Sum(DateDiff('n',0,Hrx_Folgaveis)))+ Sum(DateDiff('n',0,[Hrx_110_120]))) Mod 60,'00') as Total_Hrs_Extra," _
    & "a.Hrs_Compesadas, Int((((Sum(DateDiff('n',0,Hrx_Folgaveis)))+(Sum(DateDiff('n',0,[Hrx_110_120]))))-Compensadas_Minutos)/60)" _
    & "& Format((((Sum(DateDiff('n',0,Hrx_Folgaveis)))+Int(Sum(DateDiff('n',0,[Hrx_110_120]))))-Compensadas_Minutos) Mod 60,'00') AS Saldo, " _
    & "a.Compensadas_Minutos FROM (Tbl_Funcionarios LEFT JOIN (SELECT a.Hrx_ID_Funcionario, Int(Sum(DateDiff('n',0,[Hrx_Comp_Tempo]))/60)" _
    & "& Format(Sum(DateDiff('n',0,[Hrx_Comp_Tempo]))Mod 60,'00') AS Hrs_Compesadas,Int(Sum(DateDiff('n',0,[Hrx_Comp_Tempo])) )as Compensadas_Minutos " _
    & " FROM Tbl_Hrx_Compensadas AS a WHERE (Format(a.Hrx_Comp_Data,'mmmm')='" & CBox_Mes & "') GROUP BY a.Hrx_ID_Funcionario) AS a ON Tbl_Funcionarios.ID_FUNCIONARIO = a.Hrx_ID_Funcionario) INNER JOIN Tbl_Hora_Extra ON Tbl_Funcionarios.ID_FUNCIONARIO = Tbl_Hora_Extra.Hrx_ID_Funcionario WHERE (((Tbl_Hora_Extra.HrExtra_ID) > 0))"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 22/3/2013, 23:06

    Infelizmente nao deu,

    Tentei sem os ":" , tentei ao inves disso colocar somente "," tentei sem virgula tipo ao inves de 6:00 na list apareceu 600 mas mesmo assim nao ordenou correto.


    Saudacoes !
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 22/3/2013, 23:12

    Alexandre nen acredito que era tao simples (risos)


    mas resolvi da seguinte forma

    Hrx_Folg = Format((CDate(rst.Fields("Hrx_Folg").Value)), "hh:nn")


    Convert o meu tipo de dados de string para data e funcionou


    Muitissimo obrigado pela sua paciencia e ajuda

    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 23/3/2013, 21:26

    Contei vitoria antes da horas (Risos)

    Mas estou tendo o seguinte problema...

    Quando a hora é maior ou igual a 24:00 da erro tipos incompatives por eu estar usando CDate.


    Alguem tem alguma sugestao ?

    Hrx_Folg = rst.Fields("Hrx_Folg")

    If (Hrx_Folg) = ":" Then
    li.SubItems(4) = ""
    Else
    li.SubItems(4) = Format(CDate(Hrx_Folg), "hh:nn")
    li.ListSubItems.Item(4).ForeColor = vbRed
    li.ListSubItems.Item(4).Bold = True
    End If
    avatar
    Convidado
    Convidado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Convidado 23/3/2013, 21:32

    Ops Desculpa mas ja resolvi(A Principio)
    Tirei o CDate e so formatei no formato "hh:nn"

    Hrx_Folg = rst.Fields("Hrx_Folg")

    If (Hrx_Folg) = ":" Then
    li.SubItems(4) = ""
    Else
    li.SubItems(4) = Format((Hrx_Folg), "hh:nn")
    li.ListSubItems.Item(4).ForeColor = vbRed
    li.ListSubItems.Item(4).Bold = True
    End If


    Saudacoes !

    Conteúdo patrocinado


    [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm" Empty Re: [Resolvido]Ordernar Coluna do ListView do Tipo hora "hh:mm"

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 02:21