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

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Ursprungligt KB-nummer:   931407

Anteckning

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 databas i Microsoft Office Access 2007 eller senare visas följande felmeddelande:

Åtgärden misslyckades
Makronamn: Makronamn
Villkor: Villkor
Makronamn: KörKod
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 Access-öppna databaser som inte är betrodda i inaktiverat läge. I inaktiverat läge inaktiveras körbart innehåll.

Lösning

Om du litar på författaren av databasen 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 aktiveras databasen i Access 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 Microsoft Office Säkerhetsalternativ klickar du på Aktivera det här innehållet och sedan på OK.

Anteckning

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å Säkerhetscenter Inställningar under Microsoft Office Säkerhetscenter.

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

      • Notera sökvägarna till de betrodda platserna 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 har angett.

Mer information

Du kan använda ett AutoExec makro för att testa om en databas är betrodd när du öppnar databasen. Makrot kan dessutom öppna ett formulär som visar ett anpassat meddelande för användarna 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.

Så här AutoExec skapar du makrot 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 formuläret.

  4. Skapa ett makro och namnge sedan makrot AutoExec .

  5. Visa kolumnen Villkor.

  6. Skriv följande rad i kolumnen Villkor:

    CurrentProject.IsTrusted = False

  7. I kolumnen Actions klickar du på ÖppnaFormulär.

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

  9. Spara och stäng makrot.

När databasen öppnas startas AutoExec makrot och villkoret testas. IsTrusted Om databasen inte är betrodd av Access öppnas det formulär som du har angett i OpenForm makrots åtgärd.