Oi gente tô eu aqui novamente com dúvidas sobre o mesmo assunto que postei meses atrás. Preciso que o access fale o valor total de uma compra.
O código do Mestre João Paulo que usei me diz somente o valor arrendondado e se tiver centavos ele diz assim, ex: R$ 35,20 - "trinta e cinco vírgula vinte reais". Abaixo o código usado. Muito obrigado a todos.
FazerFalar ((Me.TextoTotal) & " " & "Reais")
Resolvido:
Primeiro: CRIAR O MÓDULO
Option Compare Database
Meste João Paulo
Option Explicit
Public Function FazerFalar(str As String)
Dim objVo As Object
Set objVo = CreateObject("SAPI.SpVoice")
objVo.Speak str
End Function
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CassioFabre -
Depois colocar no evento ao clicar de um botão o seguitente código:
Private Sub Botão_Click()
Dim s
Dim str As String
Dim numero As String
"Onde 'TextoTotal' é o campo que será lido e deve ter o formato determinado como PADRÃO e não como moeda."
TextoTotal.SetFocus
numero = TextoTotal.Text
s = Split(numero, ",")
'aqui eu monto a string apenas nos reais
If s(0) = 1 Then
str = s(0) & " real"
ElseIf s(0) > 1 Then
str = s(0) & " reais"
End If
If s(1) <> "00" Then
If str <> vbNullString Then str = str & " e "
'agora vou montar os centavos
If Len(s(1)) = 1 Then
str = str & s(1) & 0 & " centavos"
ElseIf s(1) = 1 Then
str = str & Right(s(1), 1) & " centavo"
ElseIf s(1) < 10 Then
str = str & Right(s(1), 1) & " centavos"
ElseIf s(1) > 9 Then
str = str & s(1) & " centavos"
End If
End If
'agora é só fazer falar
FazerFalar (str)
End Sub
O código do Mestre João Paulo que usei me diz somente o valor arrendondado e se tiver centavos ele diz assim, ex: R$ 35,20 - "trinta e cinco vírgula vinte reais". Abaixo o código usado. Muito obrigado a todos.
FazerFalar ((Me.TextoTotal) & " " & "Reais")
Resolvido:
Primeiro: CRIAR O MÓDULO
Option Compare Database
Meste João Paulo
Option Explicit
Public Function FazerFalar(str As String)
Dim objVo As Object
Set objVo = CreateObject("SAPI.SpVoice")
objVo.Speak str
End Function
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CassioFabre -
Depois colocar no evento ao clicar de um botão o seguitente código:
Private Sub Botão_Click()
Dim s
Dim str As String
Dim numero As String
"Onde 'TextoTotal' é o campo que será lido e deve ter o formato determinado como PADRÃO e não como moeda."
TextoTotal.SetFocus
numero = TextoTotal.Text
s = Split(numero, ",")
'aqui eu monto a string apenas nos reais
If s(0) = 1 Then
str = s(0) & " real"
ElseIf s(0) > 1 Then
str = s(0) & " reais"
End If
If s(1) <> "00" Then
If str <> vbNullString Then str = str & " e "
'agora vou montar os centavos
If Len(s(1)) = 1 Then
str = str & s(1) & 0 & " centavos"
ElseIf s(1) = 1 Then
str = str & Right(s(1), 1) & " centavo"
ElseIf s(1) < 10 Then
str = str & Right(s(1), 1) & " centavos"
ElseIf s(1) > 9 Then
str = str & s(1) & " centavos"
End If
End If
'agora é só fazer falar
FazerFalar (str)
End Sub
Última edição por Rosalvo Risso em 14/5/2018, 04:18, editado 1 vez(es)