Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Da Excel ad Access

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142

    Da Excel ad Access

    Salve a tutti, vi descrivo qual'è il problema che non riesco a risolvere:

    Ho un foglio excel i cui dati vengono letti e caricati in un DB Access. Naturalmente il foglio excel è formattato con le stesse caratteristiche del DB, e prevede un controllo sul codice dei prodotti inseriti. Mi spiego meglio:
    ogni codice letto dal foglio Excel viene confrontato col codice contenuto nel DB, se questi sono uguali, allora bisogna aggiornare il record riferito a quel codice, se invece i codici sono diversi, allora quel record viene aggiunto al DB.
    Il tutto funziona come dovrebbe funzionare tranne per il fatto che quando, nel foglio Excel, viene letto un codice contenente un valore alfanumerico, questo viene ignorato e quindi tenta di riempire il relativo campo del DB con un codice "VUOTO" dandomi errore. La cosa strana è che se elimino dal foglio Excel tutti i valori numerici (quelli che carica nel DB tranquillamente senza problema), lasciando solo i codici alfanumerici, questi vengono letti e trasferiti nel DB senza problemi!

    Premetto che i campi del DB e di Excel sono settati entrambi come "Testo"! Sapete darmi un'idea per favore????? Non riesco a trovare la soluzione, aiuto!

  2. #2
    se provi a leggere tutti i campi excel e stamparli a video, senza fare controlli, funziona ?
    prova a postare il codice.

    Ciau!
    - Dean

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    No, anche eliminando tutti i controlli, non legge dal foglio excel! Il codice è molto semplice:

    rs2 è riferito al foglio excel, mentre rs è riferito al database access

    while not rs2.EOF

    Codice=rs2("Codice")
    Descrizione=rs2("Descrizione")
    Prezzo=rs2("Prezzo")

    rs.movefirst
    while not rs.EOF

    if Codice="" then
    response.End()
    end if

    if Codice<>"" then
    if strcomp(rs("Codice"),Codice,1)=0 then

    rs("Descrizione")=Descrizione
    rs("Prezzo")=Prezzo

    Prod="Aggiornamento"
    flag=1

    end if
    end if
    rs.movenext
    wend


    if Codice<>"" then

    if flag=0 then
    rs.addnew
    rs("Codice")=Codice
    rs("Descrizione")=Descrizione
    rs("Prezzo")=Prezzo
    rs.update

    Prod="Nuovo"
    end if
    end if


    flag=0
    rs2.movenext
    wend

  4. #4
    il problema sta nel fatto che il driver ado legge le prime righe di excel (10, 20? boh...) e in base al contenuto DECIDE se la colonna è numerica o stringa. mi ricordo che qualche mese fa un altro forumista ebbe lo stesso problema, ma non ricordo come lo risolvemmo (se ma l'abbiamo risolto...). prova a cercare

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    Ok, provo a cercare! Ma ho riscontrato un altro problema, quando legge sul foglio excel, una volta terminati i record da leggere, non si ferma come dovrebbe, va oltre leggendo anche molti record vuoti, io ho ovviato mettendo un controllo che impedisse di andare a scrivere poi nel DB letture che risultassero tutte nulle, ma vorrei capire il motivo di questo comportamento e se c'è un altro modo più efficente per impedire che legga righe vuote (è comunque del tempo che perde), sai qualcosa in merito?

  6. #6
    no, mai sentita. di solito si ferma. però puoi fare una prova: apri excel e premi [end] [freccia giù]: va all'ultima riga piena; controlla che sia quella che tu ti aspetti come ultima

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    Va tranquillamente all'ultima riga piena!

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.