03. november 2011 - 09:54Der er
14 kommentarer og 1 løsning
Dataoverførsel mellem Excel og access
Er der nogen der ligger inde med et eksempel på en simpel dataoverførsel i VBA mellem access og excel. Jeg forestiller mig at excel skal slå op i et medlemsregister og på baggrund af det opslåede medlem hente nogle data som skal beregnes og derefter skal nogle nye oplysninger gemmes.
Men et enkempel på en simpel løsning bare med import og export modtages med tak.
Et medlemsregister er oplagt at have som en database, saa hvorfor ikke bare lave en ny database og importere hele excelarket og bruge de forskellige wizards til at lave inputformularer og rapporter?~)
Regnearket/Mappen er ekstremt kompliceret og består af ca 20 regneark med beregninger og opslag til beregning af: hvad hvis nu Der er ikke muligt indenfor rimelighedens grænser at omsætte det til Access. Derimod vil det være en kæmpe fordel hvis data kunne gemmes i access således at historikken kan gemmes for senere bearbejdning.
Medlemsdelen har vi også besluttet at indlæse i regnearket når det åbnes så den er fix'et, men de mere komplicerede beregninger vil vi ikke gemme da de er 'statiske' i al fald i regnearket. Men StamData sammen med nogle få beregnede data vil vi gemme i databasen. F.eks har vi ingen intentation om at gemme kursen på samtlige obligationer hver dag. Men kursen på de handlede obligationer i forhold til et givent lån skal gemmes på beregningstidspunktet, sammen med et eventuelt provenue.
Synes godt om
Slettet bruger
03. november 2011 - 10:57#5
Du har sikkert 1 ark, som indeholder din medlemsliste. Importer denne ind i en database og lav en hurtig medlemsdatabase...
Herefter kan du paa et ark i Excel goere flg. for at linke til Access:
Data>Data From Access New source ODBC DSN MS access Database Browse for your database (nogle gange skal du dropdown "List Files of Type" foer man kan browse!~) Vaelg tabel Next, Finish Vaelg hvor du vil indsaette data OK
Under Data>Connections kan du finde properties og vaelge hvordan du vil opdatere data.
Jeg kan kun gemme som accdb der er ikke andre muligheder. Men jeg forsøger nu med en omvej og tager en gammel mdb database. Tømmer den og indlæser mine tabeller ( Hvem sagde møjsommeligt )
Men det kom jeg ikke meget længere af. Jeg har hele tiden kunne importere data til Excell, mit problem er at gemme ændringer og at opdatere resultatet af mine beregninger i access
OK så fik jeg løst det, og til de interesserede er her lidt kode.
Læs fra Access: --------------------------------------------------------------- Private Sub CommandButton1_Click() ' Kundeliste indlæses Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset 'con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\nelson.barreto\Documents\BASE.accdb;Persist Security Info=False;" con.ConnectionString = "DBQ=D:\Test\RR.mdb;" & "DRIVER={Microsoft Access Driver (*.mdb)};" 'Open Db connection con.Open Set rs.ActiveConnection = con rs.Open "Select * from Kunde" StartRow = 1 Do Until rs.EOF Cells(StartRow, 1) = rs.Fields(0).Value Cells(StartRow, 2) = rs.Fields(1).Value rs.MoveNext StartRow = StartRow + 1 Loop Set rs = Nothing con.Close Set con = Nothing End Sub --------------------------------------------------------------- Skriv til Access: --------------------------------------------------------------- Private Sub CommandButton4_Click() Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset Dim stacell1 Dim antalLaan Dim prov ' Læser feltet L8 for at hente denne kunde stacell1 = Worksheets("Ark2").Range("G8")
'con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\nelson.barreto\Documents\BASE.accdb;Persist Security Info=False;" con.ConnectionString = "DBQ=D:\Test\RR.mdb;" & "DRIVER={Microsoft Access Driver (*.mdb)};" 'Open Db connection con.Open Set rs.ActiveConnection = con rs.Open "UPDATE Laan SET Provenu = " & prov & " WHERE Id = " & [K17] & " AND KundeNr = " & [G8]
Set rs = Nothing con.Close Set con = Nothing End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.