Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
thicomp

Recuperação de Dados

Question

Boa Tarde!

Tenho um código onde ele faz a leitura de dados de um arquivo, com as informações separadas por ponto e vírgula ( ;).

O que acontece é que ele deveria fazer uma somatório dos meses disponíveis no arquivo e mostrar, em uma tabela (página WEB), com todos os meses cadastrados e os números relacionados a cada mês.

O que acontece nesse caso é que se eu não possuo algum mês específico no arquivo, ele retorna o valor anterior.

O problema é que eu não consigo retornar zero, caso o mês não exista no arquivo. Acredito que o problema esteja relacionado ao comando SELECT, mas não consigo encontrar uma solução. Alguém teria alguma sugestão?

Muito obrigado!

For a=1 to 12
    Set Conn1=Server.CreateObject("ADODB.Connection")
    Conn1.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
    "Dbq=E:\Root\Equipamentos\"&right("00"&request.querystring("equip"), 3)&";" & _
    "Extensions=asc,csv,tab,txt;" & _
    "Persist Security Info=false"
    sql1="SELECT * from "&request.querystring("ano")&".txt where MES_Sel="&a&""
    Set rs1=conn1.execute(sql1)
    
    While Not rs1.EOF
        IF Int(right("0"&a, 2))=Int(right("0"&rs1(2), 2)) Then
            For a2=4 to 16
                IF a2="4" AND rs1(a2)<>"" Then
                    p1=p1+1
                End IF        
            Next
        Else
            p1=0
        End IF
        rs1.MoveNext
    Wend
    rs1.close
    Set rs1=Nothing
    conn1.close
    Set    conn1=Nothing
    response.write "<TD>&nbsp;"&p1
Next

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Mude a leitura do arquivo para fora do for, para não ler o arquivo 12 vezes.

qual a ordem dos campos?

Share this post


Link to post
Share on other sites
  • 0

Bom dia!

Valeu pelo retorno.

Penso ser necessária a leitura, visto que a cada loop ele tera que realizar a verificação de todo o conteúdo antes de disponibilizar na tela. Outro problema é que se eu inserir a FOR depois da leitura do arquivo, ele fará a verificação a quantidade de vezes estipulada no FOR para cada registro do arquivo.

Cada registro está inserido no arquivo em horizontal, com cada campo separado com ponto e vírgula.

Estou certo?

Share this post


Link to post
Share on other sites
  • 0

certo, eu particularmente usaria FSO para ler.

Quanto ao FOR lá tem a questão do mês que vem do loop, ta certo.

Ante sde dar loop do rs verifique se ele contem dados.

if not rs.eof then
'executa o while
end if

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148128
    • Total Posts
      643427
×
×
  • Create New...