Jump to content

Calculo de datas em VBA(Resolvido)


Recommended Posts

Leandro.Athlos

Boa Tarde

Tenho uma duvida

Preciso criar um calculo em Access VBA 2007 para calcular datas em um formulario que estão em duas caixas de texto e retornar o valor em dias em outra caixa de texto ou label

exemplo: 20/02/2011 - 15/03/2011 = 23 dias

obrigado  :D

Link to post
Share on other sites
Andrepereira9

boas

Dim data1 As Date
Dim data2 As Date
Dim total_dias As String

data1 = "15-03-2011"
data2 = "20-02-2011"

total_dias = (data1 - data2)
MsgBox (total_dias)

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Link to post
Share on other sites
Andrepereira9

então onde está

data1 = "15-03-2011"

metes

data1 = nometextbox.text

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Link to post
Share on other sites
Leandro.Athlos

então coloquei o codigo assim e está dando erro quando clico no botão

Private Sub bot_Calcula_Click()

Dim data1 As Date

Dim data2 As Date

Dim total_dias As String

data1 = cb_data_Acident.Text

data2 = cb_data_retorn.Text

total_dias = (data1 - data2)

MsgBox (total_dias)

End Sub

Link to post
Share on other sites
Leandro.Athlos

Ao clicar no botão aparece o erro

Erro em tempo de execução '2185':

Você não pode fazer referência a uma propriedade ou a um metodo de um controle, a menos que o controle tenha o foco

At.

Link to post
Share on other sites
Andrepereira9

tenta assim

Private Sub bot_Calcula_Click()
Dim data1 As Date
Dim data2 As Date
Dim total_dias As String

cb_data_Acident.SetFocus
data1 = cb_data_Acident.Text

cb_data_retorn.SetFocus
data2 = cb_data_retorn.Text

total_dias = (data1 - data2)
MsgBox (total_dias)
End Sub

E no controle onde vais apresentar o resultado, antes de apresentares, mete também um nomedocontrole.setfocus

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Link to post
Share on other sites
Andrepereira9
Private Sub bot_Calcula_Click()

If cb_data_Acident.Text <> "" And cb_data_retorn.Text <> "" Then

Dim data1 As Date
Dim data2 As Date
Dim total_dias As String

cb_data_Acident.SetFocus
data1 = cb_data_Acident.Text

cb_data_retorn.SetFocus
data2 = cb_data_retorn.Text

total_dias = (data1 - data2)
MsgBox (total_dias)

Else
MsgBox ("Introduza as datas!")

End If
End Sub

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Link to post
Share on other sites
Andrepereira9

Betofilmes metes

Textbox1.setFocus
Textbox1.text = total_dias.tostring

A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Link to post
Share on other sites
Leandro.Athlos

Boa Tarde

Tenho uma duvida

Preciso criar um calculo em Access VBA 2007 para calcular datas em um formulario que estão em duas caixas de texto e retornar o valor em dias em outra caixa de texto ou label

exemplo: 20/02/2011 - 15/03/2011 = 23 dias

obrigado  :)

Link to post
Share on other sites
FreiNando

Simplificando:

Private Sub Comando1_Click()
    Texto3 = Null
    If Not IsDate(Texto1) Then
        Texto1.SetFocus
    ElseIf Not IsDate(Texto2) Then
        Texto2.SetFocus
    Else
        Texto1 = DateValue(Texto1)
        Texto2 = DateValue(Texto2)
        Texto3 = DateDiff("d", Texto1, Texto2)
    End If
End Sub

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to post
Share on other sites

Tenho uma data (Data de Início) e uma quantidade de dias (dias de aula), que podem ser domingos, segundas e quartas, terças e quintas ou sextas ou sábados.

Num formulário access, criei os campos "Data de Início", "Nº de Aulas", "Dias de Aula" (para indicar se domingo, seg e qua, ter e qui, sex ou Sá;) e "Data de Término".

O que eu preciso:

Ao lançar a Data de Início, a quantidade de aulas e os dias de aula, preciso que o sistema me retorne a Data de Término (a data da última aula). Alguém pode me ajudar?

Grato

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.