2016-03-23 34 views
5

Sto provando a fare un report in accesso derivato da dati che ho in Excel. Quindi importare il mio foglio Excel in accesso usando le opzioni dati esterne, ma le mie nuove righe continuano ad apparire come "_x000D_"Accesso newline diventando _x000D_

Ad esempio utilizzo un foglio Excel con 4 colonne tutte con un titolo e tutte con 1 riga di dati contenente in ordine da sinistra a destra:

="a"&char(10)&"b" 
="a"&char(13)&"b" 
="a"&char(10)&char(13)&"b" 
="a"&char(13)&char(10)&"b" 

nel mio foglio Excel ho provato a cambiare le nuove linee per tutto quello che mi veniva in mente, ma le due che sembravano aver fatto qualcosa sono char (10) e char (13), tuttavia char (10) non appare affatto in accesso e char (13) sembra diventare "_x000D_"

risposta

4

Vedere How to import from Excel and keep the line breaks:

Excel utilizza il carattere di avanzamento riga (ASCII 10) come separatore di riga, mentre Access utilizza la combinazione di carriage-return + line-feed (ASCII 13 seguito da ASCII 10) come separatore di riga.

Dopo l'importazione, è possibile utilizzare la funzione Sostituisci per sostituire Chr (10) con Chr (13) + Chr (10). Ad esempio, è possibile eseguire una query come questa:

UPDATE ImportedExcelTable SET MyField = Replace([MyField], Chr(10), Chr(13) & Chr(10)); 

Quindi l'unico modo corretto di mettere un ritorno a capo in una cella di Excel è la prima versione:

="a"&char(10)&"b" 

Poi, dopo l'importazione della tabella , utilizzare la query di aggiornamento per sostituire Lf con le nuove righe di accesso CrLf.