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


3 participantes

    [Resolvido]Modificar o código - pesquisar nas colunas

    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 5/9/2011, 23:21

    Amigão... Fiquei ate com dor na consciência, talvez possa ter entendido mal algo que falei, perdoe-me se lhe pareceu assim..

    Seguindo sua necessidade enviada a mim via MP, sobre a questao do INTI...

    Esta ai... Agora atualiza diretamente pelo numero do funcionário..

    A INTI serve apenas para o delimitar o numero de Loop's....


    http://dl.dropbox.com/u/26441349/Flashed_05_09_11.rar



    Veja se lhe sai a contento... em havendo dúvida crie novo tópico e irei com todo prazer ajudá-lo lá...
    So não o faça neste tópico pois creio que o objetivo do mesmo foi alcançado em todas as soluções aqui postadas..


    Pois bem.. veja o exemplo e se quiseres mais alterações crie novo tópico com a duvida específica e sempre seja bastante detalhista na explanação de tua necessidade

    os melhores cumprimentos.
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 09:46

    Boas Harysohn

    Não há problema, é normal. Estamos escrevendo e não falando...as vezes andamos a falar um para cada lado affraid lol

    O importante é que estamos a chegar a uma conclusão.

    No ficheiro que me enviou fata apenas uma coisa. Aquele pormenor da data que falamos.

    Por exemplo:

    Na tblEmpregados tenho o empregado nº 1234 com dataref = 01-08-2011 e 08-08-2011.

    Na tblDados tenho 3 registos do empregado nº 1234 com datas:

    01-08-2011
    05-08-2011
    09-08-2011

    Na tblEmpregados o somatorio das horas devia de ser:

    Para o registo com dataref = 01-08-2011 o valor de totalhorasdeproducaonormal devia de ser 8,3.
    Porque a pesquisa devia de ser feita apartir do dia 01-08-2011 + 6 dias. Terminando assim no dia 07-08-2011.
    Portanto todos os registo entre 01-08-2011 e 07-08-2011 deviam ser somados.

    Para o registo com dataref = 08-08-2011 o valor de totalhorasdeproducaonormal devia de ser 3.
    Porque a pesquisa devia de ser feita apartir do dia 08-08-2011 + 6 dias. Terminando assim no dia 14-08-2011.
    Portanto todos os registo entre 08-08-2011 e 14-08-2011 deviam ser somados.

    Compreendeu?

    Envio o ficheiro com estas datas, teste e veja os valores que apare no campo totalhorasdeproducaonormal em tblEmpregados.

    http://www.4shared.com/file/632nD5em/Empregados.html?

    Pensei em criar um textbox onde o código pega-se na data da coluna dataref e soma-se mais 6 dias. O loop quando fosse fazer a pesquisa para a data do campo dataref sabia que tenha que fazer a pesquisa entre a data do campo até á data da textbox...

    É uma ideia...

    Abrcs e obrigado

    P.s. eu não abri mais tópico pois só falta este pormenor para encerrar este assunto hehehhe cheers
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 11:36

    O maior problema aqui mesmo é entender a logica da utilizacao disto... mas ai vai mais um

    http://dl.dropbox.com/u/26441349/Flashed_06_09_11.rar


    Cumprimentos
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 13:20

    Não está funcionando...

    Olhe...para resolver isto de uma vez Smile Consegue-se criar esta rotina no código?

    Se Dataref for igual a 01-08-2011 ele pesquisa desta forma:

    Todos os registos que tenham coluna Ddata (na tblDados) = a:

    01-08-2011
    02-08-2011
    03-08-2011
    04-08-2011
    05-08-2011
    06-08-2011
    07-08-2011

    Assim escrevo no código todas as pesquisas que preciso de fazer. Ao carregar no botão ele executa todas as pesquisas.

    E voila! afro

    Nesta parte configuro o tipo de horas:

    StrSql = "SELECT * FROM Dados WHERE numero = " & Me.txtID & " And tax='Normal' And tipodeserviço='produção'"

    Nesta configuro as datas:

    StrHoras

    Assim já não precisa de usar a textbox para as datas. O que acha?
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 13:55

    Amigao...
    Se data em qual tabela???

    eu ja to é confundindo tudo.....


    Se Dataref for igual a 01-08-2011 ele pesquisa desta forma:

    Essa data acima é em qual das tabelas?

    Todos os registos que tenham coluna Ddata (na tblDados) = a:

    Estas datas abaixo é em qual tabela?
    01-08-2011
    02-08-2011
    03-08-2011
    04-08-2011
    05-08-2011
    06-08-2011
    07-08-2011

    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 13:59

    Sinceramente amigão.. eu não sei mais o que fazer....
    Ja fiz vários.. ou voce nao esta sabendo explicar ou eu não estou realmente entendendo isto tudo

    Ja estou a desistir.....
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 15:07

    Mais um... Creio que é isso...


    http://dl.dropbox.com/u/26441349/Flashed_06_09_11.rar
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 15:24

    Amigo..calma Wink



    Se Dataref for igual a 01-08-2011 ele pesquisa desta forma:
    Essa data acima é em qual das tabelas?
    R:. É na tabela Empregados - Dataref é o campo!

    Todos os registos que tenham coluna Ddata (na tblDados) = a:

    Estas datas abaixo é em qual tabela?
    01-08-2011
    02-08-2011
    03-08-2011
    04-08-2011
    05-08-2011
    06-08-2011
    07-08-2011

    É na tabela Dados.
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 15:29

    Siga a lógica.

    Na tabela Empregados tenho vários empregados com a data no campo DataRef diferente.

    Ao carregar no botão do form ele pega nessa data e vai á tabela Dados e procura na coluna Ddata a data que pegou e mais os seis dias há frente.

    Feito.

    Nesse ultimo ficheiro que mandou ele está a somar todas as horas, nao passa no criterio data. Tive a olhar no codigo e acho que é na parte do Rs!horas

    Cumps
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 15:40

    Mas lembre-se que voce havia pedido pra somar as horas... se lembra?
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 15:44

    Para somar as horas refentes aquela data:

    Para a data 01-08-2011 o total de horas é: 8.3
    Para a data 08-08-2011 o total de horas é: 3
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 15:47

    To entendendo mais nada.. sinto...
    Voce quer somar o que afinal?
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 15:49

    leia isto s.f.

    Para assim perceber.

    Na tblEmpregados tenho o empregado nº 1234 com DataRef = 01-08-2011 e 08-08-2011.

    Na tblDados tenho 3 registos do empregado nº 1234 com datas:

    01-08-2011
    05-08-2011
    09-08-2011

    Na tblEmpregados o somatorio das horas devia de ser:

    Para o registo com DataRef = 01-08-2011 o valor de totalhorasdeproducaonormal devia de ser 8,3.
    Porque a pesquisa devia de ser feita apartir do dia 01-08-2011 + 6 dias. Terminando assim no dia 07-08-2011.
    Portanto todos os registo entre 01-08-2011 e 07-08-2011 deviam ser somados.

    Para o registo com DataRef = 08-08-2011 o valor de totalhorasdeproducaonormal devia de ser 3.
    Porque a pesquisa devia de ser feita apartir do dia 08-08-2011 + 6 dias. Terminando assim no dia 14-08-2011.
    Portanto todos os registo entre 08-08-2011 e 14-08-2011 deviam ser somados.

    Compreendeu?

    Envio o ficheiro com estas datas, teste e veja os valores que apare no campo totalhorasdeproducaonormal em tblEmpregados.

    http://www.4shared.com/file/632nD5em/Empregados.html?

    Abrcos
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 15:56

    Minha cabeça ja está a fazer voltas depois de tantas modificações que fiz pra ti... confesso que ja cheguei no meu limite...

    Segue este modelo... Observe o código.. creio que voce mesmo saberá modificá-l0 pois para voce que entende a lógica do uso é mais facil.. estude o codigo.. marque os codigos em tempo de execução e va executando e observando as alterações nas tabelas...


    http://dl.dropbox.com/u/26441349/Flashed_06_09_11.rar



    Cumprimentos
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 16:02

    Estamos lá perto Smile

    Falta é somar os registos seguintes. No lugar de 5,3 devia estar 8,3..falata somar o valor 3.

    Vou analisar o código e ver o que sai Smile

    digo já alguma coisa..
    abrcs
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 16:09

    Esta parte do código ele não está a fazer nada...

    senão adicionava mais um á data né?

    CurrentDb.Execute "UPDATE Empregados SET totalhorasdeproducaonormal= '" & StrHoras & "' WHERE Numero =" & Me.txtID & " And DataRef =#" & Format(Me.txtDataLoop, "mm/dd/yyyy") & "#+1;"

    Cumps
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 16:13

    é isso ai que voce quer..

    Teste agora

    http://dl.dropbox.com/u/26441349/Flashed_06_09_11.rar
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 16:17

    Estava a pensar criar 6 textbox.

    Para que?!
    Para utilizar o código que falei em cima mas direccionado para textbox diferentes:

    abro a textbox 30.
    Ao executar o código o que voce escrito na textbox txtDataLoop era escrito na textbox 30 mas mais um dia:

    Texto30.Text = txtDataLoop.Text + 1

    O código ficava assim:

    CurrentDb.Execute "UPDATE Empregados SET totalhorasdeproducaonormal= '" ....And DataRef =#" & Format(Me.Texto30.Text, "mm/dd/yyyy") & "#;"

    CurrentDb.Execute "UPDATE Empregados SET totalhorasdeproducaonormal= '" ....And DataRef =#" & Format(Me.Texto31.Text, "mm/dd/yyyy") & "#;"

    CurrentDb.Execute "UPDATE Empregados SET totalhorasdeproducaonormal= '" ....And DataRef =#" & Format(Me.Texto32.Text, "mm/dd/yyyy") & "#;"

    o que acha?
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 16:18

    Ja esta ai acima o que voce quer...
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 16:25

    É no código Val(5))) que defino o espaço de dias...

    É isto mesmo Smile

    Soma todos os valores, e de diferentes empregados com diferentes numeros.

    É mesmo isto Harysohn! Muito obrigado por tudo e por toda a paciência Smile

    Obrigado e desculpe ser chato...

    Obrigado Smile cheers
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 16:29

    UFA!!!! Amigão que batalha.... hehehe

    Fico feliz... O Val(5) 5 é o numero somado a data.. para filtrar a SQL no periodo Data + 5 dias


    cheers cheers cheers cheers
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 16:34

    Sim que batalha Smile

    Mas valeu não desistir Smile
    Que beleza Wink

    Obrigado por tudo bounce
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 16:46

    Utilize este código.. está mais limpo, retirei linhas desnecessárias..


    Option Compare Database

    Private Sub Atualizar()
    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Dim ws As DAO.Workspace
    Dim StrSql As String
    Dim StrHoras As Double

    Set ws = DBEngine.Workspaces(0)
    Set Db = ws.OpenDatabase(CurrentProject.Path & "\Empregados.accdb", False, False, "MS Access;PWD=senha")

    StrSql = "SELECT * FROM Dados WHERE numero = " & Me.txtID & " And tax='Normal' And (Ddata >=#" & Format(Me.txtDataLoop, "mm/dd/yyyy") & "# And (Ddata <= #" & Format(Me.txtDataLoop, "mm/dd/yyyy") & "#+ Val(5)))"
    Set Rs = Db.OpenRecordset(StrSql)

    If Rs.RecordCount = 0 Then
    'MsgBox "sem registro selecionado", vbInformation, "Atenção"
    Else
    StrHoras = 0


    Do 'While Not Rs.EOF
    StrHoras = StrHoras + Rs!horas
    CurrentDb.Execute "UPDATE Empregados SET totalhorasdeproducaonormal= '" & StrHoras & "' WHERE Numero =" & Me.txtID & " And DataRef =#" & Format(Me.txtDataLoop, "mm/dd/yyyy") & "#;"
    Rs.MoveNext
    Loop
    End If
    End Sub
    Private Sub Comando16_Click()
    On Error GoTo TrataErro
    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Dim ws As DAO.Workspace
    Dim StrSql As String
    Dim StrNumFunc As String
    Dim inti As Integer



    Set ws = DBEngine.Workspaces(0)
    Set Db = ws.OpenDatabase(CurrentProject.Path & "\Empregados.accdb", False, False, "MS Access;PWD=senha")

    StrSql = "SELECT * FROM Empregados"
    Set Rs = Db.OpenRecordset(StrSql)

    StrNumFunc = DCount("*", "[Empregados]")

    inti = 0

    fInLoop = True
    fExitLoop = False

    Do Until inti >= StrNumFunc Or fExitLoop

    DoEvents

    inti = inti + 1
    Me.txtInti = inti
    Me.txtID = Rs!Numero
    Me.txtDataLoop = Rs!DataRef

    Rs.MoveNext
    Call Atualizar

    Loop

    fInLoop = False
    Exit Sub

    TrataErro:
    If Err.Number = 2220 Then
    MsgBox "XXXXX"
    Else
    Resume Next
    End If

    End Sub





    Saudações
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 6/9/2011, 17:28

    Está mais limpo sim....Pois já não apararece as msenagens...

    Obrigado uma vez mais!

    Harysohn queria aprender a fazer esses códigos. Será que me pode indicar sites ou materias que me ensinem a somar campos dentro da propria tabela?

    Pois vou ter que criar um campo onde me fazer a subtracção de dois campos na tabela..
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 17:31

    Tudo que aprendi.. aprendi aqui no fórum amigão...
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 6/9/2011, 17:33

    Cálculos entre campos é feito em VBA ou dentro da própria consulta...
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 7/9/2011, 08:28

    Mas posso fazer as somas entre cálculos usando o vba e dentro da propria tabela, utilizando o método actualizar né?

    Cumps
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 7/9/2011, 10:27

    Neste caso a pegaria os valores participes do cálculo na tabela, faria os mesmo em VBA depois gravaria de volta na tabela via comando UPDATE...

    Cumprimentos
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Flashed 7/9/2011, 10:32

    Imagine que quero subtrair os valores da coluna1 com a coluna2.

    Como escrevo o código?

    Depois com o resultado do código tenho que dizer no comando update que esse valor vai actualizar a coluna resultado. né?
    avatar
    Convidado
    Convidado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Convidado 7/9/2011, 10:34

    Nova Dúvida... Novo Töpico.. este ja está estagnado...

    Cumprimentos...

    Conteúdo patrocinado


    [Resolvido]Modificar o código - pesquisar nas colunas - Página 2 Empty Re: [Resolvido]Modificar o código - pesquisar nas colunas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 15/5/2024, 15:42