在Excel中插入Excel单元格的值作为SQL查询参数

时间:2014-09-16 07:54:22

标签: sql excel vba excel-vba

我想将Excel单元格的值传递给宏内的查询,这样当我在该特定单元格中插入值并按Enter键时,它会触发宏及其中的查询。

让我们说小区是" A1"我将作为参数传递的值(此时间)为" 99"

如果我这样做"手动",查询将以下列方式插入参数:

Set rs = conn.Execute("SELECT * FROM CODES WHERE ref_id like '99%' ")

需要进行哪些修改才能使查询接受来自A1单元格的任何值?

1 个答案:

答案 0 :(得分:0)

我在基于Excel的SQL下载中使用的是,我已将脚本放在A:A中,然后使用此VBA代码:

Range("A1").Select
'Set Do loop to stop when an empty cell is reached.
Do Until IsEmpty(ActiveCell)
    ' Concatenate using a space after each line
        sql = sql + ActiveCell.Value + " "

    ' Step down 1 row from present location.
    ActiveCell.Offset(1, 0).Select
Loop

所以它会逐行阅读。

在你的情况下,我认为应该是这样:

Range("A1").Select
        sql = "SELECT * FROM CODES WHERE ref_id like '" + ActiveCell.Value + "%' "
Set rs = conn.Execute(sql)