Avatar billede a55830 Praktikant
06. januar 2004 - 21:36 Der er 19 kommentarer og
2 løsninger

Hvordan bruger man en skabelon hved export fra access til excel

Nå ja så er jeg på den igen

jeg har en database der skal exportere noget til excel
men jeg vil gerne have at den skriver til et bestemt dok hver gang f.eks birliste.xls

det ser ud som dette : ('')= felter
  a        b          c        d      e    f
'Dato:' ' 050104 ' 'Bruger:' 'Thomas' 'uge:' '02'
'BierNummer      ' ' Beskrivelse    ' 'Brugt tid'

der vil jeg gerne have lagt data ind i a3 c3 e3 og der ud af

men det skal være i det dok hver gang.....

hvordan gør man det kan ikke finde noget i hjælp filen


Thomas
Avatar billede mlhave Nybegynder
06. januar 2004 - 23:05 #1
Lav en forespørgsle med dine data i dette eksempel "qryTest"

Overførslen til Excel klares mest enkelt med følgende kommando på en Komandoknap:

docmd.OutputTo acOutputQuery, "qryTest", acFormatXLS, "birliste.xls", True
Avatar billede mlhave Nybegynder
06. januar 2004 - 23:11 #2
jeg har tidligere med held brugt nedenstående, den har den fordel at du selv kan bestemme præcist hvor dine data fra Access skal skrives i Excel. Nedenstående eksempel skriver dog til en ny fil hver gang.

Private Sub cmdPressevaerdi_Click()

Dim Obvar As Object
Dim wkb As Object
Dim Rst As DAO.Recordset
Dim i As Integer
Dim Felt1 As Integer
Dim Felt2 As Integer
Dim Tek As String

On Error GoTo Errorhandler

DoCmd.SetWarnings False

DoCmd.OpenQuery "qryTilfoj_Data_ViewPressevaerdi"

Me.Refresh

Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("ViewPressevaerdi", dbOpenTable)

Set Obvar = CreateObject("excel.application")

Set wkb = Obvar.Workbooks.Add

wkb.Worksheets("Ark1").Cells(1, 1).Value = "Dato"
wkb.Worksheets("Ark1").Cells(1, 2).Value = "Kunde"
wkb.Worksheets("Ark1").Cells(1, 3).Value = "Konkurrent"

For i = 2 To Rst.RecordCount + 1
    wkb.Worksheets("Ark1").Cells(i, 1).NumberFormat = "dd-mm-yy"
    wkb.Worksheets("Ark1").Cells(i, 1).Value = Rst.Fields![Dato]
    wkb.Worksheets("Ark1").Cells(i, 2).Value = Format(Rst.Fields![Kundenavn])
    wkb.Worksheets("Ark1").Cells(i, 3).Value = Format(Rst.Fields![Konkurrentnavn])
    Rst.MoveNext
Next

'Gør Excel synlig
Obvar.Visible = True

'Objektvariablen frigives
Set Obvar = Nothing

DoCmd.SetWarnings True

Errorhandler:
If Err.Number = 94 Then
Resume Next
End If

End Sub
Avatar billede mugs Novice
07. januar 2004 - 06:04 #3
mlhave (og andre) -> Husk at den sidste kode kræver en reference til DAO og Excel
Avatar billede terry Ekspert
07. januar 2004 - 09:50 #4
it all depends on what version of Access (DAO = 97) we are using mugs :o)
Avatar billede mugs Novice
07. januar 2004 - 10:16 #5
Hi Terry -> It's correct, maybee it was too early in the morning to work on eksperten.dk :o)
Avatar billede a55830 Praktikant
07. januar 2004 - 11:13 #6
haløj

der er noget der ikke virker i de kode
Dim Rst As DAO.Recordset
man må da kunne sætte hvilken fil der skal skrives til

men tak for svarene
Avatar billede a55830 Praktikant
07. januar 2004 - 11:14 #7
skal nok lige sige det er microsoft office xp der bruges
Avatar billede mlhave Nybegynder
07. januar 2004 - 11:33 #8
Som mugs skriver skal Access kunne se Excel, Dvs. at objektbiblioteket skal være afkrydset. Det gør du ved i VBA-kodevinduet at vælge Funktioner, Referencer og sætte kryds ud for Excel.Der ud over skal der være en reference til Microsoft DAO 3,6 Library
Avatar billede a55830 Praktikant
07. januar 2004 - 11:35 #9
????????????
Avatar billede a55830 Praktikant
07. januar 2004 - 11:48 #10
ok har krydset det af

men jeg får ikke noget op i excel eller hvor ligger filen og hvade hedder den
Avatar billede mugs Novice
07. januar 2004 - 11:49 #11
a55830 > Jeg kan sende dig en testdb, der bygger på samme princip som mlhave's forslag.
Avatar billede a55830 Praktikant
07. januar 2004 - 12:16 #12
ok send bare en testdb
Avatar billede a55830 Praktikant
07. januar 2004 - 12:16 #13
cp@blueeye.dk
Avatar billede mugs Novice
07. januar 2004 - 12:18 #14
Sendt.
Avatar billede mugs Novice
07. januar 2004 - 12:21 #15
Og hvad betyder dette:

HI this mail is only an MSN mail send mail to thomas@blueeye.dk
or tkj@connectpartner.dk

Thomas
Avatar billede a55830 Praktikant
07. januar 2004 - 12:40 #16
hehe jeg har en gammel autosvar der ligger og spøger det bestyder ikke noget jeg har fået din testdb jeg skal bare lige ud af min bil først
Avatar billede a55830 Praktikant
07. januar 2004 - 13:33 #17
hehehe ja jeg må være dum

jeg har sat mine var ind men der kommer ikke noget ud
ikke ande end at mappe1.xls er optaget af mit brugernavn
Avatar billede mugs Novice
07. januar 2004 - 13:36 #18
Stien i min db ser således ud:

D:\VBA\XP\Mappe1.xls

Har du i forvejen åøbnet en fil "Mappe1.xls" eller blot minimeret den?
Prøv evt. at udskifte filnavnet i stien.
Avatar billede a55830 Praktikant
07. januar 2004 - 13:39 #19
har prøvet

stien er ændret / fil navn er ændret

der er bare ikke noget resultat af at jeg trykker på knappen

din db virker men min gør ikke
Avatar billede mugs Novice
07. januar 2004 - 13:42 #20
Kan du sende din db, gerne kun relevante tabeller / formularer til:

mugs@mail.dk
Avatar billede a55830 Praktikant
07. januar 2004 - 13:48 #21
er på vej
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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