【问题标题】:Using Excel column data to create sql statement that queries database使用Excel列数据创建查询数据库的sql语句
【发布时间】:2016-04-07 09:37:38
【问题描述】:

我正在寻找有关如何读取 excel 中包含 500 个 user_id 的单个列并查询数据库以在 WPF 应用程序中显示结果的任何建议。用户可以拥有或租用 SQL 的样子;

SELECT * FROM users WHERE own= 'user_id' or rent= 'user_id'

这对一个用户来说很好,但我想读取每个 user_id 并将其连接到 SQL 语句以从数据库中提取所有结果。任何人有任何简单的方法来做到这一点?

【问题讨论】:

  • 您的问题到底是什么?如何使用 vba 从 excel 表中读取值?如何从 VBA 构造一个 sql 语句?如何构建一个单条sql语句,一次性查询excel表中的所有用户?如何从 VBA 连接到 mysql 以获取数据?另外,我不明白 WPF 和 VBA 是如何相互结合使用的。
  • 我的主要问题是能够读取数据并使用 VBA 将其放入数组中

标签: mysql excel vba


【解决方案1】:

根据需要替换范围,感谢 brettdj 加入 - Simple VBA array join not working

Sub test()

    Dim strQuery As String
    Dim strVals As String

    Dim rngTarget As Range
    Set rntTarget = Range("A1:A7")

    Dim varArr
    Dim lngRow As Long
    Dim myArray()
    varArr = rntTarget.Value2

    ReDim myArray(1 To UBound(varArr, 1))

    For lngRow = 1 To UBound(varArr, 1)
        myArray(lngRow) = varArr(lngRow, 1)
    Next

    strVals = "('" & Join$(myArray, "','") & "') "

    strQuery = "SELECT * FROM users WHERE own in " _
        & strVals & "or rent in " & strVals


End Sub

【讨论】:

  • 谢谢,如果我在 WPF 应用程序中执行此操作,是否必须打开要从中读取数据的 Excel 工作表?
  • 没有使用 WPF 的经验,但将上面的 = Range("A1:A7") 替换为 = workbooks(1).worksheets("mysheets").Range("A1:A7") 是如果工作表未打开,请大声喊叫
猜你喜欢
  • 2014-12-22
  • 2014-09-06
  • 1970-01-01
  • 2012-10-29
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多