office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

Access 365 /Access 2019 数据库中哪些函数功能和属性被沙箱模式阻止(如未启动宏时)

2021-10-06 17:33:00
zstmtony
翻译
118

本文提供有关沙盒模式在 Access 中允许和阻止的功能和属性的参考信息。请注意,Access 允许在沙箱模式下运行多个较新的函数,包括MonthNameStrReverse,现在它会阻止更多函数,包括AssistanceExportNavigationPaneLoadCustomUI在继续操作时,请记住您必须信任(启用其中的内容)数据库或将数据库放置在受信任的位置,以便本文中的信息可用。


设置沙箱模式以运行不安全的表达式

将表达式添加到数据库时,Access 会在称为沙箱模式的操作环境中运行该表达式。Access 默认启用沙箱模式,反过来,沙箱模式始终禁用不安全的表达式,即使在您信任数据库之后也是如此。

如果您信任某个数据库并且想要运行沙盒模式禁用的表达式,则可以通过更改禁用沙盒模式的注册表项来运行该表达式。请记住,您必须首先信任数据库才能执行本节中的步骤。

此图显示了您在决定是否运行不安全表达式时遵循的过程。

启用或禁用沙盒模式的决策过程

小心 错误地编辑注册表可能会严重损坏您的操作系统,需要您重新安装它。Microsoft 不能保证可以解决因错误编辑注册表而导致的问题。在编辑注册表之前,请备份所有有价值的数据。有关使用和保护计算机注册表的最新信息,请参阅 Microsoft Windows 帮助。

如果您不熟悉注册表或不习惯自己更改注册表项,请联系正在或考虑将数据库从早期版本的 Access 转换为 Access 文件格式的人。此外,您必须在计算机上拥有管理员权限才能更改注册表值。

更改注册表项

重要提示: 执行这些步骤后,计算机上的所有用户都可以在所有 Access 实例中运行不安全的表达式。

执行以下操作之一:

  • 在 Microsoft Windows 7 或 Microsoft Windows 10 中

    1. 在任务栏上,单击开始,然后单击运行

    2. 在“打开”框中,键入regedit,然后按 Enter。

      注册表编辑器启动。

    3. 展开 HKEY_LOCAL_MACHINE 文件夹并导航到以下注册表项:

      \Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines

      注意: 注意,14.0 表示 Access 2010,15.0 表示 Access 2013,16.0 表示 Access 2016 及更新版本。

    4. 在注册表编辑器的右窗格中,在Name,双击SandboxMode

      出现编辑 DWORD 值”对话框。

    5. Value Data字段中,将值从3更改2,然后单击OK

    6. 关闭注册表编辑器。

  • 在 Windows Vista 中

    1. 单击开始按钮,指向所有程序,单击附件,然后单击运行

    2. 在“打开”框中,键入regedit,然后按 Enter。

      注册表编辑器启动。

    3. 展开 HKEY_LOCAL_MACHINE 文件夹并导航到以下注册表项:

      \Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines

      注意: 注意,4.0 表示 Access 2010,15.0 表示 Access 2013,16.0 表示 Access 2016 及更新版本。

    4. 在注册表编辑器的右窗格中,在Name,双击SandboxMode

      出现编辑 DWORD 值”对话框。

    5. Value Data字段中,将值从3更改2,然后单击OK

    6. 关闭注册表编辑器。

重要 请记住,如果您不首先信任数据库,则无论您是否更改此注册表设置,Access 都会禁用任何不安全的表达式。

您可以将注册表值设置为以下值,0(零)表示最宽松,3 表示最不宽松。

环境

描述

0

沙盒模式始终处于禁用状态。

1

沙盒模式用于 Access,但不适用于非 Access 程序。

2

沙盒模式用于非 Access 程序,但不适用于 Access。

3

沙盒模式一直在使用。这是安装 Access 时设置的默认值。




你能在Access数据库沙盒模式sandbox mode使用的功能

The following table lists the functions that you can use in Access database engine queries when sandbox mode is enabled. Any functions that do not appear in the list are not available in sandbox mode.

Abs

Array

Asc

Ascb

Ascw

Atn

CBool

CByte

CCur

CDate

CDbl

Choose

Chr

Chr$

Chrb

Chrb$

Chrw

Chrw$

Cint

Clng

Cos

Csng

Cstr

Cvar

CVDate

CVErr

Date

Date$

DateAdd

DateDiff

DatePart

DateSerial

DateValue

Day

DDB

Error

Error$

Exp

Fix

Format

Format$

FormatCurrency

FormatDateTime

FormatNumber

FormatPercent

FV

Hex

Hex$

Hour

IIf

IMEStatus

InStr

InStrb

Int

IPmt

IRR

IsDate

IsEmpty

IsError

IsNull

IsNumeric

IsObject

LCase

LCase$

Left

Left$

Leftb

Leftb$

Len

Lenb

Log

LTrim

LTrim$

Mid

Mid$

Midb

Midb$

Minute

MIRR

Month

MonthName

Now

NPer

Npm

Oct

Oct$

Partition

Pmt

PPmt

PV

QBColor Function

Rate

Replace

RGB

Right

Right$

RightB

Rightb$

Rnd

Round

RTrim

RTrim$

Second

Sgn

Sgr

Sin

SLN

Space

Space$

Str

Str$

StrComp

StrConv

String

String$

StrReverse

Switch

SYD

Tan

Time

Time$

Timer

TimeSerial

TimeValue

Trim

Trim$

TypeName

UCase

UCase$

Val

VarType

Weekday

Year


你在沙盒模式Access数据库sandbox mode可能出错的函数

The following Visual Basic for Applications (VBA) functions will cause an error when the functions are called from an expression in an Access database engine query (tmtony), or when called from an Access property.

AppActivate

Beep

Calendar

CallByName

ChDir

ChDrive

Command

Command$

CreateObject

CurDir

CurDir$

DeleteSetting

DoEvents

Environ

Environ$

EOF

Err

FileAttr

FileCopy

FileDateTime

FileLen

FreeFile

GetAllSettings

GetAttr

GetObject

GetSetting

Input

Input$

InputB

InputB$

Kill

Load

Loc

LOF

Randomize

Reset

SaveSetting

Seek

SendKeys

SetAttr

Shell

Spc

Tab

Unload

UserForms

Width


你在Access SandBox Mode沙盒模式可能被屏蔽(block)的函数

Sandbox mode blocks the following Access functions when the functions are called from an expression in a query or from an Access property.

AddAutoCorrect

AddToFavorites

ADOConnectString

AnswerWizard

Application

Assistant

Assistance

AutoCorrect

AutomationSecurity

BeginUndoable

CloseCurrentDatabase

CodeContextObject

CodeDb

COMAddIns

CommandBars

CompactRepair

ConvertAccessProject

CreateAccessProject

CreateAdditionalData

CreateControl

CreateControlEx

CreateDataAccessPage

CreateForm

CreateGroupLevel

CreateNewWorkgroupFile

CreateReport

DataAccessPages

DBEngine

DDEExecute

DDEInitiate

DDEPoke

DDERequest

DDESend

DDETerminate DDETerminateAll

DefaultWebOptions

DefaultWorkspaceClone

DelAutoCorrect

DeleteControl

DeleteReportControl

DoCmd

Echo

ExportCustomFixedFormat*

ExportNavigationPane

ExportXML

FeatureInstall

FileDialog

FileSearch

FollowHyperlink

GetHiddenAttribute

ImportNavigationPane

ImportXML

InsertText

LanguageSettings

LoadCustomUI*

LoadFromText

LoadPicture

Modules

NewAccessProject

NewCurrentDatabase

NewFileTaskPane

OpenAccessProject

OpenCurrentDatabase

Parent

ProductCode

Quit

References

RefreshDatabaseWindow

RefreshTitleBar

ReloadAddIns

ReplaceModule

Run

RunCommand

SaveAsText

SetDefaultWorkGroupFile

SetHiddenAttribute

SetOption

SetUndoRecording

SysCmd

TransformXML

VBE


Access在沙盒模式sandbox mode被屏蔽的属性

In addition to the functions listed in the previous section(tmtony), sandbox mode also blocks a number of object properties. The following table lists the objects and the blocked property or properties for each object.

Object

Blocked Property or Properties

BoundObjectFrame

Object

Combobox

Recordset

Control

Object

CurrentProject

AccessConnection, BaseConnectionString, CloseConnection, Connection, OpenConnection

CustomControl

Object

Form

Dynaset

Hyperlink

Add to favorites

Listbox

Recordset

ObjectFrame

Object

Report

Recordset

SmartTagAction

Execute

Screen

ActiveDataAccessPage


分享