如何将 rst.FindFirst 与 rst.NoMatch 一起使用?

2024-02-08

我的代码除了这一行之外都有效

.FindFirst "[DONOR_CONTACT_ID] = strTemp2"

我希望我的代码检查是否存在一条记录,其中存在特定的 DONOR_CONTACT_ID,因为存在多个具有相同 DONOR_CONTACT_ID 的记录。如果该记录不存在,那么我想将该 DONOR_CONTACT_ID 和 RECIPIENT_CONTACT_ID 添加到 RECIPIENT_1。如果该记录确实存在,我想将 RECIPIENT_CONTACT_ID 添加到该特定 DONOR_CONTACT_ID 的 RECIPIENT_2。为此,我使用 .FindFirst 来查看是否有记录,然后使用 .NoMatch。如果没有匹配,我想添加一条新记录,但如果有,我想检查它是否必须进入 RECIPIENT_2。

我收到的错误是“无法将‘strTemp2’识别为有效的字段名称或表达式”。我想看看该记录是否等于 strTemp2,但我认为我的语法错误。谢谢你的帮助!!

这是我的代码:

Option Compare Database
Option Explicit

Function UsingTemps()

Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim rstOutput As DAO.Recordset
'Defines DAO objects
Dim strTemp1 As String
Dim strTemp2 As String
Dim strVal As String
Dim strRecip As String

DoCmd.SetWarnings False
DoCmd.OpenQuery ("Q_RECIPIENT_SORT")
DoCmd.OpenQuery ("Q_DELETE_T_OUTPUT")
DoCmd.SetWarnings True
Set dbs = CurrentDb

Set rst = dbs.OpenRecordset("T_RECIPIENT_SORT", dbOpenDynaset)
'rst refers to the table T_RECIPIENT_SORT
Set rstOutput = dbs.OpenRecordset("T_OUTPUT", dbOpenDynaset)
'rstOutput refers to the table T_OUTPUT

rst.MoveFirst
'first record
strTemp1 = rst!DONOR_CONTACT_ID
'sets strTemp1 to the first record of the DONOR_CONTACT_ID
rst.MoveNext
'moves to the next record


    Do While Not rst.EOF
    'Loop while it's not the end of the file
        strTemp2 = rst!DONOR_CONTACT_ID
        'strTemp2 = DONOR_CONTACT_ID from T_RECIPIENT_SORT

    If strTemp1 = strTemp2 Then
    'Runs if temps have same DONOR_CONTACT ID
        strRecip = rst!RECIPIENT_CONTACT_ID
    'Sets strRecip = RECIPIENT_CONTACT_ID FROM T_RECIPIENT_SORT

        With rstOutput
        'Uses T_OUTPUT table
            If .RecordCount > 0 Then
            'If table has records then you can check
                .FindFirst "[DONOR_CONTACT_ID] = strTemp2"
                If .NoMatch Then
                    .AddNew
                    !DONOR_CONTACT_ID = strTemp1
                    !RECIPIENT_1 = strRecip
                    .Update
                Else

                    If !DONOR_CONTACT_ID = strTemp2 Then
                        If IsNull(!RECIPIENT_2) And Not (IsNull(!RECIPIENT_1)) Then
                            .Edit
                            !RECIPIENT_2 = strRecip
                            .Update
                        End If
                        .AddNew
                        !DONOR_CONTACT_ID = strTemp2
                        !RECIPIENT_1 = strRecip
                        .Update
                    End If
                End If

            Else
                .AddNew
                !DONOR_CONTACT_ID = strTemp2
                !RECIPIENT_1 = strRecip
                .Update
            End If

        End With

    End If

    strTemp1 = strTemp2
    rst.MoveNext

Loop

Set dbs = Nothing

End Function

构建value变量的值,而不是变量的值name,进入你给出的字符串FindFirst去寻找。

假设DONOR_CONTACT_ID是文本数据类型,还包括变量值周围的引号...

.FindFirst "[DONOR_CONTACT_ID] = '" & strTemp2 & "'"

但如果它是数字,则不需要这些引号......

.FindFirst "[DONOR_CONTACT_ID] = " & strTemp2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 rst.FindFirst 与 rst.NoMatch 一起使用? 的相关文章

  • 用于将 MS Word 表导出到 Excel 工作表的宏

    我有一个包含许多表格的word文档 有谁知道如何编写宏将此类表导出到不同的 Excel 工作表 答案摘自 http www mrexcel com forum showthread php t 36875 http www mrexcel
  • 如果字符串包含列表中的单词,则返回与列表值相邻的值

    目前我有一组单元格 每个单元格在无用的信息中都有一个唯一的标识符 我还有这些唯一标识符的列表 以及每个标识符对应的值 我想做的是找到一个单元格包含哪个标识符 如果有的话 然后输出相应的值 下面是一个例子 https i stack imgu
  • 参数太少错误,同时未使用参数占位符

    我尝试使用 PYODBC 在 Access 数据库中执行 SQL 查询 但出现以下错误 pyodbc Error 07002 07002 Microsoft ODBC Microsoft Access 驱动程序 参数太少 预期为 1 301
  • 报告文字颠倒?

    由于特定原因 我需要能够在报告的下半部分颠倒 倒置 显示一些值 这份报告的目的是打印并从中间折叠起来 所以我希望它遵循这种特定的格式 我找不到任何可以轻松做到这一点的东西 我考虑过但不知道如何实施的一些想法 导入 颠倒字体并将控件的字体设置
  • 复制列中的所有单元格[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一张表 有 200 行 行间有一
  • FileDialog 保留以前的过滤器

    我正在 Access 数据库中制作表单 我需要打开文件对话框窗口几次 我只是不明白为什么在我更改选项值几次并打开文件对话框窗口后它没有更改过滤器 Public Sub Command17 Click Dim fd As FileDialog
  • schema.ini 文件不适用于 MS Access

    我有一堆 csv 文件 我通过 VBA 将它们导入到 Access 中的表中 我在与导入的 csv 文件相同的目录中还有一个 schema ini 文件 尽管在 ini 文件中字段被指定为双精度类型 但它们在 Access 中会转换为文本类
  • 数据转换器 SSIS 数据流组件中相应列的转换数据类型应该是什么?

    我们的一台服务器上有普通的 Microsoft SQL Server 2008 我们决定在文件系统上创建 DTSX 文件 以便我们可以使用 BIDS 2008 打开 DTSX 文件 一种 SSIS 控制流组件 它从 Microsoft SQ
  • 运行时错误“1004”:对象“_Global”的方法“Range”失败

    我在使用 Excel 时遇到问题 有一个生成参考号的表单 但是当我尝试生成参考号时 它有一条错误消息 运行时错误 1004 对象 Global 的方法 Range 失败 当我点击 调试 按钮时 它显示的代码如下 它突出显示代码第 4 行的错
  • 我需要代码在两行之间复制并粘贴到另一张表中,并给出任何值?

    例如 我有 50 行数据 第一行有学生的名字 我需要代码将数据从 RAM 复制到 RAMESH 在这之间我有 20 行 我需要代码来复制行并将其粘贴到另一张纸中 它不应该问我名字 默认情况下 它必须采用 RAM 和 RAMESH 名称 好的
  • For...VBA 中的下一个循环超出限制

    我正在使用一个For Next循环填充数组 如下所示 ReDim array 1 to 100 1 to 100 For i 1 to 100 Next i But the i计数器似乎总是转到 101 而不是停止在 100 因此 这会在我
  • Excel VBA 导出到文本文件。需要删除空行

    我有一个工作簿 使用以下脚本将其导出到文本文件 它工作正常 但是当我打开文本文件时 末尾总是有一个空行 这导致我在生成此文本文件后运行的另一个脚本出现问题 有关如何从导出中删除空行的任何帮助 Code Sub Rectangle1 Clic
  • 查找并替换目录中所有 Excel 文件工作簿中的字符串

    我正在编写 VBA 代码来替换位于特定目录中的多个 Excel 文件 工作簿 中的特定字符串 我尝试在 Stack Overflow 上搜索 找到答案 但这与通过 Excel 中的宏替换文本文件中的字符串有关 相同的链接是查找并替换文件中的
  • OpenArgs 为空问题

    我正在使用OpenArgs使用时发送值的参数DoCmd OpenForm DoCmd OpenForm frmSetOther acNormal acFormAdd acDialog value 然后我用Me OpenArgs在打开的表格内
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • 在 VBA 中循环合并单元格

    是否可以循环遍历合并的单元格vba questions tagged vba 我的范围内有 6 个合并单元格B4 B40 我只需要这 6 个单元格中的值 6 次迭代 上面的答案看起来已经让你排序了 如果您不知道合并的单元格在哪里 那么您可以
  • VBA XML V6.0 如何让它等待页面加载?

    我一直在努力寻找答案 但似乎找不到任何有用的东西 基本上 我是从一个网站上拉取的 当您在该页面上时 该网站会加载更多项目 我希望我的代码在加载完成后提取最终数据 但不知道如何让 XML httprequest 等待 Edited Sub p
  • Confluence:使用 VBA 更新现有页面

    我尝试使用 VBA 更新 Confluence 页面 我的想法是使用REST API加载页面内容 修改内容然后上传修改后的版本 这是我的代码 Private Sub TestRESTApi Dim uname As String uname
  • 如何使用 SSIS 将多个 Access 数据库导入到 SQL Server

    我有一个文件夹 其中包含 300 多个 Access 数据库 由我无法控制的程序编写 它们都有相同的结构 只是一张表 我正在将数据导入到 SQL Server 2005 中的表中 使用导入向导效果很好 但它一次只能用于一个 Access 数
  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6

随机推荐

  • Delphi - 按名称调用记录方法

    我为我的应用程序编写了一种脚本语言 我的目标是能够在脚本中发布来自 delphi 的任何类型 我使用 rtti 来自动执行此任务 对于任何实例类型 例如类 我使用以下代码从脚本查找并调用方法 var Info TRttiType Meth
  • WPF 用户控件数据绑定不起作用

    我正在创建一个简单的用户控件 将弹出窗口与文本视图相结合 这没什么疯狂的 当我首先在窗口中将其设置为全部样式时 它工作得很好 但是当我将其移到用户控件中以实际完成它时 它将不再正常工作 我将最小值和最大值传递给控件 然后它会自动创建一个数字
  • Highcharts 中分组柱形图的深入分析

    我正在尝试对高图中的分组柱形图进行深入分析 我的图表在这里 function Create the chart container highcharts chart type column title text Basic drilldow
  • 重叠指针、类型的限制限定符的粒度

    The 整点 of restrict是承诺通过一个指针的访问不会别名另一个 也就是说 有些例子中重叠的内存地址并不意味着别名 例如 int arr ptr0 arr 0 int arr ptr1 arr 1 for int i 0 i lt
  • 如何显示当前工作目录和上次提交的差异?

    我正在使用 git 并需要包含在差异结果未跟踪文件中 那么我必须执行什么命令才能获取当前工作目录和 HEAD 之间的所有差异 甚至部分差异存在于新文件添加中 Um git diff 毕竟 这就是它的作用 Update 不在暂存区域中的文件
  • 将 HTML 内容渲染到 Google 电子表格

    我的单元格 A1 中有一个 HTML 内容 我想渲染该 HTML 内容并将渲染的 HTML 内容添加到单元格 B1 中 例如如果我在 A1 中有这个 HTML
  • 反应上下文不更新

    我已经设置了一个使用 Context 来存储页面标题的基本示例项目 但是当我设置它时 组件不会重新呈现 主要文件 上下文 js import React from react const Context React createContex
  • React 上下文消费者如何访问消费组件的引用

    我使用以下方法构建了一个高阶组件React 的新上下文 API https reactjs org docs context html我正在尝试找到一种能够访问参考的方法 通过ref 包装的子组件 tl dr 本质上我想要转发裁判 http
  • Backbone.js 链接文件到模型

    我正在使用 django 和backbone js 创建一个Web 应用程序 问题是我需要将文件上传到服务器 如何将主干模型与文件链接 因此 当我执行 model save 时 文件会上传到服务器 编辑 只是为了让事情变得清楚 我想做的是将
  • 在 Flutter 中使用 JsonSerialized 时如何识别动态键?

    让我们假设 直到最近 我才听到下面的声音Json response AA product id 111 type C 而且 我写了下面的内容 model dart从 json 转换为对象 模型 dart JsonSerializable c
  • 从 Groovy 中的闭包修改脚本变量

    我正在尝试从函数的闭包内部修改脚本变量 这个问题可以归结为 groovy transform Field int myField 0 incrementField assert myField 1 def incrementField 1
  • 调试断言失败 c >= -1 && c <= 255

    我很难理解我的代码的运行时错误 这是我的班级作业 我认为很容易 但发生了一些奇怪的事情 我在下面发布了我的代码 这个作业的提示是创建一个程序 要求用户输入一些单词 然后它应该输出有多少个单词 我有一个朋友运行了该程序并且它有效 但是 每当我
  • 使用 Karma Runner 生成 jasmine 报告

    我想获得所有成功的茉莉花规格与业力运行的报告 就像您单独使用茉莉花时获得的那样 有办法实现这个目标吗 试试我写的这个快速插件 https github com dtabuenc karma html reporter https githu
  • jQuery 父元素内部 HTML

    我通过以下方式获取元素的内部 HTML this context innerHTML 然后我得到父内部 HTML this parent context innerHTML 但这段代码返回相同的值 任何想法有什么问题吗 要获取元素的内容 则
  • CMake 顶级 Xcode 项目属性

    我使用 Cmake 和 Xcode 来生成一个 c c 项目 my project 和一些 c c 目标 一个是二进制文件 其余的是库 我的 CMakeLists txt 看起来像这样 project my project add subd
  • 在多个列表段落上循环 Word 宏会导致内存问题

    我遇到了一个相当简单的 Microsoft Word vba 宏问题 该宏旨在解决当我们从 Word 文档创建 PDF 版本时我们在列表缩进中遇到的一些问题 该宏基本上循环遍历文档中的每个列表 并且对于与列表关联的每个列表段落 它设置列表模
  • 页面必须填满整个ViewPager2(使用match_parent)

    我有一个项目布局 其中显示图像 产品名称和产品图像 我必须使用约束布局以 1 1 5 比例显示图像 但是当我加载小图像时 下面的文本不显示 下面是我的项目 XML 代码
  • 将图像拖放到网页中并使用 HTML 文件 API 自动调整图像大小

    我想创建网页 允许用户将图像拖放到页面各个部分的框中 以便他们可以打印带有图像的页面 我希望图像在放入框中时自动调整大小 我结合了一些代码http html5demos com file api http html5demos com fi
  • Git Bash for Windows 显示/期望带有正斜杠的文件路径,没有驱动器冒号

    我安装了 Git 扩展 它会自动下载并安装适用于 Windows 的 Git 当我使用 Git Bash 时 它显示文件路径为 c whatever folder 而不是 C whatever folder 如果我粘贴来自 Windows
  • 如何将 rst.FindFirst 与 rst.NoMatch 一起使用?

    我的代码除了这一行之外都有效 FindFirst DONOR CONTACT ID strTemp2 我希望我的代码检查是否存在一条记录 其中存在特定的 DONOR CONTACT ID 因为存在多个具有相同 DONOR CONTACT I