Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975

    Errata importazione dati da excel in access tramite asp

    Ciao, ho delle difficoltà con l'importazione online dei dati contenuti in un file excel all'interno di un dbase access2000.

    L'importazione avviene in maniera regolare, ma succede che vengono importati più record rispetto a quelli contenuti nel file excel, mi spiego meglio:

    -ho una tbl di access con 402 records;
    -ho un foglio excel con 13 records;
    -importo il foglio excel in access;

    invece di ritrovarmi 402+13=415 records me ne ritrovo 691; nei primi 415 i campi della tbl sono debitamente compilati, sui restanti 276 (691-415) i records sono regolarmente numerati dal contatore ma assolutamente vuoti.

    In pratica mi 'ricopia' in access i records già esistenti e li somma a quelli importati da excel.

    Secondo voi da che cosa dipende? :master:
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  2. #2
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    ho trovato... è stato sufficiente eliminare la riga:
    codice:
    oRS.AddNew
    ... nello stesso script ho previsto l'invio di un email se il caricamento è andato a buon fine, ma l'email parte comunque e poi se volessi sapere quanti recoirds sono stati aggiunti al dbase come devo fare?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  3. #3
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Originariamente inviato da Luis33
    ho trovato... è stato sufficiente eliminare la riga:
    codice:
    oRS.AddNew
    ... nello stesso script ho previsto l'invio di un email se il caricamento è andato a buon fine, ma l'email parte comunque e poi se volessi sapere quanti recoirds sono stati aggiunti al dbase come devo fare?
    ho cantato vittoria troppo presto eliminando la riga sopra non mi aggiunge più nessun record al dbase.. .
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  4. #4
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Apri il file excel e elimina le 276 righe dopo l'ultima riga che contiene dati.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  5. #5
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Originariamente inviato da Corwin
    Apri il file excel e elimina le 276 righe dopo l'ultima riga che contiene dati.
    Ok grazie adesso va bene; il problema è che non sarò l'unico a fare questo tipo di importazione, mi preoccupa il fatto che non tutti saranno avvisati dell'operazione da eseguire... potrei creare un modello di excel da far compilare a terzi o che altro mi suggerisci?
    Grazie
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  6. #6
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Se fai un ciclo per inserire i dati, controlla che i campi di excel non siano vuoti. Fai qualche ciclo inutile ma almeno i non ci sono righe vuote.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  7. #7
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Originariamente inviato da Corwin
    Se fai un ciclo per inserire i dati, controlla che i campi di excel non siano vuoti. Fai qualche ciclo inutile ma almeno i non ci sono righe vuote.
    Grazie Corwin, il ciclo che al momento eseguo è:
    codice:
    Do Until Rs.Eof 
              
          oRS.AddNew
          
        
        oRs("Tipo_di_guasto") = Rs("Tipo_di_guasto")                        
        oRs("Giudizio_del_laboratorio")= Rs("Giudizio_del_laboratorio")                       
        oRS("Description") = Form("Description")
        oRS("Title") = Form("Title")
        oRS("Email") = Form("Email")
    
          
        oRs.Update
      
        Rs.MoveNext   
        Loop 
              
     
      Rs.close    
      set Rs=nothing    
      oRs.Close
      Set oRs = Nothing   
      Conn.Close
      Set Conn = Nothing
    come inserisco il controllo sui campi del file excel?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  8. #8
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    codice:
    Do Until Rs.Eof 
           If Rs("decidi_tu_quale_campo_controllare")  <> "" Then
          oRS.AddNew
          
        
        oRs("Tipo_di_guasto") = Rs("Tipo_di_guasto")                        
        oRs("Giudizio_del_laboratorio")= Rs("Giudizio_del_laboratorio")                       
        oRS("Description") = Form("Description")
        oRS("Title") = Form("Title")
        oRS("Email") = Form("Email")
    
          
        oRs.Update
    end if
        Rs.MoveNext   
        Loop 
    
      Rs.close    
      set Rs=nothing    
      oRs.Close
      Set oRs = Nothing   
      Conn.Close
      Set Conn = Nothing
    Ora, non sono sicuro al 100% che una cella vuota di Excel restituisca "" ma se fai qualche test dovresti riuscire a trovare il controllo giusto...
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  9. #9
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Originariamente inviato da Corwin
    codice:
    Do Until Rs.Eof 
           If Rs("decidi_tu_quale_campo_controllare")  <> "" Then
          oRS.AddNew
          
        
        oRs("Tipo_di_guasto") = Rs("Tipo_di_guasto")                        
        oRs("Giudizio_del_laboratorio")= Rs("Giudizio_del_laboratorio")                       
        oRS("Description") = Form("Description")
        oRS("Title") = Form("Title")
        oRS("Email") = Form("Email")
    
          
        oRs.Update
    end if
        Rs.MoveNext   
        Loop 
    
      Rs.close    
      set Rs=nothing    
      oRs.Close
      Set oRs = Nothing   
      Conn.Close
      Set Conn = Nothing
    Ora, non sono sicuro al 100% che una cella vuota di Excel restituisca "" ma se fai qualche test dovresti riuscire a trovare il controllo giusto...
    Grazie Corwin, il controllo da te suggerito non importa i record del file excel che hanno un determinato campo vuoto; avrei però tre perplessità:

    1) se devo controllare più campi del file excel (un if per ogni campo)?

    2) se non voglio che l'importazione avvenga se manca uno dei campi del file excel, è sufficiente un response.write tra:

    codice:
    Then
    Response.write...
    oRS.AddNew
    3) perchè quando ricevo l'email mi conta sempre 289 record e non quelli realmente importati?

    code email:
    codice:
    intCount = intCount + 1
    link.Body = "Sono stati aggiunti al database n° "& intCount &" records "
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  10. #10
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Originariamente inviato da Luis33
    1) se devo controllare più campi del file excel (un if per ogni campo)?
    Nell if puoi mettere più condizioni con AND e OR ...

    Originariamente inviato da Luis33
    2) se non voglio che l'importazione avvenga se manca uno dei campi del file excel, è sufficiente un response.write tra:
    codice:
    Then
    Response.write...
    oRS.AddNew
    Scusa ma non riesco a seguirti...

    Originariamente inviato da Luis33
    3) perchè quando ricevo l'email mi conta sempre 289 record e non quelli realmente importati?
    Anche anche l'incremento di intCount va messo dentro l'if...
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

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.