Avatar billede chapelle Nybegynder
29. januar 2006 - 16:28 Der er 5 kommentarer og
1 løsning

Hent info fra en access db ind i Excel

Hjælp, er der nogen der kan hjælpe mig... Jeg har en access db (kunder) og laver arbejdskort i excel, jeg vil gerne kunne indtaste f.eks. tlf. på kunden i min excel formular, hvorefter info hentes i access. Jeg havde tænkt at bruge "afterUpdate" i egenskaber for tekstboksen i excel, er der nogen der ved lidt om det.

På forhånd tak
Avatar billede mugs Novice
29. januar 2006 - 16:39 #1
Hvorfor lave arbejdskort i Excel, Access kan sagtens foretage beregninger. Hvis det blot er simple udregninger, bør du holde dig til et af programmerne.
Avatar billede chapelle Nybegynder
29. januar 2006 - 16:43 #2
enig, det er for en ven, og det er ingen gang for beregningernes skyld, nok kun fordi det er nemmere at sætte en arbkort på ved hjælp at celler. men det ville være nemmere at bare lave et nyt arbejdskort i access.
Avatar billede mugs Novice
29. januar 2006 - 17:14 #3
Eksporter dit kunde kartotek fra Access til et ark i Excel. Derefter med et lopslag henter du de ønskede informationer.
Avatar billede supertekst Ekspert
01. februar 2006 - 11:32 #4
VBA-koden indlægges i Excel-formularen (tekstboks t/telefonnr + Luk-knap):

Dim xsti, Db, recx As Recordset
Private Sub f_Luk_click()
    recx.Close
    Db.Close
    Unload UserForm1
End Sub
Private Sub f_TelefonNr_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If f_TelefonNr <> "" Then
        If findKunde(f_TelefonNr.Value) = 1 Then
        With recx
            Cells(1, 1) = .Fields("fornavn")        'Indsætter i regnearket
            Cells(1, 2) = .Fields("Efternavn")
            Cells(1, 3) = .Fields("Telefon")
        End With
        Else
            MsgBox ("Den ønskede kunde kunne ikke findes / eller ej entydig!")
        End If
    End If
End Sub
Private Sub UserForm_activate()
    xsti = ActiveWorkbook.Path
    If Right(xsti, 1) <> "\" Then
        xsti = xsti + "\"
    End If
   
    Set Db = OpenDatabase(xsti + "kunder.mdb")
End Sub
Private Function findKunde(tlfnr)
Dim værdi
    værdi = Chr(34) + tlfnr + Chr(34)
    Set recx = Db.OpenRecordset("SELECT * FROM " & "kunder" & _
                " WHERE (" & "Telefon" & "=" & værdi & ")", dbOpenSnapshot)
   
    On Error Resume Next
    recx.MoveLast
    findKunde = recx.RecordCount
End Function

Giv blot signal, hvis flere oplysninger ønskes

MVH
Avatar billede chapelle Nybegynder
04. februar 2006 - 12:27 #5
Jeg prøver, dine point!!!
Avatar billede supertekst Ekspert
04. februar 2006 - 14:33 #6
OK - så får du et svar i tilfælde af, at du kan anvende det - ellers giv blot signal!
MVH
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