12. april 2005 - 15:14Der er
14 kommentarer og 1 løsning
vedr. eksport til - og åben excel med resultat
Jeg har en tabel der indeholder blandt andet dato og klokkeslet(f.eks. 16.56 og 06-04-2005) samt nogle decimaltal (f.eks. 25,2). Når jeg bruger denne funktion til at eksportere til - og åbne excel med data mister jeg dato og klokkeslet samt decimalen på tallet. Det vil sige at jeg får nogle data der ser helt forkerte ud.
Kan man ændre eksporten så den får sådanne ting med ud ?
Dim xls As New Excel.Application DoCmd.TransferSpreadsheet acExport, 8, "Uddata", "C:\data", True, "" xls.Visible = True xls.Workbooks.Open FileName:="C:\data"
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Jeg bruger denne der beholder decimaler og formatterer Excel som dato. kræver reference til DAO og Excel:
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 DoCmd.OpenQuery "tilføjtemp" Me.Refresh 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" 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]) Rst.MoveNext Next Tek = "=Sum(R[" + Str$(-Rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets("Ark1").Cells(Rst.RecordCount + 2, 2).Value = Tek wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit Set Obvar = Nothing DoCmd.OpenQuery "slettemp" DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If
Nu virker den, men jeg er ikke sikker på jeg helt kan forstå princippet. Det virker som om at den ikke tager kommatal med. Desuden tror jeg ikke jeg forstår selve princippet med temp tabellen. Vil det sige at jeg SKAL have lagt data fra min oprindelige tabel over i denne temp tabel inden jeg kører koden. I det eksempel du mailede til mig, er din temp tabel tom, og det er den også når eksporten er kørt.
Jeg skal vist lige have en generel forklaring. Undskyld, men er rimelig grøn i det her.
Her tager den decimal tal med. Du behøver ikke temp tabellen, så vidt jeg husker er det moget en anden bruger bad om. Giv mig lige lidt tid, så strikker jeg en forklaring sammen.
Til øvrige brugere: Jeg har modtaget en mail fra spørgeren, om at denne ikke kunne få det til at fungere grundet manglende reference. Jeg har svaret hvordan der oprettes en reference til Excel.
Jeg kan godt se at det burde virke fint. Hvis jeg overfører eksemplet til min database kommer kommatal med og dato virker også fint. MEN jeg har et felt med klokkeslet. Feltets type er "dato og klokkeslet" og den bliver ikke konverteret rigtigt. (klokkeslet er i format ??:??:??). Hvorfor går det galt der ?
Jeg har afprøvet det og du har ret - data overføres som f.eks 01-01-1900. går du ind i formatterinf i Excel og formatterer som klokkeslet ændrer den dog formatet til klokkeslet. Hvorfor har jeg ikke noget bud på.
I det første eksempel du kom med, går du ind og formaterer nogle excel felter i forbindelse med overførslen. Kan man ikke lave et eller andet humbug, så man formaterer kolonnen i excel samtidigt med overførslen ?
Det er jo netop det jeg gør i det første eksempel. Jeg har sendt et nyt eksempel, hvor der eksporteres både en dato og et klokkeslet og cellerne i Excel formatteres som sådan.
Tak for indsatsen, men jeg synes den springer decimalerne over denne gang. Jeg prøver altså ikke bevidst på at være bøvlet, men jeg skulle gerne have trukket noget brugbart ud af det hele. Jeg har givet dig point som tak for indsatsen indtil videre.
Det er min fejl. Ret felttypen i tabel "temp" til dobbelt reelt tal, så også ccess viser decimaler.
Jeg opfatter dig bestemt ikke som bøvlet. Hvis det ikke fungerer, skal du arbejde videre med problemet. Her fungerer det fint.
Synes godt om
Ny brugerNybegynder
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.