🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.ado
Article #117

Re: import excel file to access database

#117
From: Tomislav Hundric'
Date: Mon, 03 Sep 2007 18:18
111 lines
4737 bytes
Thanks again on your help, I faced problems once again, I'm sorry but 
the following is giving me a headache:

Access database:
     ID (AutoNumber)
     Field1 (Text)
     Field2 (Text)

ADOQuery1
     ParamCheck=false
     Parameters
        Column1
        Column2
     SQL
        INSERT INTO Test (Field1, Field2)
        SELECT Column1, Column2
        FROM [Sheet1$] IN ""[Excel 8.0;Database=c:\testing.xls]

Excel file:
     Column1	Column2
     1.Test11	Test21
     2.Test12	Test22
     3.Test13	Test23

Form
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOQuery1->ExecSQL();
}

So everything goes well, but when I open database file in access, there 
are two empty rows created. I don't know why there are two (not three) 
rows created and why are they empty.

Thanks in advance,
Tomislav.



Vassiliev V. V. wrote:
> Set ParamCheck to false. Otherwise it treats :anything as parameter, in this 
> case c:\myxls.xls. Use also ExecSQL - this query does not return any data.
> 
> //------------------------------------------
> Regards,
> Vassiliev V. V.
> http://www.managed-vcl.com - using .Net objects in Delphi for Win32 +
> ADO.Net
> http://www.oledbdirect.com - The fastest way to access MS SQL Server,
> MS Jet (Access) and Interbase (through OLEDB)
> 
> 
> "Tomislav Hundric'" <rifnet@gmail.com> �������/�������� � �������� 
> ���������: news:46dc2b02@newsgroups.borland.com...
>> First of all thank you on your answer and sorry for my late response,
>> I'm using ADOConnection and ADOQuery, so I've tried to enter code you've
>> posted to SQL of ADOQuery, but I can't seem to make connection to excel 
>> file.
>>
>> using your code:
>>
>>> INSERT INTO MyTable(Col1, Col2)
>>> SELECT Col1, Col2
>>> FROM [Sheet1$] IN ""[Excel 8.0;Database=c:\myxls.xls]
>> and changing ADOQuery1->Active = false to ADOQuery1->Active = true
>>
>> I get error: "Parameter object is improperly defined. Inconsistent or 
>> incomplete information was provided."
>>
>> First I thought quotation marks were misplaced, but I've tried every 
>> possible position without success.
>>
>>
>> I get the syntax, but don't know what to define in from clause, do I need 
>> to add something else like :
>> FROM [Sheet1$] IN ['Microsoft.Jet.OLEDB.4.0',
>> 'Excel 8.0;Database=C:\testing.xls;']
>>
>> Thanks in advance,
>> Tomislav.
>>
>>
>> Vassiliev V. V. wrote:
>>> Connect to Access database and execute:
>>>
>>> INSERT INTO MyTable(Col1, Col2)
>>> SELECT Col1, Col2
>>> FROM [Sheet1$] IN ""[Excel 8.0;Database=c:\myxls.xls]
>>>
>>> [Sheet1] - named diapason, [Sheet1$] - sheet (if it does not work, try 
>>> [$Sheet1]), [Sheet1$B5:C10] - cells range.
>>>
>>> //------------------------------------------
>>> Regards,
>>> Vassiliev V. V.
>>> http://www.managed-vcl.com - using .Net objects in Delphi for Win32 +
>>> ADO.Net
>>> http://www.oledbdirect.com - The fastest way to access MS SQL Server,
>>> MS Jet (Access) and Interbase (through OLEDB)
>>>
>>>
>>> "Tomislav Hundric'" <rifnet@gmail.com> �������/�������� � �������� 
>>> ���������: news:46dae1d4$1@newsgroups.borland.com...
>>>> Please help,
>>>> I need to populate database table from excel file. My database table has 
>>>> same fields as excel file has columns. I use ADO connection to connect 
>>>> to database. Can anyone give me some guide lines or example how to do 
>>>> this.
>>>>
>>>> Thanks in advance.
> 
Technical Details
Message-ID: <46dc4fec@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!feeder.news-service.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <46dae1d4$1@newsgroups.borland.com> <46dbd9c5@newsgroups.borland.com> <46dc2b02@newsgroups.borland.com> <46dc41e1$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 10698b,da0a6137b1dabb49
X-Google-Attributes: gid10698b,public,usenet
X-Google-Language: ENGLISH,CP1252
Date: Mon, 03 Sep 2007 20:18:01 +0200
From: Tomislav Hundric' <rifnet@gmail.com>
User-Agent: Thunderbird 2.0.0.0 (Windows/20070326)
MIME-Version: 1.0
Newsgroups: borland.public.cppbuilder.database.ado
Subject: Re: import excel file to access database
References: <46dae1d4$1@newsgroups.borland.com> <46dbd9c5@newsgroups.borland.com> <46dc2b02@newsgroups.borland.com> <46dc41e1$1@newsgroups.borland.com>
In-Reply-To: <46dc41e1$1@newsgroups.borland.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: 78.0.190.32
Message-ID: <46dc4fec@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1188843500 78.0.190.32 (3 Sep 2007 11:18:20 -0700)
Lines: 111
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!feeder.news-service.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail