20. juli 2025 - 15:13Der er
29 kommentarer og 2 løsninger
Excel kalder en Access app
I en Excel app har jeg en dblClick event der kalder en Access app vor der tilgås en form Det fejler. DIM giver fejl !!!!!!! Kan i hjælpe
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strPath As String, stAppName As String <Giver fejl !!!! strPath = CurrentProject.Path stAppName = strPath & "\(Access App Navn)"
With CreateObject("Access.Application") .Application.DoCmd.OpenForm (stAppName) ..Run "setvars", 2, Nz(xxxx, 0) .Visible = True .Application.Run "Macro1" End With end sub
Prøv med separate linjer. Og undlad at kopiere; slet teksten og genskriv linjerne - det fjerner eventuelle skjulte tegn, hvilket VBE kan have en kedelig evne til at gemme på.
Jeg formoder at (Access App Navn) skal erstattes af navnet på din Access applikation. Og så skal du yderligere være sikker på at den så også ligger i det du kalder strPath.
Det er rigtig nok at regnearket ligger der, for det spørger du om, men vi kan ikke vide om din Access applikation også ligger i samme mappe.
stAppName er stien til Access appen Access appen og Excel appen ligger i samme mappe Access appen kalder Excell appen Ved et dobbel klik i arket returneres der til Access appen med en variabel fra rækken
Denne fejl opstår selvom Access Appen er åben (Hvad den er) eller lukket
Jeg er ikke Excel kyndig men var det i Access var DoCmd.OpenForm (stAppName) ok Nu er det Excel og kaldet er retur til Access appen - kan i hjælpe med dette kald
Har du en fejltekst ud ober 2046? Man siger derude at der bør være en tekst i retning af "The command or action '....' isn't available now" hvor prikkerne siger mere præcist hvad der er galt - hvilken kommando den ikke lige kan klare.
On Error Resume Next ' Brug en eventuel allerede åbnet Access instance. Set AccessApp = GetObject(, "Access.Application") ExistingInstance = (Err.Number = 0) On Error GoTo 0
If ExistingInstance Then ' Se om det er den søgte database, der er åben. If LCase(AccessApp.CurrentDb.Name) = LCase(strAppName) Then ' OK. Else ' Åbn en ny instance med den søgte database. Set AccessApp = CreateObject("Access.Application") AccessApp.OpenCurrentDatabase strAppName AccessApp.Visible = True DoClose = True End If Else ' Ingen instance er åben, så opret en. Set AccessApp = CreateObject("Access.Application") AccessApp.OpenCurrentDatabase strAppName AccessApp.Visible = True ' Luk den efter brug. DoClose = True End If
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.