| 4D v13.4CREATE SUBRECORD | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v13.4
 CREATE SUBRECORD 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CREATE SUBRECORD ( subTabela ) | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| subTabela | Subtabela |   | Subtabela para a qual vai criar novo subregistro | |||||
As subtabelas não são compatíveis a partir da versão 11 de 4D. Um mecanismo de compatibilidade garante o funcionamento deste comando em bancos compartilhados; entretanto, é recomendável substituir as subtabelas com tabelas relacionadas padrão.
CREATE SUBRECORD cria um novo subregistro em subTabela e o converte no subregistro atual. O novo subregistro é guardado apenas quando o registro pai for guardado. O registro pai pode ser guardado com um comando como SAVE RECORD ou quando o usuário confirma o registro. Se não houver registro atual, CREATE SUBRECORD não tem efeito. Para adicionar um novo subregistro em um formulário de entrada de subregistros, utilize ADD SUBRECORD.
O seguinte exemplo é um método de objeto para um botão. Quando for executado (quando o usuário clicar no botão), cria novos subregistros para crianças na tabela [Pessoas]. O loop Repeat permite ao usuário adicionar crianças até que se clique no botão Cancelar. O formulário mostra as crianças em um subformulário, mas não permite a entrada direta de dados porque a opção Editável não foi desativada: 
 Repeat
  ` É repetido até que o usuário clique em cancelar
    vCriança:=Request("Nome (cancelar quando terminar):")
  `Se o usuário clicar em Aceitar
    If(OK=1)
  ` Adição de um novo subregistro para uma criança
       CREATE SUBRECORD([Pessoas]Crianças)
  ` Atribuição do nome da criança ao subcampo
       [Pessoas]NomeCriança:=vCriança
    End if
 Until(OK=0)
	Produto: 4D
	Tema: Subregistros
	Número 
        72
        
        
        
	
        
         
        
	Modificado: 4D v11 SQL  
ADD SUBRECORD
DELETE SUBRECORD
MODIFY SUBRECORD
SAVE RECORD