OLEDB http://blogs.ugidotnet.org/fgiossi/category/OLEDB.aspx Object Linking and Embedding - Database it-IT Francesco Giossi Subtext Version 2.6.0.0 OLEDB and text files http://blogs.ugidotnet.org/fgiossi/archive/2007/10/07/oledb-and-text-files.aspx <p><font face="Arial">This is a very quick example about OLEDB and read a text (.txt) file using Visual Basic 6.<br /> The text file must be formatted as a simple CSV file with a field separator. Something like this</font></p> <p><font face="Arial">Test.txt</font></p> <p><font face="Arial">a;1;Test<br /> b;2;Test<br /> c;3;Test<br /> d;4;Test</font></p> <p><font face="Arial">Supposing "Test.Txt" is stored in the root of the C: harddrive, the code will look like</font></p> <p>----------------------------------------</p> <p><font face="Arial"><span class="kwrd"><span style="COLOR: #0000ff">Dim</span><span style="COLOR: #000000"> cn </span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000"> ADODB.Connection<br /> </span><span style="COLOR: #0000ff">Dim</span><span style="COLOR: #000000"> rs </span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000"> ADODB.Recordset<br /> </span><span style="COLOR: #0000ff">Set</span><span style="COLOR: #000000"> cn </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">CreateObject</span><span style="COLOR: #000000">(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">ADODB.Connection</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br /> cn.Open </span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=""text;HDR=No;FMT=Delimited'""</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000"><br /> </span><span style="COLOR: #0000ff">Set</span><span style="COLOR: #000000"> rs </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">CreateObject</span><span style="COLOR: #000000">(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">ADODB.Recordset</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br /> rs.Open </span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">SELECT * FROM Test.txt</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">, cn, </span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #800080">1</span><span style="COLOR: #000000"><br /> </span><span style="COLOR: #0000ff">While</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">Not</span><span style="COLOR: #000000"> rs.EOF<br />     Debug.Print rs.Fields(</span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">).Value, rs.Fields(</span><span style="COLOR: #800080">1</span><span style="COLOR: #000000">).Value, rs.Fields(</span><span style="COLOR: #800080">2</span><span style="COLOR: #000000">).Value<br />     rs.MoveNext<br /> </span><span style="COLOR: #0000ff">Wend</span><span style="COLOR: #000000"><br /> rs.Close<br /> </span><span style="COLOR: #0000ff">Set</span><span style="COLOR: #000000"> rs </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">Nothing</span><span style="COLOR: #000000"><br /> cn.Close<br /> </span><span style="COLOR: #0000ff">Set</span><span style="COLOR: #000000"> cn </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">Nothing</span></span></font></p> <p><font face="Arial"><span class="kwrd"><span style="COLOR: #0000ff" /></span></font></p> <p>----------------------------------------</p> <p>Take a look to the connection string</p> <p><span style="COLOR: #800000">"</span><span style="COLOR: #800000">Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=""text;HDR=No;FMT=Delimited'""</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000"><br /> </span><span style="COLOR: #000000" /></p> <p><span style="COLOR: #000000">the <span style="COLOR: #800000">Data Source=c:\;</span></span> is the key. If you plan to store your text file in a different folde, let's say "c:\documents and settings\Auser\Documents\myTestFiles\", you are required to change the connection string this way:</p> <p><span style="COLOR: #800000">"</span><span style="COLOR: #800000">Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\documents and settings\Auser\Documents\myTestFiles\;Extended Properties=""text;HDR=No;FMT=Delimited'""</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000"><br /> </span></p><img src="http://blogs.ugidotnet.org/fgiossi/aggbug/88799.aspx" width="1" height="1" /> Francesco Giossi http://blogs.ugidotnet.org/fgiossi/archive/2007/10/07/oledb-and-text-files.aspx Sun, 07 Oct 2007 21:00:14 GMT http://blogs.ugidotnet.org/fgiossi/archive/2007/10/07/oledb-and-text-files.aspx#feedback http://blogs.ugidotnet.org/fgiossi/comments/commentRss/88799.aspx http://blogs.ugidotnet.org/fgiossi/services/trackbacks/88799.aspx