Olá Prezados usuários do fórum, sou novo aqui e esta é minha primeira postagem, caso esteja fazendo pergunta no campo errado por favor moderadores me corrijam!
Seguinte, estou com uma dúvida que está me matando e gostaria da ajuda de vocês, verifiquei no fórum e não achei o que estou procurando em relação ao meu problema.
Tenho um formulário de cadastro de clientes que este contém um subformulário para gerar um histórico de ações de contato com o cliente, o problema é que gostaria de em vez de vincular o botão para chamar o subformulário e quando ele abre eu tenho que novamente selecionar o "Cliente" para que possa ser gerado o vínculo de tabelas eu gostaria de chamar este subformulário através de um botão de ação e este vínculo fosse automático.
Só pra registrar a relação entre tabelas está ok, funciona perfeito conforme citado acima no botão de vínculo do formulário Clientes, mas gostaria de colocar isto no automático com vínculo de campos mestres e filho das tabelas, para que quando eu clicar no botão do formulário clientes, este chame o subformulário e automaticamente grave a chave primaria do cliente à campo códcliente na tabela histórico para que se faça a relação que preciso.
Outra coisa, para melhor esclarecer, quando crio o subformulário arrastando pra dentro do formulário principal faz exatamente o que quero, porém na minha tela de formulário principal existe vários dados necessários e ocupa muito do layout da tela e por isso quero chamar através do botão
Segue o código de vínculo de botão que utilizo atualmente
Privat Sub btnHistorico_Click()
On Error GoTo btnHistorico_Click_Err
If ChildFormIsOpen() Then
CloseChildForm
Else
OpenChildForm
FilterChildForm
End If
btnHistorico_Click_Exit:
Exit Sub
btnHistorico_Click_Err:
MsgBox Error$
Resume btnHistorico_Click_Exit
End Sub
Private Sub FilterChildForm()
If Me.NewRecord Then
Forms![SUBFORM_HISTORICO].DataEntry = True
Else
Forms![SUBFORM_HISTORICO].Filter = "[IDCLIENTE] = " & Me.[IDCLIENTE]
Forms![SUBFORM_HISTORICO].FilterOn = True
End If
End Sub
Private Sub OpenChildForm()
DoCmd.OpenForm "SUBFORM_HISTORICO"
If Not Me.[btnHistorico] Then Me![btnHistorico] = True
End Sub
Private Sub CloseChildForm()
DoCmd.Close acForm, "SUBFORM_HISTORICO"
If Me![btnHistorico] Then Me![btnHistorico] = False
End Sub
Private Function ChildFormIsOpen()
ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "SUBFORM_HISTORICO") And acObjStateOpen) <> False
End Function
Se puderem me ajudar agradeço a todos.
Seguinte, estou com uma dúvida que está me matando e gostaria da ajuda de vocês, verifiquei no fórum e não achei o que estou procurando em relação ao meu problema.
Tenho um formulário de cadastro de clientes que este contém um subformulário para gerar um histórico de ações de contato com o cliente, o problema é que gostaria de em vez de vincular o botão para chamar o subformulário e quando ele abre eu tenho que novamente selecionar o "Cliente" para que possa ser gerado o vínculo de tabelas eu gostaria de chamar este subformulário através de um botão de ação e este vínculo fosse automático.
Só pra registrar a relação entre tabelas está ok, funciona perfeito conforme citado acima no botão de vínculo do formulário Clientes, mas gostaria de colocar isto no automático com vínculo de campos mestres e filho das tabelas, para que quando eu clicar no botão do formulário clientes, este chame o subformulário e automaticamente grave a chave primaria do cliente à campo códcliente na tabela histórico para que se faça a relação que preciso.
Outra coisa, para melhor esclarecer, quando crio o subformulário arrastando pra dentro do formulário principal faz exatamente o que quero, porém na minha tela de formulário principal existe vários dados necessários e ocupa muito do layout da tela e por isso quero chamar através do botão
Segue o código de vínculo de botão que utilizo atualmente
Privat Sub btnHistorico_Click()
On Error GoTo btnHistorico_Click_Err
If ChildFormIsOpen() Then
CloseChildForm
Else
OpenChildForm
FilterChildForm
End If
btnHistorico_Click_Exit:
Exit Sub
btnHistorico_Click_Err:
MsgBox Error$
Resume btnHistorico_Click_Exit
End Sub
Private Sub FilterChildForm()
If Me.NewRecord Then
Forms![SUBFORM_HISTORICO].DataEntry = True
Else
Forms![SUBFORM_HISTORICO].Filter = "[IDCLIENTE] = " & Me.[IDCLIENTE]
Forms![SUBFORM_HISTORICO].FilterOn = True
End If
End Sub
Private Sub OpenChildForm()
DoCmd.OpenForm "SUBFORM_HISTORICO"
If Not Me.[btnHistorico] Then Me![btnHistorico] = True
End Sub
Private Sub CloseChildForm()
DoCmd.Close acForm, "SUBFORM_HISTORICO"
If Me![btnHistorico] Then Me![btnHistorico] = False
End Sub
Private Function ChildFormIsOpen()
ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "SUBFORM_HISTORICO") And acObjStateOpen) <> False
End Function
Se puderem me ajudar agradeço a todos.