Darlan
Para que um formulário seja chamado em várias instâncias devemos primeiro abrir esse formulário no modo oculto.
Portanto, ele deve ser aberto já na abertura de aplicativo de preferência.
Você pode usar esse formulário como modelo, só não esqueça de colocar um nome na legenda desse formulário, senão irá dar erro.
Parte do código do meu aplicativo chamado BalemMsg, o qual era usado como chat entre funcionários de uma empresa, pois a net era vetada aos mesmo.
FrmMsg = era o nome do formulário de mensagem que era aberto em várias instancias, de acordo com o número de janelas de chat aberta,
no estilo do msn da vida.
DoCmd.OpenForm "frmMsg", , , , , acHidden
'===============================
Private Function NovaInstanciaForm()
'Abre nova instancia do form
Set frmNewForm = New Form_frmMsg
'Set focus para a nova instancia
frmNewForm.SetFocus
End Function
'=====================
Deixei a função acima para o caso de quere usar somente a chamada da função ao invés das linhas de dentro da mesma
Agora o pulo do gato
Para podermos abrir uma instancia de um formulário o código deve partir de dentro do mesmo.
Portanto coloque a função ou o código no evento OnClick de um botão no formulário e deixe esse botão invisivel
Nome do botão: cmdNovaInst
Outro detalhe:
Ao clicarmos na propriedade Onclick do botão o Access aumaticamente abrirá o módulo de classe e adicionará o evento , mas como private.
Devemos mudar o private para Public para podermos referencia-lo , no teu caso Darlan, no botão do formulário continuo que contem o botão para cada registro
Public Sub cmdNovaInst_Click()
Call NovaInstanciaForm
End Sub
Para chamar abrir uma nova instância, devemos chamar o evento on click da última instância do formulário que está aberta:
Call Forms(Forms.Count - 1).cmdNovaInst_Click
É isso
Qualquer dúvida, "tamos ai"
Mesmo porque, faz mais de uma década que criei esse código.
Editando: Agora que percebi, você está fazendo um chat, é?Abraços