[英]Using VBA to remove the alias name from an SQL query string?
我有一个SQL查询字符串。 该字符串中包含多个不同的数据列,所有数据列均来自同一表。 为简单起见,下面是一个简短示例: SELECT 'A'.'B', 'A'.'C', 'A'.'D'
其中'A'
是别名。 我的问题是:是否可以使用VBA来获取该查询字符串,并删除别名'A'
所有实例并仅返回数据列'B', 'C', 'D'
? 请没有完整的代码,我喜欢起点。 我喜欢自己填写。 它有助于学习过程。
您是直接从表格中选择吗? 除非您要在查询中执行某些功能,否则直接从表中获取列名称即可。 另一个选择是:
选择[A] AS列名,[B] AS列名2,依此类推
恢复SQL:
Range("A1").Select 'Your query worksheet
With Selection.QueryTable
queryText = .CommandText
End With
然后将别名替换为LEFT
, RIGHT
, INSTR
或RegExp
对象(如果您想学习有用且快速使用RegExp
正则表达式)。 如果您需要正则表达式示例,请在评论中告诉我。 如果您想在VBA中学习Regex,我在这里做了一个教程 。
替换查询并刷新QueryTable
替换并刷新查询
Range("A1").Select 'Your query worksheet
With Selection.QueryTable
.CommandText = queryText
.Refresh BackgroundQuery:=False
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.