Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

Docmd.Runsql的用法困惑

王同  发表于:2009-02-07 19:16:01  
复制

建立了一个命令按钮,代码如下:

Private Sub Command0_Click()
Dim Sql As String
Sql = "select * from ip地址信息表"
DoCmd.RunSQL Sql
End Sub

 

运行时居然提示我“运行是错误"2342",RunSQL操作需要由SQL语句组成的参数。

 

我不是已经定义了Sql了嘛?

 

 

 

Top
ACMAIN.CHM 发表于:2009-02-07 20:46:38

注意runsql所支持的SQL的类型。没有select * from, 只有 select into

 

以下摘自 Microsoft Access 2003 Help

RunSQL 方法

在 Visual Basic 中,RunSQL 方法执行 RunSQL 操作。

expression.RunSQL(SQLStatement, UseTransaction)
expression 必需。返回“应用于”列表中的一个对象的表达式。

SQLStatement 必需 Variant 型。字符串表达式,表示操作查询或数据定义查询的有效 SQL 语句。它使用 INSERT INTO、DELETE、SELECT...INTO、UPDATE、CREATE TABLE、ALTER TABLE、DROP TABLE、CREATE INDEX 或 DROP INDEX 语句。如果要访问其他数据库,则应包含 IN 子句。

UseTransaction 可选 Variant 型。使用 True (-1) 可以在事务处理中包含该查询。 如果不想使用事务处理,则应将该参数设为 False (0)。如果将该参数留空,则采用默认值 (True)。

说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。

该方法仅适用于 Microsoft Access 数据库 (.mdb)。

sqlstatement 参数的最大长度为 32,768 个字符(而“宏”窗口中的 SQL 语句操作参数的最大长度为 256 个字符)。

如果将 usetransaction 参数留空,则 sqlstatement 参数后面不必使用逗号。

示例
下面的示例更新“雇员”表,将每一个销售经理的职称更改为“地区销售经理”:

Public Sub DoSQL()
Dim SQL As String
SQL = "UPDATE Employees " & _
"SET Employees.Title = 'Regional Sales Manager' " & _
"WHERE Employees.Title = 'Sales Manager'"
DoCmd.RunSQL SQL
End Sub


******************
*  一切皆有可能  *
******************



QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access
http://www.accessbbs.cn/bbs/index.php
http://www.accessoft.com/bbs/index.asp
http://www.office-cn.net/vvb/?fromuid=141646
http://www.access-programmers.co.uk/forums

http://www.office-cn.net/home/space.php?uid=141646


王同 发表于:2009-02-07 21:02:37

这个帮助我也看过,就是对着抄的,为什么有错呢,请明示。。。



王同 发表于:2009-02-07 21:07:22

没看到这句:注意runsql所支持的SQL的类型。没有select * from, 只有 select into

谢谢,问题解决。



王同 发表于:2009-02-07 21:07:50
不过为什么不支持select from呢?这是sql的最基本语法啊。

sosopain 发表于:2009-02-08 00:35:47

Private Sub Command0_Click()
Dim Sql As String
Sql = "select * from ip地址信息表"
DoCmd.RunSQL Sql
End Sub

 

你期望的结果是什么? 你觉得运行了这个sql后access会干什么?



ACMAIN.CHM 发表于:2009-02-08 09:57:15

通过QQ知道你如果只想找到相应的记录。你可以用DLOOKUP函数。

 

DLOOKUP('ip','iplist','ip="10.1.1.0"')

 

详细用方,请参考微软ACCESS帮助。

 

 


******************
*  一切皆有可能  *
******************



QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access
http://www.accessbbs.cn/bbs/index.php
http://www.accessoft.com/bbs/index.asp
http://www.office-cn.net/vvb/?fromuid=141646
http://www.access-programmers.co.uk/forums

http://www.office-cn.net/home/space.php?uid=141646


总记录:6篇  页次:1/1 9 1 :