Avatar billede maria.cand Nybegynder
22. marts 2004 - 18:57 Der er 9 kommentarer og
1 løsning

Problemer med at eksportere alle info fra skema til access

Jeg har brug for noget prof hjælp til at få et skema lavet i Excel over i access - jeg skal nemlig bruge den som database på dette skema..

Der skal laves feltnavne med videre --

100 point for den der kan hjælpe mig her og nu
22. marts 2004 - 19:02 #1
Opret en database i Access.
Vælg Filer->Hent eksterne data->Importer
Vælg Excel-projektmappen, og følg guiden
Avatar billede maria.cand Nybegynder
22. marts 2004 - 19:04 #2
Det er slet ikke så lige til har forsøgt - det kræver programmering...
Avatar billede maria.cand Nybegynder
22. marts 2004 - 19:05 #3
Det skal laves sådan, at hver gang man trykker på en knappe skal alle info sættes ind i EN tabel
Avatar billede Slettet bruger
22. marts 2004 - 19:21 #4
Kan du ikke lave en macro i excelregnearket som opdaterer din access database.
Men i første omgang er du nødt til først at oprette databasen som erikjuul beskriver.
Avatar billede maria.cand Nybegynder
22. marts 2004 - 19:23 #5
Problmet er, at jeg har forsøgt at lave det - men jeg skal have alle data i en post ad gangen - Vil du evt. prøve at se det jeg har lavet og hvordan dette kan ændres..
Avatar billede maria.cand Nybegynder
22. marts 2004 - 19:24 #6
JEg kan godt arbejde i access - men slet ikke excel
Avatar billede kabbak Professor
22. marts 2004 - 19:29 #7
Hej, hvis det er skemaet begæring, du mener, så er det ikke ligetil, da du nogen steder bruger flettede celler, det gør det sværer.

Da skemaet er opdelt i flere sektioner med forskellige overskrifter, kan man heller ikke sammenkæde/ importer automatisk, så det skal programmeres.

hvis du vil sende databasen, med den tabel du vil have det ind på, så vil jeg da gerne prøve.
Avatar billede maria.cand Nybegynder
22. marts 2004 - 19:50 #8
er sendt;-)
Avatar billede kabbak Professor
22. marts 2004 - 23:35 #9
I får lige noget kode.

Tak for point

Dim Produkter(6, 4) As Variant
Sub opdaterkundedata()

Dim Antal As Byte
Antal = 0

BilAbbNormal:
For Each C In Range("D26:D29") ' Normal abb.
  If C.Value <> "" Then
      For Each CE In Range("B65:B69") ' hvis en af felterne med reg.nr er udfyldt, så ok
        If CE.Value <> "" Then
        GoTo BilSuper
        End If
      Next CE
    MsgBox "Der skal indtastes Registrerings nummer på bil(er)"
    Exit Sub
  End If
Next C
BilSuper:
  If Range("D30").Value <> "" Or Range("D31").Value <> "" Then ' BilSuper og BilSuper kombirabat
      For Each CE In Range("B65:B69") ' tjekker om der er mere end 1 bil
          If CE.Value <> "" Then
          Antal = Antal + 1
          End If
        Next
    If Antal = 0 Then
      MsgBox "Der Skal indtastes registrerings nummer på en' bil"
        Exit Sub
  ElseIf Antal > 1 Then
        MsgBox "Der må kun indtastes registrerings nummer på en' bil" & vbLf _
        & "Når der er valgt Bil Super"
        Exit Sub
    End If
End If

DataOK:

Call FindProdukter ' her finder den de valgte produkter



'Datasti = "C:\Documents and Settings\smallsystems\Skrivebord\VITUS CRM\Prologic\til implementering\Ny mappe\ordre.mdb"
Datasti = " E:\Documents and Settings\Holger Bak\Skrivebord\XP\Bisgård\db4.mdb"
  ' Lav en forbindelse til Access databasen
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
    "Data Source=" & Datasti & ";"
   
    Set rs = New ADODB.Recordset
    ' Åben et emnemain data del
    If MsgBox("Tjek om data er korrekt inden de indsættes i kundedatabasen?", vbQuestion + vbOKCancel, "Skal de indsættes i TimeReg?") = vbCancel Then
Exit Sub
End If
        With rs
            .Open "DataFraExcel where [EmneNr]= '" & Range("J5").Value & "'", cn, adOpenKeyset, adLockOptimistic, adCmdTable
            If .EOF Then
                .AddNew ' Ny kunde
                .Fields("EmneNr") = Range("J5").Value
            Else
          '    If MsgBox("Kunden eksisterer - skal kundebasisdata opdateres ?", vbYesNo, "Kunde eksisterer") = vbNo Then
          '          .Close
          '          GoTo nokundeupdate
              ' End If
               
            End If

           
            ' tilføj værdier til hvert felt i recorden
            .Fields("Navn") = Range("E4").Value
            .Fields("Adresse") = Range("E5").Value
            .Fields("PostNr") = Range("E6").Value
            .Fields("TelefonNr") = Range("H7").Value
            .Fields("Fødselsdag") = Range("J6").Value
            .Fields("Phoner id") = Range("E7").Value
            .Fields("Omsætning") = Range("G72").Value
          ' .Fields("Ikraftdato") = Range("J7").Value ' ved ikke om den skal bruges, den kommer på senere
            .Fields("Regnr") = Range("D78").Value
            .Fields("Kontonr") = Range("D79").Value
            .Fields("Cpr") = Range("D80").Value
            .Fields("Kronisksyg") = Trim(Range("G78").Value)
            .Fields("Bemærkning") = Range("B83").Value & Range("B84").Value
        For i = 1 To 6
          If i < 6 Then .Fields("Bil regnr" & i) = Range("B" & 64 + i).Value ' der er kun 5 biler
            .Fields("Produktnr" & i) = Produkter(i, 2)
            .Fields("Produkttekst" & i) = Produkter(i, 3)
            .Fields("Ikraftdato" & i) = Range("J7").Value
            ' her kan indsættes flere i serier
      Next
            ' tilpas til aktuel tabel
            .Update ' gem den nye record
            .Close
           

End With
'
'
Set rs = Nothing

End Sub


Public Sub FindProdukter()
Dim X As Byte
X = 1
For Each C In Range("D11:D62")
If C <> "" Then
Produkter(X, 1) = C ' denne indeholder antallet af det enkelte produkt , skal det ikke bruges. ?
For i = 2 To 3
Produkter(X, i) = C.Offset(0, i - 1)
Next
X = X + 1
End If
Next
End Sub
Avatar billede maria.cand Nybegynder
22. marts 2004 - 23:55 #10
selv takker hurtig og kanon lavet
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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