GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Na impressão, números por letras.
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Júnior

Figura de  Dennis
postado
Tenho um relatório para impressão de tabela de preços com as seguintes colunas:

CODIGO, UNIDADE, DESCRIÇÃO DO ITEM, CODIGO FÁBRICA, PREÇO DE VENDA

Tenho que inserir uma coluna com o preço de custo. Até aqui tudo bem.
Mas, uma característica desta coluna é que, no lugar do número,
sejam impressos letras, isto é:

Para cada número descrito abaixo, uma letra representa-o:

0 1 2 3 4 5 6 7 8 9
X S B J N Q R T G U

Exemplo:

Se o custo do item é 45,00, é impresso NQ,XX.

Existe maneira de fazer?

****************************************************************

Espero ter sido claro.

Atenciosamente,

Dennis Alan
dennis@brcenter.com.br
 
Postagens: 142 | Registrado: 20 November 2003Reply With QuoteReport This Post
Analista Pleno

postado Hide Post
Dennis,
Bem vindo ao Fórum Access!!
Evite abrir outro tópico para a mesma questão, basta colocar um chamado no tópico original para trazê-lo pra frente. Ok? Feliz

Quanto a sua questão, cole o código abaixo em um novo módulo:

Const LETRAS As String = "XSBJNQRTGU"

Function Converte(strValor As String) As String
Dim intI As Integer, strResultado As String, strDigito As String
For intI = 1 To Len(strValor)
strDigito = Mid(strValor, intI, 1)
If IsNumeric(strDigito) Then
strResultado = strResultado & Mid(LETRAS, strDigito + 1, 1)
Else
strResultado = strResultado & strDigito
End If
Next intI
Converte = strResultado
End Function


Se o objetivo for criptografar os valores, sugiro a adoção de outros métodos pois a simples substituição de um símbolo por outro é facilmente detectável.

[]s
Henrique
 
Postagens: 907 | Localização: Rio de Janeiro | Registrado: 02 December 2001Reply With QuoteReport This Post
Programador Júnior

Figura de  Dennis
postado Hide Post
Caro Henrique,

Criei um módulo chamado "mdl_Letras_Num"
Colei a função conforme o que pediu.

Mas, como faço para que, ao abrir o relatório, somente a caixa de texto "Custo"
passe de número para texto?

Atenciosamente,

Dennis Alan
dennis@brcenter.com.br
 
Postagens: 142 | Registrado: 20 November 2003Reply With QuoteReport This Post
Analista Pleno

postado Hide Post
Na 'origem do controle' da caixa de texto
=Converte([campoCusto])

[]s
Henrique
 
Postagens: 907 | Localização: Rio de Janeiro | Registrado: 02 December 2001Reply With QuoteReport This Post
Programador Júnior

Figura de  Dennis
postado Hide Post
Caro Henrique,

Como faço agora para que as "letras" fiquem no formato 0,00, isto é, sempre com duas casas decimais.

Deste já,

Muito obrigado.
 
Postagens: 142 | Registrado: 20 November 2003Reply With QuoteReport This Post
Moderador
Diretor

Figura de  Sampaio Lima
postado Hide Post
Oi,

se usa a versão 2000 ou superior, use a função Replace()

Na esperança que isso ajude

==============================
Desenvolvimento e Consultoria

"A pessoa que está sempre declarando não ser burra, suspeita disso."

Por favor responda para os newsgroups para todos partilharem.
 
Postagens: 4421 | Localização: Fortaleza - ce | Registrado: 29 January 2001Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Na impressão, números por letras.

©