Avatar billede rohde Nybegynder
12. maj 1999 - 00:00 Der er 4 kommentarer og
1 løsning

Access Link til Excel


Hej derud jeg er ved at blive idiot over dette problem er der nogen der kan hjælpe.

Indledning:

Jeg har en databasefil "genhdm.mdb" der er blevet oprettet af et overvågningsprogram til kølesystemer. Filen indeholder data over temperaturer på forskellige målepunkter.
Tabellerne indeholder dagværdier,timeværdier og månedsværdier.
Forspørgelsen "GendayValues" indeholder de data jeg ønsker.
Normalt skulle disse data kunne hentes op i Excel med en speciel ODBC driver men denne kan jeg ikke få til at virke.
Jeg har brugt "Hent extern data" i excel og brugt access odbc som bindeled men når jeg spørg efter gendayvalues siger den missing 2 parameters. Jeg tror dette skyldes at den forspørgels der er lavet i access spørg efter startdato og slutdato.
Denne startdato og slutdato skulle den helst få igennem et excel regneark så man den vej igennem kan vælge hvilke dato man ønsker 

Hvis jeg står i access og læser "Gendayvalues" får jeg de værdier jeg ønsker.

Problem:

Kan jeg lave forspørgelsen "Gen day values" i access om så denne kan overføre sin data til excel ved hjælp af  "hent extern data" sådan at jeg kan lave forspørgelser den vej igennem .   


Kopi af design for forspørgelsen "Gen day values" i access:

PARAMETERS StartDate DateTime, EndDate DateTime;
SELECT HourValues.ReportIx, Last(HourValues.DateTime) AS LastOfDateTime, Sum(HourValues.Value) AS SumOfValue, Avg(HourValues.Value) AS AvgOfValue, Min(HourValues.Value) AS MinOfValue, Max(HourValues.Value) AS MaxOfValue, Count(HourValues.Value) AS CountOfValue, Last(HourValues.Value) AS LastOfValue, Reduction.ReductionMethod, Reduction.TransferMethod
FROM Reduction INNER JOIN HourValues ON Reduction.ReportIx = HourValues.ReportIx
WHERE (((HourValues.DateTime)>=[StartDate] And (HourValues.DateTime)<[EndDate]))
GROUP BY HourValues.ReportIx, Reduction.ReductionMethod, Reduction.TransferMethod;

Selve databasen filen genhdm kan rekvireres ved henvendelse til mig.

Thomas Rohde.
Avatar billede Slettet bruger
12. maj 1999 - 13:12 #1
Hej Thomas

Du kan inde fra Access gøre det på to måder

A : Når du åbner forespørgslen kan du trykke menuen FILER efterfulgt at GEM SOM/EKSPORTER. Her kan du vælge filtype : MS Excel 97. Derved får du en Excel-fil svarende til din forespørgsel.

B : Lav en formular i Access med en knap som har følgende kode :

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Gendayvalues", "C:\Gendayvalues.XLS", True
shell "c:\Programmer\Microsoft Office\Office\msexcel.exe c:\Gendayvalues.XLS"

herved eksporteres forespørgslen til Excel og Excel åbnes med den samme
Avatar billede rohde Nybegynder
17. maj 1999 - 19:48 #2
Hej Jordan

Tak for de to oplæg de har svaret på mit spørgsmål som gør at jeg må tænke i andre baner, jeg overfører dine points men har dog lige et extra spørgsmål.
Efter jeg har arbejdet med problemet i weekenden er jeg stødt på nogle andre tanker.
Som udgangspunkt var mit mål at kunne indtaste hvilken dato man ønskede at se inde i excel men det ser ikke ud til at kunne lade sig gøre.
Da de forslag du er kommet med og det jeg selv har prøvet altsammen enden med at jeg ikke kan få lov at indtaste datoen igen, har jeg droppet ide.

For at give et lille billede af hvad jeg roder med er her lidt forhistorie.

Et gammelt overvågningssystem er ved at blive opgraderet med ny server og software.
I det gamle system var der et stykke programkode som kunne lave bcl filer om så disse kunne læses i excel. I excel kunne man så indtaste en dato så den bcl fil med den pågældende dato blev læst ind i et ark i excel som var skjult, i det skjulte ark blev der så udregnet en gennemsnit værdi, denne gennemsnitsværd havde så en link til et andet ark i samme excel folder, disse rapportark kunne man så skrive ud. Dette system var meget langsomt da der er mange dataer.

Den ny version af dette overvågningprogram generer istedet en databasefil med alle oplysninger i en fil.
Disse data skal så regnes lidt på få at få en gennemsnits værdi,  gjore man før i excel i den gamle version, denne lille regne ting sker i min forspørgels gendayvalues men når jeg overfør denne til excel kan jeg ikke komme til at skrive en ny dato.


I fremtiden skal databasen også kunne bruges fra en RAS bruger og fra internette med brugernivauer.

Mit spørgsmål bliver da, om det ikke er bedre at lave en bruger flade i access hvor man kan se disse dataer i en rapport både for at gøre det hurtigere og for at adgang til RAS bruger og internet bliver nemmere.       

Håber det er til at forstå.
Thomas
Avatar billede rohde Nybegynder
20. maj 1999 - 08:19 #3
Hej jordan her er dine points
Avatar billede Slettet bruger
20. maj 1999 - 08:33 #4
Hej Thomas

Access rapporter er oftest at foretrække, så længe resultat der ønskes vist IKKE skal redigeres.

De giver langt større flexibilitet og er faktisk også væsentlig hurtigere end et link mellem MS Excel

Du glemte i øvrigt at acceptere svaret.....

MVH Jordan
Avatar billede rohde Nybegynder
20. maj 1999 - 09:08 #5
Hej Jordan
jeg har prøvet at accepter dit svar men det er ikke altid dette program eksperten lige gør som man ønsker. Men jeg vil prøve igen. Tak for din kommentar.
Jeg er iøjblikket gået igang med at lave en brugerflade i access da jeg har besluttet at bruge access, men da jeg ikke har brugt dette program før er det vist lige noget jeg skal have læst igennem.


MVH Thomas
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