当表名为变量,值为纯数字或开头为数字时语法错误

问题遇到的现象和发生背景

VB6 语法错误

遇到的现象和发生背景,请写出第一个错误信息

语法错误

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
Dim abc As String
abc="XYZ"
 "select * from " & abc
 "select * from  [1234] "
'以上是没有问题的。
'下面的语句就会出现语法错误:
abc="1234"      '或:abc=“12xyz”
 "select * from " & abc
运行结果及详细报错内容

语法错误

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

多种尝试加单引号反引号和在网上搜索,一直未找到正确的方法。

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

还有一个问题同时请教,上面语句加上 order by ID 排序怎么写?
不要笑我这个搞硬件设计的初学者。
先谢谢了!

abc="1234"
"select * from [" & abc & "]"

大致参考下这个实例思路:http://cn.voidcc.com/question/p-hspvitjq-cw.html

表名怎么会是纯数字呢,你到底要干啥呀

在 VB6 中,如果想要在 SQL 语句中使用变量,可以使用下面的方法:

Dim abc As String
abc="XYZ"
sql = "select * from " & abc & " order by ID"

这样变量 abc 的值就可以被正确地插入到 SQL 语句中。

注意如果变量 abc 的值包含特殊字符(比如单引号、双引号等),就应使用转义字符将其转换为有效的 SQL 字符串值。

举个例子:

abc="1234"
sql = "select * from " & abc & " order by ID" ' 语法错误

应该改为:

abc="1234"
sql = "select * from [" & abc & "] order by ID" ' 正确

abc="12xyz"
sql = "select * from '" & abc & "' order by ID" ' 正确

要在 SQL 语句中加上 order by ID 排序,可以这样写:

sql = "select * from [" & abc & "] order by ID"

这样结果集就会按照 ID 字段升序排列。如果要按照 ID 字段降序排列,就可以这样写:

sql = "select * from [" & abc & "] order by ID desc"

注意order by 后面的字段名(如 ID)必须是表中存在的字段名。
仅供参考,望采纳,谢谢。