Databas Access 2000 eng Varför skall alla krångla till det. Nu har jag testat ditt förslag och det fungerade direkt. Det är ju så himla enkelt - när man kan! Tack för hjälpen!Kopiera tabell i Access till och från Excel-ark
Språk Visual Basic 6.0 eng
Har gjort en applikation för 5 fristående användare. De behöver kunna uppgradera programmet men samtidigt behålla innehållet i vissa tabeller och även kunna utbyta tabeller.
Jag tänkte lösa det genom att dumpa tabellen till och från ett excel-ark. I en artikel från 2001 som Pelle skrivit hittade jag ett förslag som lät lovande. Jag kommer inte ihåg var men den såg ut så här:
'Skicka data till Excel från VB via en databas
'Detta exempel visar hur du ansluter till Northwind databasen. Hämtar ut informationen ur en specifik tabell och fyller excelarket med informationen.
'Form
Private Sub Command1_Click()
Dim cn As Object
Dim s As Object
Dim a As Object
Dim w As Object
Dim ws As Object
Dim q As Object
Set cn = CreateObject("ADODB.Connection")
Set s = CreateObject("ADODB.Recordset")
cn.ConnectionString = "dsn=northwind;uid=;pwd="
cn.Open
s.CursorLocation = adUseClient
s.CursorType = adOpenStatic
s.LockType = adLockReadOnly
s.Source = "tabellnamn"
s.Open , cn, , , adCmdText
Set a = CreateObject("Excel.Application.9")
Set w = a.Workbooks.Add()
Set ws = w.Worksheets(1)
ws.Activate
ws.Range("A1").Select
a.Visible = True
Set q = ws.QueryTables.Add(s, ws.Range("A1"))
q.BackgroundQuery = False
Set q.Recordset = s
q.Refresh
Set q = Nothing
Set ws = Nothing
Set w = Nothing
Set a = Nothing
End Sub
'Kommentarer
'Se till att du markerar för både Microsoft ActiveX 2.x Object Library samt Microsoft Excel x.x Object Library i VB innan du kör.
Jag har ändrat dsn, uid och pwd samt tabellnamn men datorn förstår mig inte.
Det blir
Run time error 2-2147467259 (80004005)
[Microsoft][ODBC Driver Manager] Datasource name not found and no default driver specified.
Vad har jag gjort för fel?
Finns det något enklare sätt att lösa problemet?
/ClaêsSv: Kopiera tabell i Access till och från Excel-ark
Du skriver bara såhär för att exportera:
<code>
SELECT Customers.* INTO Customers IN '' [Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\Export.xls]
FROM Customers;
</code>
Kommer skapa en excel fil om den inte redan finns och ett arbets ark som heter Customers. Posterna kommer exporteras till deta ark i filen C:\Export.xls.
För att imoprtera dem:
<code>
INSERT INTO Customers ( CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax )
SELECT Customers.CustomerID, Customers.CompanyName, Customers.ContactName, Customers.ContactTitle, Customers.Address, Customers.City, Customers.Region, Customers.PostalCode, Customers.Country, Customers.Phone, Customers.Fax
FROM Customers IN '' [Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\Export.xls];
</code>
Jag tar med fälnanen för du säger att du vill ändra tabellstrukturen.
Frågerna är bara att köra i en anslutning mot din databas. Du kan använda ADO eller DAO.Sv: Kopiera tabell i Access till och från Excel-ark
/Claës