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


2 participantes

    [Resolvido]Buscar datas e atualizar horas, possivel ?

    avatar
    Juliana
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 128
    Registrado : 03/10/2011

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Buscar datas e atualizar horas, possivel ?

    Mensagem  Juliana 15/10/2011, 13:49

    Ola...olha eu aqui denovo...rs....bem, desta vez realmente nao sei como fazer esta busca via codigo, vejam o que eu preciso:

    Tenho uma tabela, com os seguintes campos e valores sugestivos:

    ___________________________________________________________________
    |Nome funcionario | Data Disponivel | Qtdade de horas disponíveis |
    -------------------------------------------------------------------
    |José | 15/10/2011 | 8 |
    -------------------------------------------------------------------
    |Joao | 15/10/2011 | 8 |
    -------------------------------------------------------------------
    |Maria | 15/10/2011 | 8 |
    -------------------------------------------------------------------
    |Joao | 16/10/2011 | 8 |
    -------------------------------------------------------------------
    |Joao | 20/10/2011 | 8 |
    -------------------------------------------------------------------
    |Joao | 21/10/2011 | 8 |
    -------------------------------------------------------------------
    |Joao | 22/10/2011 | 8 |
    -------------------------------------------------------------------

    A entrada de dados sera a seguinte:
    Nome do funcionario
    Data de Inicio
    Qtdade de Horas necessarias

    Eu preciso fazer com que o access pegue o valor da da de inicio, referente ao funcionario especificado, busque na tabela, se a primeira data ja satisfizer a quantidade de horas necessaria, uito bem, ele atualiza a taela e finaliza o processo, caso isto nao seja possivel, ele busca a proxima data, verifica a disponibilidade de horas e efetua o calculo novamente, ate que mais nenhum dia esteja disponivel para este funcionario (ai deve retornar a mensagem de que a quantidad ede dias disponiveis e horas nao sao suficientes).

    Exemplo:
    Funcionario Joao, com data de inicio 15/10/2011 e necessidade de 17 horas:
    Busca a data do dia 15/10/2011, ela possui 8 disponieis, usa as 8, atualiza a tabela para 0(zero) horas nesta data e
    procura a proxima data valida, nese caso o dia 16/10/2011, que tem 8 horas disponiveis, neste caso atualiza a tabela pra 0(zero) horas e busca outra data
    Neste caso busca a data do dia 20/10/2011, e nesta data existem 8 horas, so que agora so sera necessario 1(uma) hora, neste caso atualiza a tabea para 7(sete) horas e finaliza o processo.

    Alguma ideia de como fazer isto ?

    Obrigada mais uma ves.

    Juliana
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 15/10/2011, 15:14

    Olá! Em primeiro lugar, tomei a liberdade de editar seu texto, acrescentando a tag html <pre> antes da tabela e fechando com a tag </pre> depois da tabela. Isso faz com que o texto fique exatamente como o digitado, ou seja, a sua tabela fica bem desenhada. Espero que não fique zangada comigo Razz

    Quanto à questão em si, fiquei um tanto confuso quanto à lógica exata do processamento. Vejamos, uma determinada pessoa tem 30 horas para realizar uma tarefa. Em um dia, ela trabalha 8 horas, no outro, trabalha mais 8 e no outro mais 5 horas, dando um total de 21 horas. Então, ela tem mais 9 horas. Se ela trabalhar mais 6 horas, então ela poderá trabalhar mais 3 na próxima vez. Seria isso mesmo?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Juliana
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 128
    Registrado : 03/10/2011

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Oi Criquio

    Mensagem  Juliana 15/10/2011, 17:16

    Entao,
    na verdade é como se determinado funcionario tivesse um banco de horas, distribuidos por diversos dias, quando necessario um determinado projeto vai requisitar estas horas, so que a partir de uma data especifica e uma quantidade especifica. Neste caso tem que validar se o funcionario tem as horas disponiveis no periodo solicitado pelo projeto e depois de encaminhadas as horas para o projeto, as mesmas devem ser subtraidas do banco de horas do funcionario.

    Consegui ser mais clara... rs?

    Obrigada pela ajuda antecipadamente.

    Ju
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 15/10/2011, 18:30

    Ainda está um pouco confuso. Você precisa consultar se o funcionário tem disponível um determinado número de hora em um determinado dia ou precisa do número total de horas do funcionário e à medida que ele for trabalhando, vai subtraindo as horas trabalhadas desse número total?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Juliana
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 128
    Registrado : 03/10/2011

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Nenhuma nem outra...rs

    Mensagem  Juliana 15/10/2011, 18:45

    Oi, entao, na verdade primeiro eu preciso saber se funcionario tem horas disponiveis, no periodo solicitado pelo projeto. Por exemplo: imagine que o projeto precisa de 12 horas do funcionario Joao, sendo que estas 12 horas se iniciam na data 15/10/2011, entao o primeiro passo que o sistema devera fazer é verificar se existem 12 horas disponiveis do Joao no dia 15/10/2011, se nao houver, devera buscar no dia 16/10/2011 e assim sucessivamente até fechar a conta de 12 horas, agora duas coisas:
    Se nao houver horas disponiveis suficientes, entao o sistema devera criticar;
    e as horas utilizadas no projeto, deverao ser subtraidas das horas planejdas para cada funcionario.

    Ai ai.....agora me fizentender...rs?

    Obrigada memso asssimmm.


    PS.: estou no msn, qer me cnectar ? julianabragati@hotmail.com

    Ju
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 15/10/2011, 20:08

    Agora, lendo com atenção o primeiro post, entendi melhor a questão. Uma forma de se obter tal resultado pode ser você abrir um Recordset filtrando pelo nome do usuário e pela data de início. Primeiro, caso ainda não tenha, coloque as linhas abaixo logo depois da linha Option Compare Database do módulo vba do formulário:

    Option Explicit
    Dim vH As Double


    Essa variável vH irá capturar a quantidade de horas necessárias. Agora, supondo que, no formulário, você tenha os campos txtNomeFunc, txtDtInicial, txtQtdHoras, coloque no evento "Ao clicar" do botão:

    Dim rs As Recordset

    vH = Me.txtQdtHoras

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM NomeDaTabela WHERE NomeFunc='" & Me.txtNomeFunc & "' And Data>=#" & Format(Me.txtDtInicial, "mm/dd/yyyy") & "#")

    If DSum("QtdHoras", "NomeDaTabela", "NomeFunc='" & Me.txtNomeFunc & "' And Data>=#" & Format(Me.txtDtInicial, "mm/dd/yyyy") & "#") < Me.txtQtdHoras Then
    MsgBox "Quantidade de horas insuficiente", vbCritical, "Atenção"
    Else

    Do While Not rs.EOF
    rs.Edit

    If vH > 0 Then

    If rs!QtdHoras > 0 And rs!QtdHoras <= vH Then
    vH = vH - rs!QtdHoras
    rs!QtdHoras = 0
    elseIf rs!QtdHoras > vH Then
    rs!QtdHoras = rs!QtdHoras - vH
    vH = 0

    End If

    End If
    rs.Update
    rs.MoveNext
    Loop

    End If

    rs.Close
    Set rs = Nothing


    Observe que escrevi os nomes de campos todos sem espaços. Os nomes de campos que começam com txt se referem aos campos do formulário. Como vi que os nomes de campos que você colocou contem espaços, deixo o link de um pequeno artigo para você dar uma olhada:
    http://maximoaccess.forumeiros.com/t1162-dicas-para-iniciantes-nomear-campos-e-elementos-de-um-sistema-em-access?highlight=iniciantes

    OBS1: Coloquei como filtro o nome do funcionário, mas geralmente temos um campo número com o código do funcionário. Nesse caso, usaríamos esse número e tiraríamos os apóstrofos da condição:

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM NomeDaTabela WHERE CodFunc=" & Me.txtCodFunc & " And Data>=#" & Format(Me.txtDtInicial, "mm/dd/yyyy") & "#")

    If DSum("QtdHoras", "NomeDaTabela", "CodFunc=" & Me.txtCodFunc & " And Data>=#" & Format(Me.txtDtInicial, "mm/dd/yyyy") & "#") < Me.txtQtdHoras Then

    OBS2: Não testei isso. Criei agora meio em cima do joelho;
    OBS3: Faça backup antes de testar os códigos. Caso dê algum erro, você terá uma cópia para repor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Juliana
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 128
    Registrado : 03/10/2011

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Erro

    Mensagem  Juliana 15/10/2011, 21:00

    Oi Crquio,

    entao, deu erro na expressao: Set rs = CurrentDb.OpenTable("SELECT * FROM tblHorasColaborador WHERE NomeFunc='" & Me.Recurso & "' And Data>=#" & Format(Me.DataInicial, "mm/dd/yyyy") & "#")

    Ao compilar me retorna a msg: Funcao ou interface marcada como restrita.....

    Sabe o que pode ser ?

    Outra coisa, consigo fazeer a bsca com metodo seek, ao inves de instrucoes sql ?

    Obrigada.

    ju
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 15/10/2011, 21:06

    Eu editei a mensagem anterior. Dê uma olhadinha, principalmente no OpenTable. Talvez seja aí a questão.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Juliana
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 128
    Registrado : 03/10/2011

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Ta estranho

    Mensagem  Juliana 15/10/2011, 21:44

    Oi...

    ta estranho, ta dando tipo de dados incompativeis na expressao criterio, logo na expressao:Set rs = CurrentDb.OpenRecordset("SELECT * FROM NomeDaTabela WHERE CodFunc=" & Me.txtCodFunc & " And Data>=#" & Format(Me.txtDtInicial, "mm/dd/yyyy") & "#")

    Eu usei a expressao referente ao codfunc, pois eu utilizo a matricula do funcionario e nao o nome dele, nao trenho muita facilidade com sql, por isso pergunte do seek...rs.... mas, o que vc acha que pode ser ?

    Ju
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 15/10/2011, 21:50

    Você colocou o nome correto da tabela no lugar de "NomeDaTabela"? Data é realmente o nome do campo da data na tabela? O código do funcionário é tipo número mesmo ou é tipo texto?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 15/10/2011, 22:35

    Veja esse pequeno exemplo:

    Anexos
    [Resolvido]Buscar datas e atualizar horas, possivel ? AttachmentHorasDisponiveis.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 48 vez(es)


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Juliana
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 128
    Registrado : 03/10/2011

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Agora sim !

    Mensagem  Juliana 15/10/2011, 23:43

    Oi Criquio e pessoal,

    Nosso colega ogério desenvolveu uma otima funca, que funciona perfeitamente......

    Criquio, suas informacoes tambem funcionaram perfeitamente, mas estou postando as infos do Rogerio aqui, para que fique registrado mais esta forma de resolver a questao, ok ?

    Ju

    Sub DistribuiTarefa(ByVal NomeFuncionario As String, ByVal DataInicio As Date, ByVal HorasNecessarias As Long)
    Dim rst As Recordset
    Dim lngSaldoAcumulado As Long, lngHorasDisponiveis As Long

    lngSaldoAcumulado = HorasNecessarias
    Set rst = CurrentDb.OpenRecordset("select [DataDisponivel], [HorasDisponiveis] from tblDisponibilidades where [Funcionario] = '" & NomeFuncionario & "' and [DataDisponivel] >= #" & DataInicio & "#")
    Do While Not rst.EOF
    If lngSaldoAcumulado > rst("HorasDisponiveis").Value Then
    lngSaldoAcumulado = lngSaldoAcumulado - rst("HorasDisponiveis").Value
    lngHorasDisponiveis = 0
    Else
    lngHorasDisponiveis = rst("HorasDisponiveis").Value - lngSaldoAcumulado
    lngSaldoAcumulado = 0
    End If
    CurrentDb.Execute ("Update tblDisponibilidades Set [HorasDisponiveis] = " & lngHorasDisponiveis & " where [DataDisponivel] =#" & rst("DataDisponivel").Value & "# and [Funcionario] = '" & NomeFuncionario & "'")
    If lngSaldoAcumulado = 0 Then Exit Do
    rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
    If lngSaldoAcumulado > 0 Then
    MsgBox "Ainda restam " & lngSaldoAcumulado & " horas desta tarefa!", vbInformation
    End If

    End Sub



    Escrito por Rogério Oliveira
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  criquio 16/10/2011, 01:18

    OK! O forum agradece o retorno. Sucesso!


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Buscar datas e atualizar horas, possivel ? Empty Re: [Resolvido]Buscar datas e atualizar horas, possivel ?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 00:03