🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
9 messages
9 total messages Started by Jarosław Kozik - HOME Sat, 05 Jun 2010 18:37
Import z pliku csv do recordseta - VB6
#104653
Author: Jarosław Kozik - HOME
Date: Sat, 05 Jun 2010 18:37
24 lines
1593 bytes
Witam wszystkich
próbuje importować dane z pliku csv do grida i nie mogę rozdzielić danych 
zgodnie z przecinkami:

zaczytuje dane :

Dim objConnection As New ADODB.Connection
Dim objRecordset As New ADODB.Recordset

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & "D:\Text;" & _
                   "Extended Properties=""text;HDR=NO;FMT=Delimited"""

objRecordset.Open "SELECT * FROM file.csv", objConnection, adOpenStatic, 
adLockOptimistic, adCmdText

i do tego momentu jest OK, dane w rzędach są sklejane w jenda kolumne. Jak 
je podzielić na kolumny ??

struktura danych jest następująca:

"dane1a","dane2a","dane3a"
"dane1b","dane2b","dane3b"
"dane1c","dane2c","dane3c"
Re: Import z pliku csv do recordseta - VB6
#104654
Author: Przemysław Rachwał
Date: Sat, 05 Jun 2010 19:01
33 lines
1848 bytes
W dniu 2010-06-05 20:37, Jaros�aw Kozik - HOME pisze:
> Witam wszystkich
> pr�buje importowa� dane z pliku csv do grida i nie mog� rozdzieli� danych
> zgodnie z przecinkami:
>
> zaczytuje dane :
>
> Dim objConnection As New ADODB.Connection
> Dim objRecordset As New ADODB.Recordset
>
> objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;"&  _
>                     "Data Source="&  "D:\Text;"&  _
>                     "Extended Properties=""text;HDR=NO;FMT=Delimited"""
>
> objRecordset.Open "SELECT * FROM file.csv", objConnection, adOpenStatic,
> adLockOptimistic, adCmdText
>
> i do tego momentu jest OK, dane w rz�dach s� sklejane w jenda kolumne. Jak
> je podzieli� na kolumny ??
>
> struktura danych jest nast�puj�ca:
>
> "dane1a","dane2a","dane3a"
> "dane1b","dane2b","dane3b"
> "dane1c","dane2c","dane3c"
>
>
>
użyj schema.ini
http://msdn.microsoft.com/en-us/library/ms709353(VS.85).aspx

-- 
Przemek
Re: Import z pliku csv do recordseta - VB6
#104655
Author: Jarosław Kozik - HOME
Date: Sat, 05 Jun 2010 19:17
45 lines
2088 bytes
Masz może jakiś przykład takiego pliku ?

JK





Użytkownik "Przemysław Rachwał" <przemyslaw.rachwal@onet.pl> napisał w 
wiadomości news:hue6tb$g1b$1@news.onet.pl...
>W dniu 2010-06-05 20:37, Jaros?aw Kozik - HOME pisze:
>> Witam wszystkich
>> pr?buje importowa? dane z pliku csv do grida i nie mog? rozdzieli? danych
>> zgodnie z przecinkami:
>>
>> zaczytuje dane :
>>
>> Dim objConnection As New ADODB.Connection
>> Dim objRecordset As New ADODB.Recordset
>>
>> objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;"&  _
>>                     "Data Source="&  "D:\Text;"&  _
>>                     "Extended Properties=""text;HDR=NO;FMT=Delimited"""
>>
>> objRecordset.Open "SELECT * FROM file.csv", objConnection, adOpenStatic,
>> adLockOptimistic, adCmdText
>>
>> i do tego momentu jest OK, dane w rz?dach s? sklejane w jenda kolumne. 
>> Jak
>> je podzieli? na kolumny ??
>>
>> struktura danych jest nast?puj?ca:
>>
>> "dane1a","dane2a","dane3a"
>> "dane1b","dane2b","dane3b"
>> "dane1c","dane2c","dane3c"
>>
>>
>>
> użyj schema.ini
> http://msdn.microsoft.com/en-us/library/ms709353(VS.85).aspx
>
> -- 
> Przemek
> 
Re: Import z pliku csv do recordseta - VB6
#104656
Author: Przemysław Rachwał
Date: Sat, 05 Jun 2010 19:38
11 lines
1120 bytes
W dniu 2010-06-05 21:17, Jaros�aw Kozik - HOME pisze:
> Masz mo�e jaki� przyk�ad takiego pliku ?
>

[file.csv]
ColNameHeader=True
Format=CSVDelimited


-- 
Przemek
Re: Import z pliku csv do recordseta - VB6
#104657
Author: Jarosław Kozik - HOME
Date: Sat, 05 Jun 2010 19:53
32 lines
2061 bytes
Odszukałem jeszcze soś takiego:

To create a SCHEMA.INI file for a text file quickly and easily, let the ODBC 
setup and drivers do it for you. Go to the Control Panel and start ODBC. 
Click on the Add button and select the Text driver. Click on the Options 
button and describe how to arrange the text file. If your text file has a 
header record, click on the Guess button, and the ColumnNames will be filled 
out for you. On the last screen, choose Cancel to avoid setting up the data 
source. Check the directory where the text file resides, and you'll find a 
new SCHEMA.INI file.

Zrobiłem zgodnie z opisem procedure powyżej oczywiście twoja również dodałem 
do pliku i w obu przypadkach otrzymuje następujący błąd:

Separator pól specyfikacji pliku tekstowego odpowiada separatorowi 
dziesiętnemu lub ogranicznikowi tekstu.

---------------------------------------------------
Zminiałem w pliku przecinki na średniki i nic, czy wiesz może o co chodzi ?

JK



> [file.csv]
> ColNameHeader=True
> Format=CSVDelimited
>
>
> -- 
> Przemek
> 
Re: Import z pliku csv do recordseta - VB6
#104658
Author: Jarosław Kozik - HOME
Date: Sat, 05 Jun 2010 20:13
10 lines
1230 bytes
zrobiłem jeszcze coś takiego:

w pliku ini: Format=TabDelimited

oraz rozdzieliłem Tabami kloumny w poliku i zadziałało, czyli problem jest w 
formatowaniu CSVDelimited lub w moim pliku, który jest rozdzielony ","



JK
Re: Import z pliku csv do recordseta - VB6
#104659
Author: Przemysław Rachwał
Date: Sat, 05 Jun 2010 20:16
17 lines
1465 bytes
W dniu 2010-06-05 22:13, Jaros�aw Kozik - HOME pisze:
> zrobi�em jeszcze co� takiego:
>
> w pliku ini: Format=TabDelimited
>
> oraz rozdzieli�em Tabami kloumny w poliku i zadzia�a�o, czyli problem jest w
> formatowaniu CSVDelimited lub w moim pliku, kt�ry jest rozdzielony ","
>

polskie CSV jest rozdzielany znakiem ; więc sie może trochę dziwnie 
zachowywać
najlepiej dać
Format=Delimited(;)


-- 
Przemek
Re: Import z pliku csv do recordseta - VB6
#104660
Author: Jarosław Kozik - HOME
Date: Sat, 05 Jun 2010 20:28
13 lines
1548 bytes
Zrobiłem tak:

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & "D:\Text;" & _
                   "Extended Properties=""text;HDR=NO;FMT=Delimited(;)"""

w providerze zdefiniowałem format ; ze średnikiem i w pliku zamieniłem 
przecinek na średnik i poszło bez pliki INI, ale lekko mnie to martwi 
dlaczego nie widział przecinka - czyżby jakieś regionalne ustawienia 
formatowania liczb ?

Bardzio dziękuje za pomoc
Pozdrawiam JK
Re: Import z pliku csv do recordseta - VB6
#104661
Author: Przemysław Rachwał
Date: Sat, 05 Jun 2010 20:39
24 lines
1871 bytes
W dniu 2010-06-05 22:28, Jaros�aw Kozik - HOME pisze:
> Zrobi�em tak:
>
> objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;"&  _
>                     "Data Source="&  "D:\Text;"&  _
>                     "Extended Properties=""text;HDR=NO;FMT=Delimited(;)"""
>
> w providerze zdefiniowa�em format ; ze �rednikiem i w pliku zamieni�em
> przecinek na �rednik i posz�o bez pliki INI, ale lekko mnie to martwi
> dlaczego nie widzia� przecinka - czy�by jakie� regionalne ustawienia
> formatowania liczb ?
>
> Bardzio dzi�kuje za pomoc
> Pozdrawiam JK
>
>

tak
w przecinek nie rozdziela części ułamkowej i dziesiętnej, tylko kropka, 
więc zaadoptowali przecinek do CSV, a my w Polsce mamy inaczej i trzeba 
sobie jakoś radzić ;)

-- 
Przemek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads