Avatar billede lassepilz Nybegynder
07. marts 2008 - 13:18 Der er 10 kommentarer

ændre formater i excel ved export fra access

prøver lige at stille spørgsmålet igen - det er "#%"#¤%&& irriterende at jeg ikke kan finde ud af det:

Jeg har en tabel med fx 100 mail-modtagere. Mit record set hentes i en temporer tabel, som hele tiden opdateres via en move first/move next until EOF - dvs jeg kører alle 100 igennem een af gangen.

Jeg danner en krydstabuleringsfspg som jeg sender til modtageren i excel:
DoCmd.SendObject acQuery, "krydstabulering", "MicrosoftExcel(*.xls)", modtagermail, nr1mail, nr2mail, emne, mailtekst, False

Modtageren har kun en excel viewer og kan derfor ikke vende udskriften fra portrait til landscape.
Kan jeg selv styre dette fra access koden?
Avatar billede mugs Novice
07. marts 2008 - 13:24 #1
Du kan faktisk fuldstændig styre Excel fra Access således, Husk en reference til Esxel:

Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer
Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Tek As String
On Error GoTo Errorhandler
DoCmd.SetWarnings False
Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("temp", dbOpenTable)
Set Obvar = CreateObject("excel.application")
Obvar.Visible = True
Set wkb = Obvar.Workbooks.Add
wkb.Worksheets("Ark1").Cells(1, 1).Value = "Felt 2"
wkb.Worksheets("Ark1").Cells(1, 2).Value = "Felt 1"
wkb.Worksheets("Ark1").Cells(1, 3).Value = "Dato"
wkb.Worksheets("Ark1").Cells(1, 4).Value = "Kl"
'Hvis der ekporteres tekst erstattes "Str$" med "Format"
For i = 2 To Rst.RecordCount + 1
wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![Felt2])
wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![Felt1])
wkb.Worksheets("Ark1").Cells(i, 3).Value = Str$(Rst.Fields![dato])
wkb.Worksheets("Ark1").Cells(i, 4).Value = Str$(Rst.Fields![kl])
Rst.MoveNext
Next
wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit
Set Obvar = Nothing
DoCmd.SetWarnings True
Errorhandler:
If Err.Number = 94 Then
Resume Next
End If
End Sub
Avatar billede Slettet bruger
07. marts 2008 - 13:35 #2
Har du prøvet at lave det i en rapport og så indstille sideopsætningen og se om du kan få sendt den afsted i et format, som kan bruges...
Avatar billede Slettet bruger
07. marts 2008 - 13:38 #3
Som mugs siger, så kan du styre excel fra access, men at få en opsætning sendt afsted med mail, så det slår igennem i excel viewer, det har jeg svært ved at tro!~)
Avatar billede Slettet bruger
07. marts 2008 - 13:41 #4
Prøv at sende din query afsted, som en .txt fil, se om modtageren kan arbejde med det!~)
Avatar billede mugs Novice
07. marts 2008 - 13:43 #5
spg > Man kan naturligvis udgive en rapport med Excel, og så eksportere denne.


M.h.t. denne:
"men at få en opsætning sendt afsted med mail, så det slår igennem i excel viewer, det har jeg svært ved at tro!~)"

Der er IKKE tale om en sideopsætning som sådan, men om at bestemme hvilke celler i Excel, der skal modtage de forskellige data. Det betyder jo, at brugeren kan bestemme om formatet skal være landacape eller portrait.
Avatar billede lassepilz Nybegynder
07. marts 2008 - 14:17 #6
skal lige have lidt tid til at tygge det her igennem. Jeg mener ikke jeg kan bruge en rapport, fordi data dannes i en krydstabuleringsforespørgsel med variabelt antal kolonner, og JEG kan ikke definere en rapport på det grundlag.
Avatar billede lassepilz Nybegynder
07. marts 2008 - 14:17 #7
undskyld - det skulle ikke være en afvisning , blot en kommentar. Jeg vender tilbage.
Avatar billede mugs Novice
07. marts 2008 - 14:22 #8
Jeg kan sende dig et eksempel på min kode. Blot læg din e-mail.
Avatar billede lassepilz Nybegynder
07. marts 2008 - 14:45 #9
lassepilz@sol.dk
Avatar billede mugs Novice
07. marts 2008 - 15:11 #10
Sendt.
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