Sei sulla pagina 1di 3

Como exportar e importar Access tabelas utilizando DAO ou ODBC Artigo: 200427 - Ver produtos para os quais este

artigo se aplica. Ver iseno de responsabilidades para traduo automtica Traduo automtica e correes Se for um cliente de uma Pequena Empresa, poder obter recursos de aprendizagem e resoluo de problemas adicionais no Web site Suporte para Pequenas Empresas Expandir tudo | Reduzir tudoNesta pginaSumrioMais InformaoImportar e exportar dados com a classe CDaoDatabaseImportar e exportar dados com a classe CDatabaseProprie dadesSubmeter comentrios SumrioEste artigo pormenoriza como importar e exportar tabelas utilizando instrues DML SQL (linguagem de manipulao de dados) com o ODBC do Microsoft Access controlad or. Voltar ao topo | Submeter comentrios Mais InformaoO controlador ODBC do Microsoft Access pode ler e escrever dados no c ontroladores ISAM do Jet, bem como controladores ODBC utilizando instrues SQL. O c ontrolador reconhece uma sintaxe SQL especial que permite-lhe como prefixo um no me de tabela com qualquer cadeia de ligao de Jet vlida, o que lhe permite criar ins trues de SQL que movam tabelas de origem de dados de um para outro. Conceitos bsicos atrs exemplos mostrados neste artigo abrir o Microsoft Access da base de dados e utilizar a instruo "SELECT... INTO... FROM" SQL. Internamente, Jet efectua converses necessrios para exportar ou importar os dados de origem e orige ns de dados de destino. A sintaxe geral da "tabela cpia" SQL : SELECT * INTO <Target> FROM <Source> Onde <source> a tabela que pretende copiar e <ta rget> o destino para a tabela. Tenha em ateno que esta instruo de SQL tentar criar <T arget> com a mesma estrutura da tabela como <Source> e preencher <Target> com to dos os registos de <Source>. Tenha em ateno que <target> e <source> Permitir as variaes de trs seguintes: [<Full path to Microsoft Access database>].[<Table Name>] [ODBC;<ODBC Connection String>].[<Table Name>] [<ISAM Name>;<ISAM Connection String>].[<Table Name>] Eis alguns exemplos de sintaxe vlida: Nota <username>Tem de alterar o uid = valor <utilizador> e o pwd = valor < palav ra-passe segura > para os valores correctos antes de executar este cdigo. Certifi que-se que uid tem as permisses adequadas para efectuar esta operao na base de dado s. [c:\mydata\db1.mdb].[Customers] [ODBC;DSN=MyODBCDSN;UID=<username>;PWD=<strong password>;].[authors] [ODBC;Driver=SQL Server;Server=XXX;Database=Pubs;UID=<username>;PWD=<strong p assword>;].[authors] [Excel 5.0;HDR=Yes;DATABASE=c:\book1.xls;].[Sheet1$] Os exemplos de cdigo que se seguem partem do princpio que tem uma cpia do exemplo d o Microsoft Access base de dados Adamastor.mdb denominado "C:\Nw97.mdb": Importar e exportar dados com a classe CDaoDatabase O exemplo de cdigo seguinte demonstra como copiar de clientes tabela NorthWind (d enominado C:\Nw97.mdb) para Folha1 do livro do Excel com o nome C:\Customers.xls

utilizando o mtodo CDaoDatabase: #include <afxdao.h> // Needed for MFC DAO classes. CDaoDatabase db; CString SQL; SQL = "SELECT * INTO " "[Excel 8.0;HDR=Yes;DATABASE=c:\\customers.xls].[Sheet1] " "FROM [Customers]"; try { // Open database and execute SQL statement to copy data. db.Open( "c:\\nw97.mdb" ); db.Execute( SQL, dbFailOnError ); } catch( CDaoException * pEX ) { // Display errors. AfxMessageBox( pEX->m_pErrorInfo->m_strDescription ); pEX->Delete(); } O exemplo seguinte demonstra como copiar a tabela autores de uma base de dados p ubs do SQL Server para Adamastor: Nota <username>Tem de alterar o uid = valor <utilizador> e o pwd = valor < palav ra-passe segura > para os valores correctos antes de executar este cdigo. Certifi que-se que uid tem as permisses adequadas para efectuar esta operao na base de dado s. #include <afxdao.h> // Needed for MFC DAO classes. CDaoDatabase db; CString SQL; // Change XXX to the name of your SQL Server. SQL = "SELECT * INTO " "[LocalAuthors] " "FROM " "[ODBC;Driver=SQL Server;SERVER=XXX;DATABASE=Pubs;UID=<username>;PWD=<s trong password>;]." "[authors]"; try { // Open database and execute SQL statement to copy data. db.Open( "c:\\nw97.mdb" ); db.Execute( SQL, dbFailOnError ); } catch( CDaoException * pEX ) { // Display errors. AfxMessageBox( pEX->m_pErrorInfo->m_strDescription ); pEX->Delete(); }

Importar e exportar dados com a classe CDatabase O exemplo de cdigo seguinte demonstra como copiar os clientes da tabela em NorthW ind (nosso cpia denominada C:\Nw97.mdb) para Folha1 do livro do Excel com o nome

C:\Customers.xls utilizando a classe CDaoDatabase: #include <afxdao.h> // Needed for MFC DAO classes. CDaoDatabase db; CString SQL; SQL = "SELECT * INTO " "[Excel 8.0;HDR=Yes;DATABASE=c:\\customers.xls].[Sheet1] " "FROM [Customers]"; try { // Open database and execute SQL statement to copy data. db.Open( "c:\\nw97.mdb" ); db.Execute( SQL, dbFailOnError ); } catch( CDaoException * pEX ) { // Display errors. AfxMessageBox( pEX->m_pErrorInfo->m_strDescription ); pEX->Delete(); } O exemplo seguinte demonstra como copiar os transitrios tabela do Adamastor para uma tabela de SQL Server com o nome RemoteShippers em pubs: Nota <username>Tem de alterar o uid = valor <utilizador> e o pwd = valor < palav ra-passe segura > para os valores correctos antes de executar este cdigo. Certifi que-se que uid tem as permisses adequadas para efectuar esta operao na base de dado s. #include <afxdb.h> // Needed for MFC ODBC classes. CDatabase db; CString SQL; // Change XXX to the name of your SQL Server. SQL = "SELECT * INTO " "[ODBC;Driver=SQL Server;SERVER=XXX;DATABASE=Pubs;UID=<username>;PWD=<s trong password>;]." "[RemoteShippers] " "FROM [Shippers]"; try { // Open database and execute SQL statement to copy data. db.OpenEx( "Driver=Microsoft Access Driver (*.mdb);" "DBQ=c:\\nw97.mdb;", CDatabase::noOdbcDialog ); db.ExecuteSQL( SQL ); } catch( CDBException* pEX ) { // Display errors. AfxMessageBox( pEX->m_strError ); pEX->Delete(); }

Potrebbero piacerti anche