Saltar para o conteúdo principal
Versão: Próximo

DIFFERENCE

DIFFERENCE ( conjunto1 ; conjunto2 ; conjuntoResultado )

ParâmetroTipoDescrição
conjunto1String🡒Conjunto
conjunto2String🡒Conjunto que será subtraído
conjuntoResultadoString🡒Conjunto Resultado

Descrição

DIFFERENCE compara conjunto1 e conjunto2 e exclui de conjuntoResultado todos os registros de conjunto2. Em outras palavras, um registro é incluído em conjuntoResultado apenas se estiver em conjunto1, mas não em conjunto2. A seguinte tabela mostra todos os resultados possíveis de uma operação de diferença de conjuntos.

Conjunto 1Conjunto 2Conjunto Resultado
SimNãoSim
SimSimNão
NãoSimNão
NãoNãoNão

O gráfico representa uma operação de diferença entre dois conjuntos. O área sombreada é o conjunto resultante.


O conjuntoResultado é criado por DIFFERENCE O conjuntoResultado substitui qualquer conjunto existente que tenha o mesmo nome, incluindo conjunto1 e conjunto2. Os conjuntos conjunto1 e conjunto2 devem ser da mesma tabela. O conjunto resultado pertence a mesma tabela que conjunto1 e conjunto2.

4D Server: em modo cliente/Servidor, conjuntos são "visíveis" dependendo do tipo (interprocesso, processo e local) e onde eles foram criados (servidor ou cliente). DIFFERENCE exige que todos os três conjuntos sejam visíveis na mesma máquina. Veja o parágrafo 4D Server, conjuntos e seleções temporais no Manual de Referência 4D Server para mais informação.

Exemplo

Este exemplo exclui os registros selecionados pelo usuário. Os registros se mostran na tela com la seguinte instrução:

 DISPLAY SELECTION([Clientes]) // Visualização dos clientes em uma lista

Ao final da lista de registros há um botão com um método de objeto. O método de objeto exclui os registros selecionados pelo usuário (o conjunto sistema chamado “UserSet”), e mostra uma seleção reduzida:

 CREATE SET([Clientes];"$Atual") // Criação de um conjunto a partir da seleção atual DIFFERENCE ("$Atual";"UserSet";"$Atual") ` Exclusão dos registros selecionados
  USE SET("$Atual") // Utilização do novo conjunto
  CLEAR SET("$Atual") // Apagar o conjunto

Ver também

INTERSECTION
UNION