Dividir o valor de um campo alfanumérico em um caractere específico no Crystal Reports é bastante simples. A premissa é dividir o campo em duas partes com a posição numérica do caractere desejado. Você pode capturar o valor de cada peça em uma fórmula separada usando as funções de cadeias integradas. A primeira parte será capturar os campos da primeira posição para a posição de divisão. A segunda parte capturará da posição de divisão mais uma para a última posição da cadeia.
Passo 1
Abra uma nova fórmula e defina as variáveis de sequência. Nota: // define comentários
stringVar s: = ‘abcdefghijklmnopqrstuvwxyz’; // s = constante ou valor do campo de dados stringVar c: = ‘m’; // c = qualquer caractere de s para definir a posição do número de divisãoVar L: = length (s); // L = tamanho do número s (última posição )Var i: = instr (s, c); // i = posição numérica do campo c (exemplo: m = 13)
Etapa 2
Continuando com as variáveis da etapa 1, defina a primeira parte da divisão usando as variáveis como argumentos nas funções de string predefinidas.
// mid leva a (s) string (s) da posição inicial numérica (1) para a posição final (i)
médio (s, 1, i)
Etapa 3
Continue com as variáveis da etapa 1, defina a segunda parte da divisão usando as variáveis como argumentos nas funções de string predefinidas
// mid leva a (s) string (s) da posição inicial numérica (i + 1) para a posição final (L)
médio (s, i + 1, L)
Etapa 4
Decida como usar as partes divididas definidas.
1) Mostrar um carro de retorno na posição dividida resultante
// CHR (13) é o caractere ASCII do carro de retorno
médio (s, 1, i) + chr (13) + médio (s, i + 1, L)
2) Mostre-os como dois campos separados.
- Nomeie a fórmula como Parte1 e uma cópia como Parte2
- Mantenha as declarações das variáveis em cada fórmula
- Mantenha meados (s, 1, i) na Parte 1
- Mantenha meados (s, i + 1, L) na Parte 2
- Coloque as Partes 1 e 2 em um relatório separado