Oprettet tir. d. 25. september 2012 kl. 17:55:19

CPP
CPP (1.275 point. Point ude: 200)

Word med data fra Access

Hej Eksperter

Er det muligt at Word henter data fra en Access database til en ComboBox i et UserForm?

Jeg har et Word skabelon hvor UserForm bliver vist med en ComboBox.

Er det mulig at får vist data fra databasen i ComboBox og på denne måde (Produkt/Producent) og efter man har valt et produkt bliver data overført til TextBox'er?

Håber at I kan forstå hvad jeg mener og at I kan hjælp mig

Skrevet tir. d. 25. september 2012 kl. 18:22:43| #1

supertekst
supertekst (139.439 point)
supertekst-it.dk
Ja - det kan godt lade sig gøre.

Hvilken version af Office anvender du?

.. og så velkommen til Eksperten..

Skrevet tir. d. 25. september 2012 kl. 18:41:37| #2

CPP
CPP (1.275 point)
Hej Supertekst

Jeg bruger Office 2010

Skrevet tir. d. 25. september 2012 kl. 21:04:53| #3

supertekst
supertekst (139.439 point)
supertekst-it.dk
Prøver at finde et eksempel - vender tilbage..

Skrevet ons. d. 26. september 2012 kl. 10:19:01| #4

supertekst
supertekst (139.439 point)
supertekst-it.dk
Rem Referencen til DB skal sættes under Tools / References/ Microsoft Office xx.0 Access database engine object Library

Rem
Const dataBaseNavn = "Database.accdb"
Const stiNavn = "C:\Users\peter\Desktop\FraAccessTilWord" '<--justeres
Public db, produkt
Private Sub åbnDatabase()
    Set db = OpenDatabase(stiNavn & "\" & dataBaseNavn)
End Sub
Private Sub åbnProdukt()
    åbnDatabase
    Set produkt = db.OpenRecordset("produkt")
End Sub
Private Sub lukProdukt()
    produkt.Close
End Sub
Public Sub LukDb()
    db.Close
End Sub
Public Sub hentprodukt()
    åbnProdukt
    For r = 1 To produkt.RecordCount
        With produkt
            UserForm1.ComboBox1.AddItem .Fields(1)
            .MoveNext
        End With
    Next r
    lukProdukt
End Sub
Private Sub UserForm_activate()
    hentprodukt
    ComboBox1.DropDown
End Sub

Skrevet ons. d. 10. oktober 2012 kl. 18:28:08| #5

CPP
CPP (1.275 point)
Hej supertekst

Undskul jeg først svar dig nu, men jeg har ikke fået nogle mail om at duer kommet med et svar, det var lidt underligt, jeg prøver med det samme om det virker

Skrevet ons. d. 10. oktober 2012 kl. 19:42:10| #6

CPP
CPP (1.275 point)
Hej Supertekst

Jeg har prøvet det, men den fejler, detsværre.

Der kommer en Run-time error -2147352571 (80020005) - Typeuoverensstemmelse.

Jeg tro det er ved denne kode som det gå galt, håber du vil bager over med mig, da jeg ikke verdensmester i VBA.

Public Sub hentprodukt()
    åbnProdukt
    For r = 1 To produkt.RecordCount
        With produkt
            UserForm1.ComboBox1.AddItem .Fields(1)
            .MoveNext
        End With
    Next r
    lukProdukt
End Sub

Skrevet ons. d. 10. oktober 2012 kl. 23:06:00| #7

supertekst
supertekst (139.439 point)
supertekst-it.dk
Hej CPP

Prøv at trykke på Debug, når fejl meddeles. Så åbnes der til VBA-koden i den linje, hvor fejl opstår - er markeret.

Hvis du så aflæser linjens nr øverst til højre - eller beskriver hvad er står i linjen - så kan vi måske komme videre..

Skrevet tor. d. 11. oktober 2012 kl. 11:20:19| #8

CPP
CPP (1.275 point)
Dete er i linjen "UserForm1.ComboBox1.AddItem .Fields(1)"

Skrevet tor. d. 11. oktober 2012 kl. 11:45:11| #9

supertekst
supertekst (139.439 point)
supertekst-it.dk
Det er uden tvivl et felt, er er tomt - tilpas selv feltNummer i de markerede linjer - heraf to nye:

Public Sub hentprodukt()
    åbnProdukt
    For r = 1 To produkt.RecordCount
        With produkt
            If .Fields(feltNummer) <> "" Then      'ny
                UserForm1.ComboBox1.AddItem .Fields(feltNummer) 'ny
            End If                        'ny
            .MoveNext
        End With
    Next r
    lukProdukt
End Sub

Skrevet tor. d. 11. oktober 2012 kl. 17:47:39| #10

CPP
CPP (1.275 point)
Nu henter den data fra Databasen, men hvordan får jeg ComboBoxen til ikke at starte med at være udrullet?

Er det muligt at få ComboBoxen til at vise to kolonner fra Databasen på følgende måde Produkt/Producent?

Skrevet tor. d. 11. oktober 2012 kl. 17:58:58| #11

CPP
CPP (1.275 point)
Hej supertekst

Hant ud af det første med at ComboBoxen starter med at være udrullet
Det er bare ComboBox1.DropDown som skal slet fra nedenstående kode

Private Sub UserForm_activate()
    hentprodukt
    ComboBox1.DropDown
End Sub

Men ved du hvordan om man kan overføre dflere data til en textbox når man har valgt et Produkt i ComboBoxen.
Jeg vil gerne kune overføre f.eks pris, vægt, størelse, osv. som befinder sig i samme database

Skrevet tor. d. 11. oktober 2012 kl. 22:51:28| #12

supertekst
supertekst (139.439 point)
supertekst-it.dk
Fint så langt - ja - vender tilbage senere/i morgen..

Skrevet fre. d. 12. oktober 2012 kl. 09:03:10| #13

supertekst
supertekst (139.439 point)
supertekst-it.dk
Spørgsmål: Feltet, der vises i ComboBox1 er det et nøglefelt, der således kan anvendes til at hente den ønskede record i tabellen?

Skrevet lør. d. 13. oktober 2012 kl. 13:55:17| #14

CPP
CPP (1.275 point)
Nøglefelt i Access tabelen hedder Id og er auto nr.

Skrevet lør. d. 13. oktober 2012 kl. 14:03:26| #15

CPP
CPP (1.275 point)
Har overføre dine kodet fra en simpel Word skabelon til min rigtige skabelon og nu for jeg run-time error 424 og den gå er stå i følgende linje - Set kontakt = db.OpenRecordset("produkt")

Ved godt at du selvfølge ikke ved hvad jeg har i min skabelon af koder, men har du et bud på hvorfor den nu går i stå, det virket jo fint i den simpel skabelon

Du må undskyldt alle de her dumme spørgsmål, men jeg vil bare gerne kunne forstå det, men det gå bare ikke så godt for mig :o(

Skrevet lør. d. 13. oktober 2012 kl. 14:09:17| #16

supertekst
supertekst (139.439 point)
supertekst-it.dk
Produkt er den tabel fra en bestående database, som jeg har anvendt som eksempel. Du skal indsætte navnet på din "egen tabel".

Skrevet lør. d. 13. oktober 2012 kl. 14:20:10| #17

CPP
CPP (1.275 point)
Det har jeg ændret.

Skrivet det kun så du kunne se hvor den gik i stå - så det ikke blev forvirrende

Skrevet lør. d. 13. oktober 2012 kl. 15:00:31| #18

supertekst
supertekst (139.439 point)
supertekst-it.dk
Jeg kan ikke hjælpe mere - håber andre kommer til...

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Lille VBA makro

Oprettet den 16. maj 2013 kl. 16.15
m_haahr giver 30 point for svar | Giv et svar »

Scroll til top i textbox

Oprettet den 16. maj 2013 kl. 12.34
martin_moth giver 30 point for svar | Giv et svar »

Hjælp til optimering (minimering) af kode (VBA og Excel)

Oprettet den 16. maj 2013 kl. 11.50
HugoScarface giver 60 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her er seks Google Labs-funktioner, som du skal slå til med det samme

Gmail Labs giver dig adgang til en masse smarte funktioner, som Googles ingeniører leger med i øjeblikket.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Tre smarte trick som gør Windows 8 bedre

Boot direkte til skrivebordet, få en strategisk godt placeret luk-knap og slip for at logge ind. Her er tre tips til Windows 8, som gør det nemmere at blive venner med styresystemet.


Nyheder fra Computerworld

Teaser billede

Galleri: Her er Googles nyeste værktøj og legetøj

Google har i denne uge afholdt udviklerkonferencen I/O i San Francisco. Se her hvad søgegiganten kunne præsentere af nyskabelser.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger