Boa tarde a todos,
Depois de muitas tentativas em vão, venho aqui pedir vossa ajuda.
Sempre que existe um campo "data" numa DB, tráz sempre associado o problema dos erros de introdução.
Para evitar esse transtorno costumo usar um formulário calendário para introdução de datas.
Funciona da seguinte forma:
Nome do form calendário: frm_CalendarioUniversal
Nome do campo data: dataescolhida
Para qualquer form onde quero inserir uma data chamo o form calendário com o seguinte código:
If Me.Dirty Then Me.Dirty = False
DoCmd.OpenForm "frm_CalendarioUniversal", OpenArgs:="frm_Teste|" & "DataTeste" --> Nome do Form e nome do campo para inserir data
Ao validar a data no cmd click do form calendário uso o seguinte procedimento:
Dim intPos As Integer
Dim NomeForm As String
Dim NomeTexto As String
If Len(Me.OpenArgs) > 0 Then
intPos = InStr(Me.OpenArgs, "|")
If intPos > 0 Then
NomeForm = Left$(Me.OpenArgs, intPos - 1)
NomeTexto = Mid$(Me.OpenArgs, intPos + 1)
End If
End If
Forms(NomeForm).Controls(NomeTexto) = Forms![frm_CalendarioUniversal]![dataescolhida]
Este procedimento sempre funcionou bem durante muito tempo.
Atualmente preciso fazer o mesmo procedimento, mas desta vez para o subFormTeste.
Pelo facto de ser um SubForm não estou tendo sucesso.
Alguém pode me ajudar?
Obrigado a todos
Depois de muitas tentativas em vão, venho aqui pedir vossa ajuda.
Sempre que existe um campo "data" numa DB, tráz sempre associado o problema dos erros de introdução.
Para evitar esse transtorno costumo usar um formulário calendário para introdução de datas.
Funciona da seguinte forma:
Nome do form calendário: frm_CalendarioUniversal
Nome do campo data: dataescolhida
Para qualquer form onde quero inserir uma data chamo o form calendário com o seguinte código:
If Me.Dirty Then Me.Dirty = False
DoCmd.OpenForm "frm_CalendarioUniversal", OpenArgs:="frm_Teste|" & "DataTeste" --> Nome do Form e nome do campo para inserir data
Ao validar a data no cmd click do form calendário uso o seguinte procedimento:
Dim intPos As Integer
Dim NomeForm As String
Dim NomeTexto As String
If Len(Me.OpenArgs) > 0 Then
intPos = InStr(Me.OpenArgs, "|")
If intPos > 0 Then
NomeForm = Left$(Me.OpenArgs, intPos - 1)
NomeTexto = Mid$(Me.OpenArgs, intPos + 1)
End If
End If
Forms(NomeForm).Controls(NomeTexto) = Forms![frm_CalendarioUniversal]![dataescolhida]
Este procedimento sempre funcionou bem durante muito tempo.
Atualmente preciso fazer o mesmo procedimento, mas desta vez para o subFormTeste.
Pelo facto de ser um SubForm não estou tendo sucesso.
Alguém pode me ajudar?
Obrigado a todos
Última edição por zcarloslopes em 23/7/2018, 12:53, editado 1 vez(es)