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
                    
                

