繁体   English   中英

使用VBA从SQL查询字符串中删除别名?

[英]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,依此类推

  1. 像这样在QueryTable下恢复SQL:

恢复SQL:

Range("A1").Select 'Your query worksheet
With Selection.QueryTable
    queryText = .CommandText
End With
  1. 然后将别名替换为LEFTRIGHTINSTRRegExp对象(如果您想学习有用且快速使用RegExp正则表达式)。 如果您需要正则表达式示例,请在评论中告诉我。 如果您想在VBA中学习Regex,我在这里做了一个教程

  2. 替换查询并刷新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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM