ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5764|回复: 3

[求助]请问向数据库添加一条有22个字段的记录的SQL语句该怎么写?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-3-24 22:16 | 显示全部楼层 |阅读模式
请问向ACCESS数据库添加一条有22个字段的记录的SQL语句该怎么写? strSQL = "Insert Into 姓名 (f1,f2,f3,f4,f5,f6," strSQL = strSQL + "f7,f8,f9,f10,f11,f12," strSQL = strSQL + "f13,f14,f15,f16,f17,f18,f19,f20,f21,f22) " strSQL = strSQL + " .......... 后面是对应的22个变量 , 接下来的语句该怎么写呢? 我参照教材例句写了几遍调试还是不行!!! 请帮帮忙,谢谢!

TA的精华主题

TA的得分主题

发表于 2006-3-25 07:49 | 显示全部楼层

本人贴上ACCESS MSDN HELP

--------------------------------------------------------------------

添加一个或多个记录至一个表。此动作可引用为一个追加查询。

语法

多重记录追加查询:

INSERT INTO target [IN externaldatabase] [(field1[, field2[, ...]])]
SELECT [source.]field1[, field2[, ...]
FROM tableexpression

单一记录追加查询:

INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])

INSERT INTO 语句可分为以下几个部分:

部分 描述
target 欲追加记录的表或查询的名称。
externaldatabase 外部数据库路径。对于路径的描述,请参阅IN 子句。
source 复制记录的来源表或查询的名称。
field1, field2 如果后面跟的是 target 参数,则为要追加数据的字段名;如果后面跟的是 source 参数,则为从其中获得数据的字段名。
tableexpression 从其中得到要插入的记录的表名。此参数可以是一个单一表名称,或由 INNER JOIN、LEFT JOIN、或 RIGHT JOIN运算合成的结果,或一个已保存的查询。
value1, value2 欲插入新记录的特定字段的值。每一个值将依照它在列表中的位置,顺序插入相关字段:value1 将被插入至追加记录的 field1 之中,value2 插入至 field2,依此类推。必须使用逗点将这些值分隔,并且将文本字段用引号 ('?) 括起来。
说明

可以使用 INSERT INTO 语句来添加一个单一记录至一个表中,如以上所示使用单一记录追加查询语法。在这个例子中,代码指定了该记录每一字段的名称和值。必须指定追加数值的记录的每一个字段和那个字段的值。如果您没有指定每一个字段时,缺省值或 Null 值将被插入至没有数据的字段之中。这些记录将被添加至表的尾部。
通过使用 SELECT ... FROM 子句如以上所示的多重记录追加查询语法,也可以从另一表或查询使用 INSERT INTO追加一组记录。在这个示例中,SELECT 子句将指定追加字段至指定的 target 表。

source 或 target 表可以指定一个表或查询。如果指定查询,Microsoft Jet 数据库引擎追加记录至任何和所有由查询所指定的表中。
INSERT INTO 是可选的,但当使用时,请置於 SELECT 语句之前。
如果目的表包含一个主键,确定追加至主键字段之值是唯一的且不可为 Null 值;如果没有这样做, Microsoft Jet 数据库引擎将不会追加记录。
如果使用自动编号字段追加记录至一个表中,并且您要将追加记录重新编号,不要包含自动编号字段在您的查询之中。如果您要保持字段中的原始值,请将自动编号加在您的查询之中。

使用 IN 子句,可追加记录至另一个数据库中的表。
若要创建一个新的表,使用 SELECT...INTO 语句,而非创建一个创建表查询。
若要在运行追加查询之前找出哪些记录是被追加的,首先执行和查阅一个使用相同的选择条件之选定查询所获得的结果。
追加查询为从一个或多个表中复制记录至另一个表。您追加的表包含记录将不会被追加查询所影响。
除了从另一表中来追加现存的记录,可以指定在单一追加记录之中使用 VALUES 子句来指定对每一字段的值。如果您省略字段列表,VALUES 子句在表之中必须包含每一字段的值;否则, INSERT运算将会失败。使用额外的 INSERT INTO 语句与一个 VALUES 子句来创建您要的每一个额外的记录。

----------------------------------------------------------------

示例:

此示例选择在一假设的新客户表中的所有记录,并且增加它们至客户表中。当个别的栏没有设计时,此 SELECT 表的列名必须完全地符合那些在 INSERT INTO 表中的列名。

Sub InsertIntoX1()

Dim dbs As Database

' 在您的计算机中修改此行使其正确指到 Northwind 的路径。
Set dbs = OpenDatabase("Northwind.mdb")

' 在新客户表中选择所有记录,
' 并且添加它们至客户表。
dbs.Execute " INSERT INTO Customers " _
& "SELECT * " _
& "FROM [New Customers];"

dbs.Close

End Sub

此示例创建在员工表中的添加记录。

Sub InsertIntoX2()

Dim dbs As Database

' 在您的计算机中修改此行使其正确指到 Northwind 的路径。
Set dbs = OpenDatabase("Northwind.mdb")

' 创建在员工表中的新记录,
' 其姓氏是 Washington,名字是 Harry,
' 并且职称是 Trainee。
dbs.Execute " INSERT INTO Employees " _
& "(FirstName,LastName, Title) VALUES " _
& "('Harry', 'Washington', 'Trainee');"

dbs.Close

End Sub

------------------------------------------------------------

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-3-25 12:48 | 显示全部楼层
楼上写的偶看得有些头晕 还是没有解决

TA的精华主题

TA的得分主题

发表于 2010-9-9 20:43 | 显示全部楼层
供参考:
strSQL = "Insert into [Stocktake Log]([User Name],[StockTake Type],[Print Time],[No of Location],[Area]) " _
strSQL = strSQL &  "Values('" & strCurrentUserName & "','" & strSheetType & " ','" & Now() & "'," & "'" & intRecordCount & "','" & strAisleRemark & "')"

将变量strCurrentUserName, strSheetType, Now(), intRecordCount, strAisleRemark 所对应的值写入表名[Stocktake Log]中所对应的字段中
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 06:54 , Processed in 0.018827 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表