Darren - Active Billing
darren at activebilling.com.au
Fri Oct 16 01:31:59 CDT 2009
Hi Stuart I have started to use this method for table to table 'links/import How would I go about doing this where I would like to use a query on the SQL Server Side instead of a table on the SQL Server side EG this is what I'd like to do - but of course an SQL statement is not an object that the transferSpreadsheet routine can find Dim selSQL as string selSQL = "Select *, aa.SomeOtherFieldFromSomeOtherTable as SomeField from Account join SomeOtherTable aa on a.AccountNo = aa.AccountNo" DoCmd.TransferDatabase acLink, "ODBC Database", strODBCConn, acTable, selSQL, "tblAccount", False Thanks -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, 13 October 2009 10:42 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Insert Into 101 For MAX You could use ODBC - link the SQL Server table, do the insert and then delete the link. This should do it (aircode so may need some tweaking): Local strODBCConn as string Local strSQL as string strODBCConn = "ODBC;Description=Test Connection;DRIVER=SQL Server;" & _ "SERVER=SQLServername;APP=Microsoft Data Access Components;" & _ "DATABASE=SQLDatabasename;Trusted_Connection=Yes" 'Create ODBC Link DoCmd.TransferDatabase acLink, "ODBC Database", strODBCConn, acTable, _ "tblX", "tblX", False 'Insert records strSQL = "Insert into tblLocalTable Select * from tblX" CurrentDb.Execute strSQL 'Delete ODBC Link DoCmd.DeleteObject acTable, "tblX" -- Stuart On 13 Oct 2009 at 21:55, Darren - Active Billing wrote: > Hi Max > > This looks promising - How would you get it to connect to SQL server on table X > and then populate a local Access Table with all the records from table X? > Many thanks > Darren > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Max Wanadoo > Sent: Tuesday, 13 October 2009 3:40 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Insert Into 101 > > As far as I understand the problem, this works ok for me. > > Max > > Sub AppendRecsFromQuery() > Dim dbs As DAO.Database, rst As DAO.Recordset > Dim sql As String, qdf As DAO.QueryDef > Set dbs = CurrentDb > sql = "Drop table _TestA" > dbs.Execute (sql) > > sql = "Create Table _TestA (FirstName text, Surname Text, PersonID long)" > dbs.Execute (sql) > > sql = "Drop Table _TestQ" > dbs.Execute sql > > sql = "Select firstname,surname,PersonID from mcmPeople Where PersonID < > 1000" > Set qdf = dbs.CreateQueryDef("_TestQ", sql) > Set rst = dbs.OpenRecordset(qdf.Name, dbOpenSnapshot) > sql = "insert into _TestA " & qdf.sql > dbs.Execute sql > > End Sub > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com