Felet "Åtgärd misslyckades med felnummer: 2950" när ett makro som anropar en VBA-funktion i en Access-databas körs

Ursprungligt KB-nummer: 931407

Obs!

Om du är Small Business-kund kan du hitta ytterligare felsöknings- och utbildningsresurser på webbplatsen Support för småföretag.

Symptom

När du kör ett makro som anropar en Microsoft Visual Basic for Applications-funktion (VBA) i en Microsoft Office Access 2007- eller senare databas visas följande felmeddelande:

Åtgärden misslyckades
Makronamn: MacroName
Villkor: Villkor
Makronamn: RunCode
Argument: Argument
Felnummer: 2950

Orsak

Det här problemet uppstår om databasen inte är betrodd av Access. Som standard är de senaste versionerna av Öppna access-databaser som inte är betrodda i inaktiverat läge. I inaktiverat läge inaktiveras körbart innehåll.

Åtgärd

Om du litar på databasens författare och vill aktivera databasen använder du någon av följande metoder.

Metod 1: Aktivera databasen för den aktuella sessionen

När du använder den här metoden aktiverar Access databasen tills du stänger databasen. Så här aktiverar du databasen för den aktuella sessionen:

  1. Klicka på Alternativ i meddelandefältet.
  2. I dialogrutan Säkerhetsalternativ för Microsoft Office klickar du på Aktivera det här innehållet och klickar sedan på OK.

Obs!

Beroende på din Access-version kan du behöva upprepa de här stegen varje gång du öppnar databasen.

Metod 2: Flytta databasen till en betrodd plats

Gör så här:

  1. Fastställ betrodda platser som du kan flytta databasen till. Gör så här:

    1. Klicka på Arkiv och sedan på Alternativ.

    2. Klicka på Säkerhetscenter och sedan på Inställningar för Säkerhetscenter under Microsoft Office Access Säkerhetscenter.

    3. Klicka på Betrodda platser och använd sedan någon av följande procedurer:

      • Observera sökvägarna för de betrodda platser som visas.
      • Lägg till en ny betrodd plats. Det gör du genom att klicka på Lägg till ny plats och sedan ange sökvägen till den plats som du vill lägga till.
  2. Flytta Access-databasen till den betrodda plats som du angav.

Mer information

Du kan använda ett AutoExec makro för att testa om en databas är betrodd när du öppnar databasen. Dessutom kan makrot öppna ett formulär som visar ett anpassat meddelande för användare om databasen inte är betrodd. Det här meddelandet meddelar användarna att databasen måste vara aktiverad eller betrodd för att koden ska kunna köras.

Följ dessa steg för att skapa makrot AutoExec och formuläret:

  1. Skapa ett nytt formulär i designvyn.

  2. Lägg till en textruta eller en etikett i formuläret och skriv sedan den information som du vill visa för användaren.

  3. Spara och stäng sedan formuläret.

  4. Skapa ett makro och ge sedan makrot AutoExecnamnet .

  5. Visa kolumnen Villkor .

  6. Skriv följande rad i kolumnen Villkor :

    CurrentProject.IsTrusted = False

  7. I kolumnen Åtgärder klickar du på OpenForm.

  8. I rutan Formulärnamn under Åtgärdsargument klickar du på formuläret som du skapade i steg 1.

  9. Spara och stäng sedan makrot.

När databasen öppnas startar makrot AutoExec och testar sedan villkoret IsTrusted . Om databasen inte är betrodd av Access öppnar makrot det formulär som du angav i OpenForm makrots åtgärd.