USAR UM MESMO CALENDARIO PARA VARIOS OBJETOS
Conseguir achar o calendario que eu queria no meu projeto, porem, preciso usar o mesmo form (caledario) para preencher varios objetos...
exemplo:
tenho 02 forms: Cadastro_Cliente e Caledario
No form Cadastro_Cliente possui 03 objetos que precisao ser preenchido com datas: txtCadastro, txtNasc, txtValidade
então coloquei do lado de cada objeto que precisa ser preenchido com data um commandbutton para chamar o form Calendario....
Então preciso chamar o form já indicando para ele o objeto que ele vai preencher na volta dos dados...
Quando eu der um duplo clique numa data, ele deverá me retornar a data e preencher o objeto pré-determinado
Como eu faço isso?
exemplo:
tenho 02 forms: Cadastro_Cliente e Caledario
No form Cadastro_Cliente possui 03 objetos que precisao ser preenchido com datas: txtCadastro, txtNasc, txtValidade
então coloquei do lado de cada objeto que precisa ser preenchido com data um commandbutton para chamar o form Calendario....
Então preciso chamar o form já indicando para ele o objeto que ele vai preencher na volta dos dados...
Private Sub cmdCalendario1_Click()
Calendario.Show
[ô]cria a variavel e joga para o form calendario
End Sub
Quando eu der um duplo clique numa data, ele deverá me retornar a data e preencher o objeto pré-determinado
Private Sub ActiveCalendar1_DblClick()
Dim varObjeto As String
varObjeto = Format(ActiveCalendar1.SelectedDate, [Ô]dd/mm/yy[Ô])
End Sub
Como eu faço isso?
No form do Calendário na seção Options Declaration crie uma variável do tipo data, depois crie uma propriedade DateSelected
No duplo clique do controle de calendário você faz:
No Form onde tem o comando que chama o calendário você faz:
Espero ter ajudado.
Dim dataSelecionada As Date
Public Property Get DateSelected() As Date
DateSelected = dataSelecionada
End Property
No duplo clique do controle de calendário você faz:
Private Sub ActiveCalendar1_DblClick()
dataSelecionada = ActiveCalendar1.SelectedDate
Unload Me
End Sub
No Form onde tem o comando que chama o calendário você faz:
Private Sub cmdCalendario1_Click()
Dim varData As Variant
Dim fCal As Calendario
varData = Empty [ô]Inicializa a variável
Set fCal = New Calendario [ô]Cria o form de calendário
fCal.Show vbModal
varData = fCal.DateSelected [ô]Recupera a data selecionada
Unoload fCal [ô]Fecha o form
Set fCal = Nothing [ô]Destrói a variável
If Not IsDate(varData) Then Exit Sub [ô]Valida a data
If varData = 0 Then Exit Sub
txtNasc = Format(varData, [Ô]dd/mm/yyyy[Ô]) [ô]Exibe a data no campo
End Sub
Espero ter ajudado.
Tópico encerrado , respostas não são mais permitidas