Jump to content
Leandro.Athlos

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

Share this post


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.

Share this post


Link to post
Share on other sites
Leandro.Athlos

Então, assim está com datas fixas né, eu preciso que quando o usuario coloque as datas nas caixas de texto ele faça o calculo,

obrigado

Share this post


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.

Share this post


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

Share this post


Link to post
Share on other sites
Andrepereira9

Qual é o erro que dá?


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

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

Share this post


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.

Share this post


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.

Share this post


Link to post
Share on other sites
Leandro.Athlos

Preciso de outra ajuda

quando eu deixo algum campo em branco ele dá um erro como posso para tirar esse erro???

Share this post


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.

Share this post


Link to post
Share on other sites
betofilmes

Aproveitando este Tópico, caso queira que o resultado apareça em um Textbox1, como posso fazer?

Muito Obrigado

Share this post


Link to post
Share on other sites
Leandro.Athlos

Ele Voltou a dar aquela erro de Foco, como elimino esse erro agora

Share this post


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.

Share this post


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  :)

Share this post


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

Share this post


Link to post
Share on other sites
Ennard

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

Share this post


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.