[resolvido] Consulta acréscimo

Moderador: Avelino Sampaio

charleslima
Mensagens: 15
Registrado em: 30 Jan 2017, 18:13

[resolvido] Consulta acréscimo

Mensagempor charleslima » 16 Fev 2017, 20:58

Boa tarde, senhores

Estou precisando gerar registros numa tabela através de uma consulta acréscimo. Já consegui resolver todos os campos, exceto os de data, hora e "intervalo em minutos".

Explico: preciso abrir horários numa agenda, com por exemplo os seguintes critérios: de 01/02/17 a 28/02/17, às segundas e quartas, das 08:00 às 18:00, num intervalo de 30 em 30 minutos.

Eu encontrei em outro fórum uma função em VBA que estou tentando adaptar. Contudo, se alguém souber como escrever esses critérios na consulta ou aonde posso encontrá-los eu agradeço. Eu não tenho domínio de código VBA e por isso prefiro as consultas ação.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Sidney
Mensagens: 63
Registrado em: 20 Mai 2016, 18:47

Re: Consulta acréscimo

Mensagempor Sidney » 17 Fev 2017, 18:41

Charles Boa tarde!

Tente esta função, pois ela calcula diferença entre data,

Código: Selecionar todos

Intervalo: CData([DtInicial]-[DtFinal])


Att;

Sidney
Sidney Carvalho

charleslima
Mensagens: 15
Registrado em: 30 Jan 2017, 18:13

Re: Consulta acréscimo

Mensagempor charleslima » 17 Fev 2017, 19:00

Olá Sidney,

Não é isso que preciso. Eu preciso acrescentar (gerar) registros numa tabela. Essa função só calcula diferença entre datas.

Avatar do usuário
Avelino Sampaio
Mensagens: 2163
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Consulta acréscimo

Mensagempor Avelino Sampaio » 20 Fev 2017, 16:07

Charles,

o que deseja só com um pouco de programação.

Já teve alguma solução ?

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


charleslima
Mensagens: 15
Registrado em: 30 Jan 2017, 18:13

Re: Consulta acréscimo

Mensagempor charleslima » 20 Fev 2017, 18:47

Ainda não Avelino :(

Se puder baixar meu exemplo vc poderá compreender melhor...

No quadro da ESQUERDA "Abertura de horários", está sendo feito com um vba adaptado que encontrei na net. Já no quadro da DIREITA bloqueio/exclusão, eu consegui fazer com consultas ação. Eu queria repetir o mesmo sistema do quadro da direita (bloqueio/exclusão), no quadro da esquerda (abertura de horários).
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.

Avatar do usuário
Avelino Sampaio
Mensagens: 2163
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Consulta acréscimo

Mensagempor Avelino Sampaio » 22 Fev 2017, 10:17

Charles,

não tem como fazer isso sem uma programação. Segue uma programação, usando recordset ao invés de consulta. Creio que fica mais limpo e mais fácil de se entender.

Código:
Dim rs As DAO.Recordset
Dim dti As Date
Dim hri As Date
'verifica se os campos estão preenchidos. Aborta, caso não estejam
If IsNull(Me!txtDataInicial) Or IsNull(Me!txtDataFinal) Or IsNull(Me!txtHoraInicial) _
Or IsNull(Me!txthorafinal) Or IsNull(Me!Intervalo) _
Or (Nz(Me!d1) + Nz(Me!d2) + Nz(Me!d3) + Nz(Me!d4) + Nz(Me!d5) + Nz(Me!d6) + Nz(Me!d7) = 0) Then
MsgBox "Falta preencher campos...", vbInformation, "Aviso"
'Sai do procedimento sem preencher a agenda
Exit Sub
End If
'Abre a tabela agenda para inserir novos registros
Set rs = CurrentDb.OpenRecordset("agenda")
'percorre o intervalo de data informado
For dti = Format(Me!txtDataInicial, "mm/dd/yyyy") To Format(Me!txtDataFinal, "mm/dd/yyyy")
'verifica se data caiu na semana marcada
If Me("d" & Weekday(dti)) = -1 Then
'percorre os horários no intervalo definido
For hri = Me!txtHoraInicial To (Me!txthorafinal + CDbl(#12:00:01 AM#)) Step (CDbl(#12:01:00 AM#) * Me!Intervalo)
'Preenche os campos da tabela
rs.AddNew
rs!dta = dti
rs!Hra = hri
rs!UNIDADE = Me!UNIDADE
rs!Especialidade = Me!Combinação39
rs!Encaixe = Nz(Me!Encaixe)
'rs!Cadeira = ""
'rs!Intervalo = ""
'rs!Profissão = ""
rs.Update
Next
End If
Next
MsgBox "Agenda preenchida...", vbInformation, "Aviso"
End Sub


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

charleslima
Mensagens: 15
Registrado em: 30 Jan 2017, 18:13

Re: Consulta acréscimo

Mensagempor charleslima » 22 Fev 2017, 16:55

Muitíssimo obrigado pelo código!

Eu vou ter que resolver esse meu déficit com VBA :(

Eu comprei o kit mais completo aqui do site (excelente por sinal), com muitos exemplos, sistemas para estudo e o fantástico MontaRibbons. Contudo, eu preciso de um curso de VBA completo. Você tem algum pra indicar?

Avatar do usuário
Avelino Sampaio
Mensagens: 2163
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Consulta acréscimo

Mensagempor Avelino Sampaio » 24 Fev 2017, 10:25

Charles,

comece pela leitura dos livros de VBA, que foram disponíveis no kit.

Sucesso!
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Consultas”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 2 visitantes