Newsgroup: it.comp.lang.visual-basic
Titolo: Importo File di Testo e decimali

Salve,
ho una procedura ke mi importa i dati di un file di testo all'interno di una
tabella... e fin qua tutto OK; il mio problema è ke i decimali nel file di
testo sn separati cn il punto e mi sballa il dato importato... come posso
risolvere?
Vi allego pure la parte dell'import:
    db2.Execute "INSERT INTO Table1 SELECT * FROM " & _
             "[Text;Database=" & PercorsoODBC & ";HDR=YES].[" & FileODBC &
"]"

 importato... come posso risolvere?
In che senso ti sballa il dato?
Ti va in errore o non ti ritrovi i dati corretti?
MIk

Un campo nel file di testo ha un numero 160.55 e nel file access diventa
16055...

 diventa 16055...
Probabilmente access si basa sulle impostazioni internazionali....
(se qualcuno può appoggiare questa affermazione...sarebbe meglio perchè non
ne sono molto sicuro)
Una soluzione potrebbe essere trasformare il tuo campo numerico
in un campo string e ritrasformarlo in seguito,
anche se prob cè un altro metodo più intelligente per farlo
ma in questo momento mi sfugge!
MIk

 ma in questo momento mi sfugge!
Solo che ci sono 85 campi della select... e fare l'import dove nella select
scrivo ogni singolo campo... è 1 suicidio :(

 select scrivo ogni singolo campo... è 1 suicidio :(
Ma non devi scrivere ogni singolo campo!
Devi solo importarli in una tabella con i campi definiti come string no?
MIk

Devo importarmi tutti gli 85 campi,ma trovo il problema cn i 3 campi
"numerici"....
Aiutoooooooo

 Aiutoooooooo
Ma non hai una tabella dove importarli????
Quei tre campi numerici li fai diventare string!
MIk

Indipendentemente che il campo destinazione sia Numerico o stringa il valore
viene importato sbagliato.. da 166.90 ho sempr 16690....
non so come venirne fuori :(

 non so come venirne fuori :(
So che non è logico, è di solito non si fa,
ma potresti provare a cambiare le tue impostazione internazionali
e impostare il separatore come "."
Mah..è una prova!
MIk


devi evitare di fare l'import diretto, ovvero devi costruire la tua
stringa di importazione usando una funzione di replace e sostituire il "."
con la ","
se hai valori del tipo 1,234,567.89 devi aliminare la "," e sostituire "."
con ","
-- 
bye BlackMagic
ICQ# 85485468

Speravo di evitare di fare questo anche perchč sono 85 campi da importare :(

 importare :(
evvabbè, saranno 85, ma lo fai una volta e non ci pensi più.
Salutoni
Sergio

 importare :(
Ma non sono solo tre i numerici???
MIk

85 campi di cui 3 numerici....


appunto e solo per questi 3 numerici lo devi fare....
se proprio non vuoi fare cosě, apri il file di testo e lo copi in uno nuovo
leggendo riga per riga e prima di scrivere ogni riga fai le sostituzioni che
ti servono


 ha scritto nel messaggio
news:bbidba$9ju86$1...@ID-192995.news.dfncis.de...

Ricontrolla che nella tua tabella i campi siano string, perche' e'
IMPOSSIBILE che importando la STRINGA "100.40" ti diventi la STRINGA "10040"

RIcontrollato.. ed è così....
frugando su internet ho visto ke si parla d un file schema.ini.... come lo
si usa?

Ragazzai.. dopo 24h d prove.. ho risolto ;)
ho usato il file schema.ini e inserito qsta dicitura:
CurrencyDecimalSymbol = .
DecimalSymbol = .
se può tornare utile a voi ;)

 se puň tornare utile a voi ;)
Mah.. meglio cosě!
Anche se mi sembra troppo strano che venga modificato una campo string
durante un importazione!!!
MIk

 durante un importazione!!!
bho, io gli direi di RI-RI-Controllare ! C'e' qualcosa di sbagliato nel
codice !
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/