Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di sanny82
    Registrato dal
    Mar 2003
    Messaggi
    689

    Non fa il ciclo dei recordset

    Ciao a tutti ho un problema...

    Ho un recordset dove sono contenuti dei txt, e all'interno del ciclo dei txt ho la funzione che mi và a leggere nel txt se c'è la parola che io cerco, ma il problema è che non mi fa il ciclo dei txt e io ne ho più di uno...

    Il codice è questo...

    codice:
    			
    
    Do while not rsDocumentazionePdf.eof
    		
    pdf_txt=rsDocumentazionePdf("pdf_txt")
    			
    			
    'FUNZIONE PER CERCARE ALL'INTERNO DEI FILE TXT LA PAROLA CERCATA								
    Dim FileObjectDoc 
    Set FileObjectDoc=Server.CreateObject("Scripting.FileSystemObject") 
    PathFile=(Server.MapPath("cgi-bin/documentazione_pdf/"& pdf_txt))
    						
    'CONTROLO SE IL FILE ESISTE
    if FileObjectDoc.FileExists(PathFile) then
    
    'LEGGO IL FILE 
    Set InStream=FileObjectDoc.OpenTextFile(Server.MapPath("cgi-bin/documentazione_pdf/"& pdf_txt),1,False,False) 
    			
    s ="" 
    			
    			
    'SCORRO IL FILE PER RIGHE
    do while not InStream.AtEndOfStream
    			
    'leggi la riga 
    s= InStream.readline
    				
      'CONTROLO SE TROVO LA PAROLA NELLA RIGA
      if InStr(s,cercaparola) > 0 then 
      'SE TROVO RESTITUISCO L'ID DEL TXT
        id_txt=rsDocumentazionePdf("id")
      end if 
    			
    loop
    
    InStream.Close 
    Set InStream=Nothing 
    
    end if
    			
    Set FileObjectDoc=Nothing 
    
    rsDocumentazionePdf.movenext
    loop
    ho scoperto che se tolgo la funzione InStr il ciclo funziona...

    Perchè? ci sono altri metodi?

    Grazie mille
    una parola è poca e due sono troppe

  2. #2
    hai per caso la "on error" attivata? e comunque, spiega meglio il problema

  3. #3
    Utente di HTML.it L'avatar di sanny82
    Registrato dal
    Mar 2003
    Messaggi
    689
    In poche parole non mi cicla i txt...

    Legge il primo, controlla se c'è la parola da ricercare con la funzione

    if InStr(s,cercaparola) > 0 then

    e dopo il primo txt termina il ciclo, non facendo il controllo della pèarola negli altri txt...

    Invece se levo questo parte del codice:

    codice:
    'CONTROLO SE TROVO LA PAROLA NELLA RIGA
      if InStr(s,cercaparola) > 0 then 
      'SE TROVO RESTITUISCO L'ID DEL TXT
        id_txt=rsDocumentazionePdf("id")
      end if
    mi fa il ciclo dei txt, ma ovviamente non controlla al suo interno se c'è la parola che io sto cercando...

    Cosa può essere?
    una parola è poca e due sono troppe

  4. #4
    quello che hai postato e' tutto il codice del ciclo? o c'e' qualcos'altro?

  5. #5
    Utente di HTML.it L'avatar di sanny82
    Registrato dal
    Mar 2003
    Messaggi
    689
    c'è qualcos'altro...

    ma se tolgo quel pezzo di codice funziona...
    una parola è poca e due sono troppe

  6. #6
    anche se ti tagli un braccio l'unghia spezzata smette di farti male...


    posta "il resto" che sta "dentro" al ciclo. l'errore e' li'.

  7. #7
    Utente di HTML.it L'avatar di sanny82
    Registrato dal
    Mar 2003
    Messaggi
    689
    hai ragione...

    ho trovato l'errore nel proseguimanto del codice aprivo un altro recordset con lo stesso nome... era quello l'errore che mi troncava il ciclo.

    Grazie mille per l'aiuto
    una parola è poca e due sono troppe

  8. #8

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.