首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >全新的VBA、Access和SQL。我如何编写一个SQL查询,该查询将在我的AccessDB中搜索一个表,如果它找到它,它会给我返回一个True/False?

全新的VBA、Access和SQL。我如何编写一个SQL查询,该查询将在我的AccessDB中搜索一个表,如果它找到它,它会给我返回一个True/False?
EN

Stack Overflow用户
提问于 2019-06-20 12:42:45
回答 1查看 64关注 0票数 1

我以前不太喜欢使用VBA,或者Access或SQL。但我有一点..。我在做一个项目。因此,这里的目标是输入一个名称,取这个名称,并在一个链接表中搜索该名称。我听说我可以用SQL查询来完成这个任务?但是怎么做呢?我需要使用SQL查询吗?

我尝试了很多事情,但我从来没有离我的答案更近。我试过这个..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'strTable1 = "FAC_List"

'Dim cellFind As Object
'cellFind = Workbooks("FAC List.xlsx").Sheets("Sheet1").Range("A2").Find(what:=txtLDcode)
    'Dim rowNum As Integer
    'Dim cellFind As Object
    'rowNum = 0
    'Do
    '    rowNum = rowNum + 1
    '    Set cellFind = Workbooks("FAC List.xlsx").Sheets("Sheet1").Range("A" & rowNum)
    '
    '    If InStr(cellFind, txtLDcode) Then
    '        txtLDcode = True
    '
    '    End If
    'Loop Until cellFind = ""

    'If Not cellFind Is Nothing Then
    '    Set txtLDcode = True

    'End If

"Set cellFind“部分总是返回工作簿中的一个错误.我也在下面尝试过.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'Dim objRecordset As ADODB.Recordset
'Set objRecordset = New ADODB.Recordset
'Dim i As Integer
'Dim value As Variant

'objRecordset.ActiveConnection = CurrentProject.Connection
'objRecordset.Open "FAC_List"

'While objRecordset.EOF = False
    'check for match
'    If objRecordset.Fields.Item(0).value = txtLDcode Then

'        txtLDcode = True
'    Else
        'txtLDcode = False
'    End If
'    objRecordset.MoveNext

'Wend

但最后一部分的问题是它总是返回错误..。我的链接表名是FAC_List。一旦用户输入了一些信息,就应该在表中搜索该信息,并且基本上只返回True/False。我怎样才能做到这一点,我是否朝着正确的方向前进?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-20 13:21:41

文本框中的表达式可以执行域聚合函数(DCount、DSum、DLookup) -没有查询,也没有VBA。用实际字段名替换fieldname。假设字段是文本数据类型;如果不是,则删除撇号分隔符。

=IIf(DCount("*", "FAC_List", "fieldname='" & [txtLDcode] & "'") = 0, "False", "True"))

如果必须使用VBA,则可以执行域聚合。

txtLDcode = IIf(DCount("*", "FAC_List", "fieldname='" & Me.txtLDcode & "'") = 0, "False", "True"))

其他VBA选项将涉及打开记录集。

  1. 打开由输入筛选的记录集并检查RecordCount
  2. 打开未过滤的DAO记录集并使用FindFirst方法

所有这些都避免循环记录集,这是最不有效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56693602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文