VALOR VINDO DO SELECT. RUNTIME ERROR 13
Bom dia
estou tendo um problema para exibir o valor de um select. O valor que deve ser exibido (66.66%) não aparece e da erro [Ô]Run Time 13 Type Miss macth[Ô]
o codigo é o seguinte:
Outra coisa. Como posso ver o valor de sqlOra(0) na tela Immediate? ja tentei sqlOra(0) e sqlOra.fields([Ô]perc[Ô]).value
valeu
estou tendo um problema para exibir o valor de um select. O valor que deve ser exibido (66.66%) não aparece e da erro [Ô]Run Time 13 Type Miss macth[Ô]
o codigo é o seguinte:
Set sqlOra = DB_ORA.Execute(sql_Str)
If sqlOra.EOF Or IsNull(sqlOra!perc) Then
MsgBox [Ô]Sem dados para gerar relatório[Ô]
Exit Sub
End If
percent = 0 [ô]percent é do tipo DOUBLE
percent = FormatPercent(sqlOra(0), 2, True, False, False) [ô]Erro nessa linha. Run time 13 - miss macth
relatorioCanaleta.DataControlCanal.Recordset = sqlOra
relatorioCanaleta.lbl_DtInicio.Caption = dataIni
relatorioCanaleta.lbl_DtFim.Caption = dataFim
relatorioCanaleta.Label1.Caption = [Ô]Canaletas dentro da faixa (%): [Ô] & percent
relatorioCanaleta.Show
Outra coisa. Como posso ver o valor de sqlOra(0) na tela Immediate? ja tentei sqlOra(0) e sqlOra.fields([Ô]perc[Ô]).value
valeu
amigo poste essa funcão FormatPercen
para ver o valor basta digitar no immediate ? sqlOra!perc ou colocar em um msgbox assim: msgbox sqlOra!perc
abraço!
para ver o valor basta digitar no immediate ? sqlOra!perc ou colocar em um msgbox assim: msgbox sqlOra!perc
abraço!
obs se a variavel percent é tipo double e essa função retorna exatamente isso 66.66% com com a [Ô]%[Ô] esta ai o erro, a variavel percent tem que ser do tipo string.
Ok, alterei o tipo de percent para String.
agora, quando tento ler o valor de sqlOra!perc , sempre da erro de [Ô]Invalid Procedure Call or Argument[Ô]
usando o codigo abaixo:
retorna sempre 100%, mas sem erro. Acho que devido não reconhecer sqlOra(0)
agora, quando tento ler o valor de sqlOra!perc , sempre da erro de [Ô]Invalid Procedure Call or Argument[Ô]
usando o codigo abaixo:
percent = FormatPercent(1 - sqlOra(0), 2, True, False, False)
retorna sempre 100%, mas sem erro. Acho que devido não reconhecer sqlOra(0)
Voce tentou sem o FormatPercent para ver se retorna algum valor?
percent = sqlOra(0)
percent = sqlOra(0)
Sim.
percent = sqlOra(0) dá erro de [Ô]Invalid Procedure Call or Argument[Ô].
percent = sqlOra(0) dá erro de [Ô]Invalid Procedure Call or Argument[Ô].
e assim:
percent = sqlOra!perc
retorna o mesmo erro?
percent = sqlOra!perc
retorna o mesmo erro?
Sim.
Acho que achei o problema.
O valor retornado pelo sql era .6666666666 (dizima periodica)
Acrescentei mais dados, é o valor passou a ser de .75, com isso funciona legal.
Tem algum bug quando o valor é fracionado.
Acho que achei o problema.
O valor retornado pelo sql era .6666666666 (dizima periodica)
Acrescentei mais dados, é o valor passou a ser de .75, com isso funciona legal.
Tem algum bug quando o valor é fracionado.
O jeito foi tratar o valor vindo do select antes, garantindo que nao venha dizima. Usei a função Round
Tópico encerrado , respostas não são mais permitidas