MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]ler linha a linha de tabela

    Compartilhe

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Ter 30 Jun 2015, 20:43

    Senhores

    Tenho uma tabela onde preciso ler registro a registro, e pegar as informações quando da seguinte forma

    CRACHA DIRECAO hora                    data2
    44184603 E      08:56:00         29/04/2013
    44184603 S            11:57:00         29/04/2013
    44184603 E      12:17:00         29/04/2013
    44184603 S      18:21:00         29/04/2013
    44184603 E      18:37:00         29/04/2013
    44184603 S      20:06:00         29/04/2013
    44184603 E      08:50:00         30/04/2013
    44184603 S      11:31:00         30/04/2013
    44184603 E      11:55:00         30/04/2013
    44184603 S      20:09:00         30/04/2013

    deverá ser pego o primeiro registro na direção "E", com a data x e o ultimo registro na direção "S", com a mesma data x.
    mudando a data para y, pego o primeiro registro na direção "E", e o ultimo registro na direção "S", e assim até o final dos registro nessa tabela.

    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 532
    Registrado : 09/11/2012

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  =>Nois em Ter 30 Jun 2015, 22:34

    pelo que entendi vc precisa filtrar onde termina com estas e E e S

    utilize em uma consulta esta pra retornar a letra,

    Meio([seucampo], 14, 4) 'não contei os caracteres, vc deve fazer isso.

    faça um filtro tipo "E" or "S" no resultado

    faça o filtro no campo data. (se precisar fazer a quebra também utilize a função Meio, ou Direita([seucampo])


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.] Att. Nois

    Se tudo não der certo reflita nessa frase: "Huguinho", "Zezinho" & "Luizinho"

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Qua 01 Jul 2015, 01:36

    na verdade preciso assim

    enquanto a data for igual verificar o primeiro registro com a letra "E" e pegar a (Hora) e o ultimo registro com a letra "S" pegar (Data, Hora).

    Preciso da seguinte informação

    no dia 29/04/2013, cracha 44184603, entrou as 08:56 e saiu as 20:06
    no dia 30/04/2013, cracha 44184603, entrou as 08:50 e saiu as 20:09

    preciso disso em vba em um evento click.

    chsestrem
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 466
    Registrado : 01/03/2010

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  chsestrem em Qui 02 Jul 2015, 12:41

    Bom dia Ivan,

    Não saberia te precisar quanto ao desempenho, mas uma alternativa é esta:

    Coloquei como nome sugestivo da tabela "tb_horario" para testar. Troque para o nome da sua tabela

    para a consulta abaixo:

    SELECT DISTINCT tb_horario.data2, tb_horario.CRACHA, DFirst("hora","tb_horario","data2 = #" & [data2] & " #") AS HRINICIO, DLast("hora","tb_horario","data2 = #" & [data2] & " #") AS HRSAIDA
    FROM tb_horario;

    Sds,


    .................................................................................
    Charles Sestrem
    [Você precisa estar registrado e conectado para ver este link.]

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Seg 06 Jul 2015, 15:27

    chsestrem

    testei o seu codigo, mas ele fica em tipo um loop infinito.

    mas no codigo como identificaria, se é entrada "E" ou saida "S"?

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Seg 06 Jul 2015, 16:28

    tenho uma tabela importada do excel com seguintes informações (nome da tabela tblimportar)

    MATRICULA DIRECAO hora data2
    44184603 E 08:56:00 29/04/2013
    44184603 S 11:57:00 29/04/2013
    44184603 E 12:17:00 29/04/2013
    44184603 S 18:21:00 29/04/2013
    44184603 E 18:37:00 29/04/2013
    44184603 S 20:06:00 29/04/2013
    44184603 E 08:50:00 30/04/2013
    44184603 S 11:31:00 30/04/2013
    44184603 E 11:55:00 30/04/2013
    44184603 S 20:09:00 30/04/2013
    44184603 E 08:54:00 02/05/2013
    44184603 S 11:56:00 02/05/2013
    44184603 E 12:20:00 02/05/2013
    44184603 S 18:35:00 02/05/2013

    preciso que ela seja tranferida para outra tabela pegando o primeiro registro e o ultimo registro referente a mesma data. por exemplo;
    MATRICULA DIRECAO hora data2
    44184603 E 08:56:00 29/04/2013
    44184603 S 20:06:00 29/04/2013
    44184603 E 08:50:00 30/04/2013
    44184603 S 20:09:00 30/04/2013
    44184603 E 08:54:00 02/05/2013
    44184603 S 18:35:00 02/05/2013

    chsestrem
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 466
    Registrado : 01/03/2010

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  chsestrem em Seg 06 Jul 2015, 17:40

    Olá Ivan,

    A melhor forma de conseguir o resultado é com consultas auxiliares.


    Segue anexo exemplo com 2 resultados.


    Sds,
    Anexos
    teste_forum.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (15 Kb) Baixado 9 vez(es)


    .................................................................................
    Charles Sestrem
    [Você precisa estar registrado e conectado para ver este link.]

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Ter 07 Jul 2015, 15:28

    segue o meu bd. que na minha necessidade seria;

    1º - já tenho as informações importadas na tabela "tblimportar";
    2º - tenho uma consulta "qry_teste", que digito a data inicio e data termino;
    3º - com essas informações da consulta, preciso alimentar a tabela "tblresultado", o primeiro e o ultimo registro de cada data.
    Anexos
    SysFunc - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (436 Kb) Baixado 7 vez(es)

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Qua 08 Jul 2015, 14:42

    chsestrem

    muito obrigado, funcionou perfeito, depois de muito pesquisar e analisar. cheguei a esse codigo rm vba

    Option Compare Database
    Dim rstArq As DAO.Recordset, rstTemp As DAO.Recordset
    Dim strSQL As String

    Private Sub Comando0_Click()
    Dim rstArq As DAO.Recordset, rstTemp As DAO.Recordset
    Dim strSQL As String

    Datainicio = InputBox("Informe a Data Inicial")
    DataFim = InputBox("Informe a Data Final")

    strSQL = "Select tblresultado.* From tblresultado"
    Set rstArq = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)


    strSQL = "Select tblimportar.* From tblimportar WHERE tblimportar.data2 Between cdate('" & Datainicio & "') And cdate('" & DataFim & "')" & _
    " ORDER BY MATRICULA, tblimportar.data2, tblimportar.hora"
    Set rstTemp = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)

    If rstTemp.EOF Then
    MsgBox "Registros não encontrados neste periodo"
    Exit Sub
    End If

    rstTemp.MoveFirst

    While Not rstTemp.EOF
    rstArq.AddNew
    rstArq("matricula") = rstTemp("matricula")
    rstArq("nome") = rstTemp("nome")
    rstArq("dataent") = rstTemp("data2")
    rstArq("horaent") = rstTemp("hora")
    Xmat = rstTemp("matricula")
    Xdat = rstTemp("data2")

    Do While Xmat = rstTemp("matricula") And Xdat = rstTemp("data2")
    If rstTemp("direcao") = "S" Then
    rstArq("datasai") = rstTemp("data2")
    rstArq("horasai") = rstTemp("hora")
    End If

    rstTemp.MoveNext

    If rstTemp.EOF Then
    Exit Do
    End If
    Loop

    rstArq.Update
    Wend

    rstArq.Close
    rstTemp.Close
    MsgBox "Tabela Gerada com Sucesso!"

    End Sub

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Qua 08 Jul 2015, 14:43

    esqueco de colocar resolvido

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    Registrado : 13/10/2011

    Re: [Resolvido]ler linha a linha de tabela

    Mensagem  ifahidalgo em Qua 08 Jul 2015, 16:02

    chsestrem

    depois que for tratado, a tabela, tem como colocar, incluir nessa tabela as datas faltantes?

    exemplo, nesse que você me passou, notou que somente 2 dias foram preenchidos, o que preciso é que os outros dias completando o mês, fossem preenchidos com a informação faltou no campo status.

      Data/hora atual: Qua 07 Dez 2016, 20:09