30. juni 2005 - 10:58Der er
7 kommentarer og 1 løsning
Opdatering excel fra access
Hej
Jeg har lavet en lille funktion der åbner et excel ark. Arket henter dataene fra DB'en og åbner fint. I Excell kan man via external datarange properties sætte den til at hente dataene hver gang arket åbnes.
Problemet er at det kun er brugere der har adgang til db'en der skal ku' gøre det.
Spørgsmål: Kan man I Access sætte Excel til at opdatere datahentning, så jeg ikke behøver at ha' funktionen slået til i Excel.
Så når man mailer arket videre vil den indeholde de data der var der, og ikke prøve at opdatere sig selv fr db'en.
Håber det forstås.
Funktion til at åbne Excel:
Option Compare Database Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias _ "ShellExecuteA" (ByVal Hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long
Declare Function GetDesktopWindow Lib "user32" () As Long Sub EXPORT() Dim StartDoc As Long StartDoc = ShellExecute(GetDesktopWindow(), "Open", "c:\ugerapport.XLS", "", "C:\", 1) End Sub
I dont know much at all about Excel but I am guessing that you have a macro which runs when the Excel shee opens.
Access has no way of knowing when or when NOT to update so I think this logic will need to be in your Excel macro.
You could maybe test for user name and if it is you then update, otherwise do not update.
I dont know if it is possible to start Excel with parameters. If it is then it may be possible to start Excel with paramers which starts the macro. Then if you send the XLS file in a mail it will not have these paramaters and will therefore not run the macro.
It is also possible from Access to Open Excel and run a macro, so you could actually start the update from Access when needed.
Der kan i Access oprettes en makro med navnet AutoExec. Denne kan kalde et modul, der overføre data til Excel-arket. Dette kræver dog at der i modulets VBA aktiveres en reference til Excel.
Hvis databasen er beskyttet med adgangskode - så kan regnearket kun opdateres af disse.
The code for updating is already made in Excel, so it would, in my opinion be easier to start a macro in Excel FROM Access, or some other way run the macro in Excel.
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.