【问题标题】:how to get a record in Access form using a text box if there are multi record with different date如果有多个不同日期的记录,如何使用文本框在 Access 表单中获取记录
【发布时间】:2021-08-31 14:20:00
【问题描述】:

我想在搜索手机号码和最近的日期时获得完整记录

使用下面的代码,我可以获取记录,但不能像我正在寻找的那样有条件地获取日期,并且不知道如何应用我的条件来获取输出。如果在使用条件时尝试 sql 查询出错。

这里,表名是:Service_MasterData,列名是:[手机号],Service_Registration_Number,日期

prefixtext = txt_mbno.Text
     DoCmd.ShowAllRecords
     DoCmd.GoToControl ("[Mobile Number]")
     DoCmd.FindRecord prefixtext

    Service_Registration_Number.SetFocus
    assetidref = [Mobile Number]
    [Mobile Number].SetFocus
    strSearch = [Mobile Number].Text

    If assetidref = strSearch Then
         MsgBox " !!! Welcome Back "

已按建议编辑..

    Dim strCriteria As String
    Dim rst As DAO.Recordset

    Set rst = Me.RecordsetClone
    DoCmd.ShowAllRecords
    DoCmd.GoToControl ("[Mobile Number]")

    strCriteria = "[Mobile Number] = " & Me![txt_mbno]
    rst.FindFirst strCriteria ' here shows data type error
    Me.Bookmark = rst.Bookmark

    Service_Registration_Number.SetFocus
    assetidref = [Mobile Number]
    [Mobile Number].SetFocus
    strSearch = [Mobile Number].Text
    Me.Service_ID.Value = ""
    Me.Service_Token_No.Value = ""
    Me.Engine_Power.Value = ""

    If assetidref = strSearch Then
         MsgBox " !!! Welcome Back "

【问题讨论】:

  • 不要使用 FindRecord。评论bytes.com/topic/access/insights/…
  • 实际上,我曾经在这里找到一个特定的记录,其中只有一个正在工作的手机号码。我已经通过共享链接但有点混淆了要申请的内容...这里我想检查一下使用此手机号码的最后一个日期条目并在表单中获取记录..
  • 您需要多个参数,据我所知,FindRecord 不允许这样做(我从未使用过 FindRecord)。我通常使用链接中描述的方法3。
  • 很抱歉尝试使用与 3 中描述的参数相同的参数,但出现数据类型错误。我已经在上面的正文中发布了该代码..
  • 我能够获得最近的日期的另一个帮助,请帮助我如何获得带有手机号码和日期的表格中的记录......希望你理解我试图传达

标签: ms-access


【解决方案1】:

假设 [手机号码] 是文本类型字段,请使用撇号分隔符。

strCriteria = "[Mobile Number] = '" & Me![txt_mbno] & "'"

日期/时间类型使用#分隔符,数字类型没有分隔符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-02
    • 2020-10-09
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    相关资源
    最近更新 更多