Skrevet tir. d. 25. september 2012 kl. 18:22:43| #1
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
Hej Supertekst
Jeg bruger Office 2010
Skrevet tir. d. 25. september 2012 kl. 21:04:53| #3
Prøver at finde et eksempel - vender tilbage..
Skrevet ons. d. 26. september 2012 kl. 10:19:01| #4
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
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
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
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
Dete er i linjen "UserForm1.ComboBox1.AddItem .Fields(1)"
Skrevet tor. d. 11. oktober 2012 kl. 11:45:11| #9
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
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
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
Fint så langt - ja - vender tilbage senere/i morgen..
Skrevet fre. d. 12. oktober 2012 kl. 09:03:10| #13
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
Nøglefelt i Access tabelen hedder Id og er auto nr.
Skrevet lør. d. 13. oktober 2012 kl. 14:03:26| #15
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
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
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
Jeg kan ikke hjælpe mere - håber andre kommer til...