Felet "åtgärden misslyckades fel nummer: 2950" när ett makro som anropar en VBA-funktion i en Access-databas körs

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 en mindre företags kund kan du hitta ytterligare fel söknings-och utbildnings resurser på supporten för Small Business -webbplatsen.

Symptom

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

Åtgärden misslyckades
Makro namn: MacroName
Villkor: villkor
Makro namn: KörBasic-' a
Argument: argument
Fel nummer: 2950

Orsak

Det här problemet uppstår om databasen inte är betrodd av Access. Som standard öppnas de senaste versionerna av Access-databaser som inte är betrodda i inaktiverat läge. I inaktiverat läge är det körbara innehållet inaktiverat.

Lösning

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

Metod 1: aktivera databasen för den aktuella sessionen

När du använder den här metoden aktive ras databasen tills du stänger databasen. Följ de här stegen om du vill aktivera databasen för den aktuella sessionen:

  1. Klicka på alternativi meddelande fältet.
  2. I dialog rutan säkerhets alternativ för Microsoft Office klickar du på Aktivera innehålloch sedan på OK.

Anteckning

Beroende på vilken Access-version du använder 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. Ange betrodda platser som du kan flytta databasen till. Gör så här:

    1. Klicka på Arkivoch sedan på alternativ.

    2. Klicka på säkerhets Centeroch sedan på Inställningar för säkerhets Center under Microsoft Office Access säkerhets Center.

    3. Klicka på Betrodda platseroch gör sedan något av följande:

      • Anteckna Sök vägarna för de tillförlitliga platser som visas.
      • Lägg till en ny betrodd plats. Det gör du genom att klicka på Lägg till ny platsoch sedan ange sökvägen till den plats som du vill lägga till.
  2. Flytta Access-databasen till den betrodda platsen 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. Dessutom kan makrot öppna ett formulär som visar ett anpassat meddelande för användarna om databasen inte är betrodd. I det här meddelandet kan användarna veta att databasen måste vara aktive rad eller betrodd för att koden ska fungera.

AutoExecFölj de här stegen om du vill skapa makrot och formuläret:

  1. Skapa ett nytt formulär i designvyn.

  2. Lägg till en text ruta eller etikett i formuläret och ange den information som du vill ska visas för användaren.

  3. Spara och Stäng formuläret.

  4. Skapa ett makro och namnge makrot AutoExec .

  5. Visa kolumnen villkor .

  6. Skriv följande rad i kolumnen villkor :

    CurrentProject.IsTrusted = False

  7. Klicka på OpenFormi kolumnen Actions .

  8. I rutan formulär namn under Åtgärds argumentklickar du på det formulär som du skapade i steg 1.

  9. Spara och stäng sedan makrot.

När databasen öppnas AutoExec startas makrot och testas sedan IsTrusted . Om databasen inte är betrodd av Access, öppnar makrot formuläret som du har angett i OpenForm makrots funktion.