在Excel中插入Excel单元格的值作为SQL查询参数
我想将Excel单元格的值传递给macros中的查询,以便在特定单元格中插入值时,按下Enter键,将触发macros及其中的查询。
假设这个单元格是“A1”,我将作为parameter passing的值(这次是“99”
如果我这样做“手动”,查询将有以下方式插入它的参数:
Set rs = conn.Execute("SELECT * FROM CODES WHERE ref_id like '99%' ")
什么修改是必要的,所以查询接受来自A1单元格的任何值?
我在一个基于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)