Avatar billede saxtus Nybegynder
26. april 2006 - 10:52 Der er 9 kommentarer og
1 løsning

Overførsel af data fra Excel til en Access database

Hej Eksperter

Jeg har et ark i Excel hvor jeg gerne vil ha overført nogle værdier i en Access database.

Her er mine problemer
Hvordan får jeg oprettet forbindelsen til databasen.
hvordan får jeg indsat data i en tabel.

Jeg har rodet en del med Excel og med VB, men synes ikke rigtigt jeg kan finde noget der virker

SQL kan jeg også til lidt over husbehov.


Min database er "C:\Kunde-db.mdb"
Tabellen hedder "Test"
Variablerne hedder: Var1, Var2, Var3 alle 3 er text
Avatar billede stinejh1980 Nybegynder
26. april 2006 - 13:14 #1
Skal den gøre dette i dit program, for hvis det er du bare skal gøre det fordi du skal uploade ændringer kan jeg fortælle dig hvordan du gør det inde i selve Access
Avatar billede saxtus Nybegynder
27. april 2006 - 08:40 #2
Det er noget der skal gøres fra et program.

Eksemplet oven for er bare for at ha noget grundliggende kode at arbejde videre på.
Avatar billede stinejh1980 Nybegynder
27. april 2006 - 21:37 #3
''her "opretter" du dine "værdier"

Dim strConn, strSQL As String
Dim objConn As OleDbConnection
Dim objComm As OleDbCommand
Dim objRs As OleDbDataReader

''her henter du fra db
strSQL = "Select * FROM test;"

''her åbner du db
ObjConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("kunde-db.MDB") & ";")
ObjComm = New OleDbCommand(strSQL, objConn)
ObjConn.Open()

ObjRs = objComm.ExecuteReader()

While ObjRs.Read()
''her fylder du din label med værdi fra en kolonne
Dinlabel.text = ObjRS("Kolonnenavn")
End While

''her lukker du db
ObjRs.Close()
objConn.Close()

Husk filen skal gemme i samme mappe som din db ligger ellers skal du ændre din stil men skriv aldrig C:/ for så virker den ikke når du ligger det op på nettet
Avatar billede stinejh1980 Nybegynder
27. april 2006 - 21:38 #4
det er forresten kodet i ASP.NET og VB 1.1
Avatar billede saxtus Nybegynder
27. april 2006 - 22:54 #5
Det skal ikke køre på nettet, det er noget der skal køres lokalt på en maskine.
Grunden til at det skal ind i en database er at det bliver nemmere at søge på.

Min ide går på at der laves en skabelon i Excel, som så udfyldes x antal gange.
Ved hjælp af en knap overføres dataen fra Excel til min Access database.

det kan så senere være at der kommer en web del på databasen, men det er jo nemt nok at lave
Avatar billede supertekst Ekspert
28. april 2006 - 09:09 #6
Er det OK hvis det er VBA, der anvendes til at overføre data fra Excel til DB?

I givet fald, hvordan skal de data i Excel lokaliseres,som skal overføres til DB-tabellen?
Avatar billede saxtus Nybegynder
28. april 2006 - 09:32 #7
Sådan her:

var1 = Sheets("Ark1").Range("a1")
var2 = Sheets("Ark1").Range("a2")
var3 = Sheets("Ark1").Range("a3")
Avatar billede saxtus Nybegynder
28. april 2006 - 09:34 #8
Det skal laves så det kan køre i den vb editor i Excel
Avatar billede supertekst Ekspert
28. april 2006 - 10:07 #9
Et forslag:

Rem Reference til Microsoft DAO 3.6 skal sættes [Tools/References]
Rem ==============================================================
Dim db, tabel
Sub opdater()                'når knap i Excel aktiveres
    åbnDatabase
    findExcelData
   
    tabel.Close
    db.Close
End Sub
Private Sub åbnDatabase()
    Set db = OpenDatabase("d:\eksperten\Excel-Access\kunde-db.mdb")
    Set tabel = db.OpenRecordset("test")
End Sub
Private Sub findExcelData()  'A1-A2-A3
        opdaterDB
End Sub
Private Sub opdaterDB()
    With tabel
        .AddNew
        .Fields(1) = Cells(1, 1)
        .Fields(2) = Cells(2, 1)
        .Fields(3) = Cells(3, 1)
        .Update
    End With
End Sub
Avatar billede supertekst Ekspert
28. april 2006 - 10:09 #10
Koden skal lægges i Excel VBA-Ark1 - opret knap der tildeles makroen Opdater
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester