【问题标题】:Continue Loop in TextBox to search multiple value from Database, MS Access继续在 TextBox 中循环以从数据库、MS Access 中搜索多个值
【发布时间】:2020-09-28 15:06:23
【问题描述】:

我已经更改了文本框的“输入键行为”,所以每次我按回车键时,文本框都会转到下一行,

Project's Form View

当用户单击按钮时,子窗体显示第一行的结果,然后如何在每一行用户输入中获取结果。

Private Sub CountButton_Click()
    Dim SQL As String
    
    SQL = "SELECT database.Tracking, database.Date, DateDiff(""d"",[Date],Date()) As Aeging FROM database;"
                
    Me.Query1_subform.Form.RecordSource = SQL
    Me.Query1_subform.Form.Requery
    
End Sub

我是否需要使用 Loop 或 VbCrLf 或其他东西来运行文本框

【问题讨论】:

  • 似乎表格只包含一行,因为没有标准它会获取所有行。您可以通过在VbCrLf 上拆分textbox.Text 来获得分隔的文本框行(创建一个数组),并且如果您搜索在',' 上加入该数组的字符的完全匹配并在In 条件上使用该字符串(例如@ 987654327@)

标签: vba ms-access


【解决方案1】:

将文本框值拆分为数组和循环数组以构建逗号分隔的字符串或:

strIN = Replace(Me.textbox, vbCrLf, "','")
If InStrRev(strIN, "','") > 0 Then strIN = Left(strIN, Len(strIN)-3)
SQL = "SELECT database.Tracking, database.Date, DateDiff('d', [Date], Date()) As Aging " & _ 
"FROM database " & _
"WHERE Tracking IN('" & strIN & "');"

使用文本框依赖于用户与输入保持一致 - 不是以 CR 开始输入,也不会意外或以其他方式输入其他无关字符。

更可靠的替代方法是跟踪值的多选列表框。代码循环遍历选定的项目并构建逗号分隔的字符串。

【讨论】:

    猜你喜欢
    • 2015-05-18
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多