Boa noite!
Após buscas neste fórum, encontrei apenas 2 tópicos relacionados ao que desejo:
https://www.maximoaccess.com/t23853-autonumeracao-em-subformulario
* Não foi concluído e nem resolvido
https://www.maximoaccess.com/t14147-autonumeracao-em-subformularios
* Este não funcionou, após tentar aplicar
Seria o seguinte:
Tenho um formulário principal: F06_Investigados com um subformulário: 'F061_EvidenciasLAF', que estão já estão vinculados pelos campos: 'CodInvestigado' (Pai) e 'IDInvestigado' (Filho), respectivamente.
Criei um campo para a Tabela 'T061_EvidenciasLAF' usado no subformulário tipo Texto para iniciar sempre do 0001 junto com o ano corrente, para que os registros fiquem assim: 0001/2019, 0002/2019, 0003/2019, etc.
O Campo chama-se 'NumEvidencia' (Texto, tamanho: 9) na propriedade Valor Padrão coloquei:
=SeImed(DContar("[NumEvidencia]";"T061_EvidenciasLAF";"[AnoAtual]= " & Ano(Data()) & "")=0;("0001" & Direita(Ano(Data());4));Format((Esquerda(DMáx("[NumEvidencia]";"T061_EvidenciasLAF";"[AnoAtual]= " & Ano(Data()) & "");4)+1) & Direita(Ano(Data());4);"0000\/0000"))
O campo 'AnoAtual' tem como valor padrão = Ano(Data()) para fazer a junção no campo acima
Ao testar aconteceu assim: Ao incluir um novo registro no formulário principal, no subformulário já mostra no campo 'NumEvidencia' a numeração 0001/2019, pois está como valor padrão. Até aqui tudo certo.
Problema: Mas, quando vou para o subformulário para inserir o 1º registro, o campo 'NumEvidencia' permanece com a numeração 0001/2019 e mostra abaixo outro registro com a numeração 0001/2019, mesmo ainda não tendo saído completamente do registro, ou seja, ainda não foi salvo.
Quando vou para o 2º registro que seria a numeração 0002/2019, ele permanece com a numeração 0001/2019 mostrada quando da inserção do 1º registro.
Quando vou para o 3º registro que seria a numeração 0003/2019, ele permanece com a numeração 0002/2019 mostrada quando da inserção do 2º registro.
e assim por diante, ou seja, no subformulário está repetindo sempre a numeração anterior e depois que insere mais 1, mas continua repetindo sempre a numeração sempre com 2 registros iguais no campo 'NumEvidencia'
Essa rotina quando é usada em um campo texto com valor padrão indicado acima funciona normalmente sem erros, mas no subformulário acontece o ocorrido acima.
Se houver outra forma de fazer o que pretendo também resolve minha questão, ou ainda se tiver como corrigir o ocorrido acima.
Segue imagem em anexo
https://i.servimg.com/u/f22/19/70/85/28/fma_au11.jpg
Após buscas neste fórum, encontrei apenas 2 tópicos relacionados ao que desejo:
https://www.maximoaccess.com/t23853-autonumeracao-em-subformulario
* Não foi concluído e nem resolvido
https://www.maximoaccess.com/t14147-autonumeracao-em-subformularios
* Este não funcionou, após tentar aplicar
Seria o seguinte:
Tenho um formulário principal: F06_Investigados com um subformulário: 'F061_EvidenciasLAF', que estão já estão vinculados pelos campos: 'CodInvestigado' (Pai) e 'IDInvestigado' (Filho), respectivamente.
Criei um campo para a Tabela 'T061_EvidenciasLAF' usado no subformulário tipo Texto para iniciar sempre do 0001 junto com o ano corrente, para que os registros fiquem assim: 0001/2019, 0002/2019, 0003/2019, etc.
O Campo chama-se 'NumEvidencia' (Texto, tamanho: 9) na propriedade Valor Padrão coloquei:
=SeImed(DContar("[NumEvidencia]";"T061_EvidenciasLAF";"[AnoAtual]= " & Ano(Data()) & "")=0;("0001" & Direita(Ano(Data());4));Format((Esquerda(DMáx("[NumEvidencia]";"T061_EvidenciasLAF";"[AnoAtual]= " & Ano(Data()) & "");4)+1) & Direita(Ano(Data());4);"0000\/0000"))
O campo 'AnoAtual' tem como valor padrão = Ano(Data()) para fazer a junção no campo acima
Ao testar aconteceu assim: Ao incluir um novo registro no formulário principal, no subformulário já mostra no campo 'NumEvidencia' a numeração 0001/2019, pois está como valor padrão. Até aqui tudo certo.
Problema: Mas, quando vou para o subformulário para inserir o 1º registro, o campo 'NumEvidencia' permanece com a numeração 0001/2019 e mostra abaixo outro registro com a numeração 0001/2019, mesmo ainda não tendo saído completamente do registro, ou seja, ainda não foi salvo.
Quando vou para o 2º registro que seria a numeração 0002/2019, ele permanece com a numeração 0001/2019 mostrada quando da inserção do 1º registro.
Quando vou para o 3º registro que seria a numeração 0003/2019, ele permanece com a numeração 0002/2019 mostrada quando da inserção do 2º registro.
e assim por diante, ou seja, no subformulário está repetindo sempre a numeração anterior e depois que insere mais 1, mas continua repetindo sempre a numeração sempre com 2 registros iguais no campo 'NumEvidencia'
Essa rotina quando é usada em um campo texto com valor padrão indicado acima funciona normalmente sem erros, mas no subformulário acontece o ocorrido acima.
Se houver outra forma de fazer o que pretendo também resolve minha questão, ou ainda se tiver como corrigir o ocorrido acima.
Segue imagem em anexo
https://i.servimg.com/u/f22/19/70/85/28/fma_au11.jpg
Última edição por vileman em 15/1/2019, 23:22, editado 3 vez(es) (Motivo da edição : Imagem em anexo)