Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何检查附件字段是否为空或不在Access中?_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 如何检查附件字段是否为空或不在Access中?

Ms access 如何检查附件字段是否为空或不在Access中?,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我在MS Access 2010中遇到一些问题。我试图修改我下载的一个数据库,一个来自微软网站的模板,我正在做一些修改来跟踪食物营养。我有一些16位Atari时代的基本经验。我对VBA并不完全陌生,只知道有足够的知识去惹麻烦。我有一个表单,它使用select查询填充表单的下半部分。我在foods表中添加了一个附件字段,该表有8500条以上的记录,这是用于查询的表。我的问题是在模块中添加VBA代码,以查看是否存在照片。我想能够显示一个没有照片的灰色图标,如果有照片文件,则显示一个常规图标。但那是我

我在MS Access 2010中遇到一些问题。我试图修改我下载的一个数据库,一个来自微软网站的模板,我正在做一些修改来跟踪食物营养。我有一些16位Atari时代的基本经验。我对VBA并不完全陌生,只知道有足够的知识去惹麻烦。我有一个表单,它使用select查询填充表单的下半部分。我在foods表中添加了一个附件字段,该表有8500条以上的记录,这是用于查询的表。我的问题是在模块中添加VBA代码,以查看是否存在照片。我想能够显示一个没有照片的灰色图标,如果有照片文件,则显示一个常规图标。但那是我开始工作的时候用的。我调用字段属性中的函数:

Photo1: chkAttachment([Photo])
从这个开始,我看到一个错误:多值字段“[Photo]”在表达式“chkAttachment[Photo]”中无效。当我将其更改为:

Photo1: ChkAttachment([Photo].[FileName])
我为空字段获取和错误,并为其中包含文件的字段创建了一张照片

下面的代码是我正在引用的函数,以显示我正在尝试执行的操作

Public Function chkAttachment(fldPhoto As String) As String

On Error GoTo chkAttachment_Err

chkAttachment = ""

'Debug.Print fldPhoto
If fldPhoto = Null Then
    chkAttachment = "No Photo"
Else
    chkAttachment = "Has Photo"
End If

chkAttachment_Exit:
     Exit Function

chkAttachment_Err:
    MsgBox " It don't like Error number: " & Err.Number & " " & Error$
    Resume chkAttachment_Exit

End Function
如果附件为空,查询甚至不会调用代码。我在谷歌上搜索了以下问题,并在这个网站上搜索了“MicrosoftAccess2010VBA如何查询附件字段”,但没有任何运气。我曾尝试使用一些代码来计算附件中的文件数,从2011年8月开始,我在“如何在Microsoft Access中从附件字段查询附件数?”的线程中找到了这些代码,但无法找到如何使其工作。说到SQL,我对这部分一无所知

谢谢你对我的帮助

Steven

如果表单上有一个名为[attachPhoto]的附件控件,并且该控件绑定到[Photo]字段,即附件控件的控件源是Photo,那么您只需检查

Me.attachPhoto.AttachmentCount
查看记录是否有任何附件

请注意,如果您不希望用户实际看到[attachPhoto]控件,您可以将其Visible属性设置为No.

如果表单上有一个名为[attachPhoto]的附件控件,并且该控件绑定到[Photo]字段,即附件控件的控件源是Photo,则您可以只检查

Me.attachPhoto.AttachmentCount
查看记录是否有任何附件


请注意,如果您不希望用户实际看到[attachPhoto]控件,您可以将其Visible属性设置为No.

我相信这会导致字段中出现错误

If fldPhoto = Null Then
正确检查空值的方法如下:

If IsNull(fldPhoto) Then
If (fldPhoto = "") Then
但是,在调用函数时,您可能仍然会得到一个Null异常。因此,您可能希望将整个代码编辑为以下内容:

If IsNull(fldPhoto) Then
If (fldPhoto = "") Then
调用函数时:

Photo1: ChkAttachment(Nz([Photo].[FileName]))

希望我有所帮助

我相信这是造成您所在领域错误的原因

If fldPhoto = Null Then
正确检查空值的方法如下:

If IsNull(fldPhoto) Then
If (fldPhoto = "") Then
但是,在调用函数时,您可能仍然会得到一个Null异常。因此,您可能希望将整个代码编辑为以下内容:

If IsNull(fldPhoto) Then
If (fldPhoto = "") Then
调用函数时:

Photo1: ChkAttachment(Nz([Photo].[FileName]))

希望我的帮助

您可以在SQL语句中检查它,而不是tblxx.Pic.FileData可能在where子句中为Null。我使用记录集这样做。

您可以在SQL语句中检查它,而不是tblxx.Pic.FileData在where子句中可能为Null。我使用记录集这样做。

我想在对表单运行查询之前检查是否制作了附件。我在表单中创建了一个文本框,并在文本框的源代码控制下,转到expression builder并输入=[包含附件的列的名称].[AttachmentCount]。
如果未制作附件,则文本框中的计数为0,1表示1。我可以使用文本框来运行我的查询。以上所有内容都在Access 07中。

在对表单进行查询之前,我想检查是否制作了附件。我在表单中创建了一个文本框,并在文本框的源代码控制下,转到expression builder并输入=[包含附件的列的名称].[AttachmentCount]。
如果未制作附件,则文本框中的计数为0,1表示1。我可以使用文本框来运行我的查询。Access 07中的所有上述内容。

如果查询不引用或调用函数,我在函数中所做的任何事情都不会有任何好处,这是我的主要问题。如果附件字段显示0,它只会显示每条记录的错误。但是当照片存储或显示1时,它引用该函数。我有这个字段,所以我可以为每个食物添加一张照片,记录营养价值。StevenBTW,谢谢你这么快的回复。“我的表”中的字段已绑定到查询。两者都被命名为Photo。我想看看每条记录是否都有一张照片,这样我就不必打开表中的每条记录进行检查。Wh
如果查询不引用函数或不调用函数,我的函数就不会有任何用处,这是我的主要问题。如果附件字段显示0,它只会显示每条记录的错误。但是当照片存储或显示1时,它引用该函数。我有这个字段,所以我可以为每个食物添加一张照片,记录营养价值。StevenBTW,谢谢你这么快的回复。“我的表”中的字段已绑定到查询。两者都被命名为Photo。我想查看每条记录是否都有照片,这样我就不必打开表中的每条记录进行检查。谢谢,我会尝试一下。谢谢,我会尝试一下。我没有看到图像控件的AttachmentCount属性绑定到附件字段。@June7-我说的是一个,不是一个图像控件。好的,学到了一些新东西。我通常不使用附件类型字段,所以不记得曾经浏览过该图标。谢谢。我没有看到图像控件的AttachmentCount属性绑定到附件字段。@June7-我说的是一个,不是一个图像控件。好的,学到了一些新东西。我通常不使用附件类型字段,所以不记得曾经浏览过该图标。非常感谢。