Sql server 是否使用Excel VBA用户表单将多LPLE字段插入SQL Server 2014?

Sql server 是否使用Excel VBA用户表单将多LPLE字段插入SQL Server 2014?,sql-server,vba,Sql Server,Vba,有人能告诉我如何使用这种方法在输入框中使用多个字段吗 我想能够插入一个人的姓名,身高,性别和工资使用单一的用户表单?到目前为止,我只知道如何一次插入一个字段,如下面的代码所示 Dim SQL as ADODB.Command Set SQL = NEW ADODB.Command SQL.CommandText = "INSERT INTO [myStuff].[dbo].[myThings](Salary) VALUES (?)" SQL.Parameters.Append SQL.Cr

有人能告诉我如何使用这种方法在输入框中使用多个字段吗

我想能够插入一个人的姓名,身高,性别和工资使用单一的用户表单?到目前为止,我只知道如何一次插入一个字段,如下面的代码所示

Dim SQL as ADODB.Command
Set SQL = NEW ADODB.Command
SQL.CommandText = "INSERT INTO [myStuff].[dbo].[myThings](Salary) VALUES    (?)"
SQL.Parameters.Append SQL.CreateParameter("Name",adNumeric,adParamInput,"Length of input here", MyInputBox.Value) ' Perhaps you have to validate MyInputBox.Value
SQL.ActiveConnection = CN
SQL.Execute

您可以将其连接到查询中,但在大多数情况下,这是一个坏主意。这是一个参数化版本(见下文)。请注意,您必须打开适合写入的连接,并可能验证
InputBox.Value
的输入

dimsql作为ADODB.Command
Set SQL=NEW ADODB.Command
SQL.CommandText=“插入[myStuff].[dbo].[myThings](薪水)值(?)
可能您必须验证MyInputBox.Value
SQL.ActiveConnection=CN
执行
编辑: 下面是一个包装函数,我使用它来简化参数化(您需要创建和
ADODB.Command
object):

函数APCP(_
ByRef命令作为ADODB.Command_
ByVal DTE作为数据类型枚举_
ByVal PDE作为参数DirectionEnum_
ByVal值(作为变量)
'APCP代表“附加参数创建参数”
指挥
我想我会坚持多久
I=.Parameters.Count
如果Len(值)>0,则
.Parameters.Append.CreateParameter(“f”&I,DTE,PDE,Len(Value),Value)
其他的
选择案例DTE
案例adNumeric
值=0
.Parameters.Append.CreateParameter(“f”&I,DTE,PDE,1,值)
案例附加
.Parameters.Append.CreateParameter(“f”&I,DTE,PDE,1,Null)
其他情况
.Parameters.Append.CreateParameter(“f”&I、DTE、PDE、1、vbNullString)
结束选择
如果结束
以
端函数
“用例:
APCP YourADODBCommandObject,AdNumeric,adParamInput,100
APCP YourADODBCommandObject,AdBoolean,adParamInput,True
APCP YourADODBCommandObject、AdChar、adParamInput,“一些文本”

请注意,该函数包括对零长度参数的处理(在
选择Case
块中),您可能需要更改它以符合您的要求。

您可以将其连接到查询中,但在大多数情况下,这是一个坏主意。这是一个参数化版本(见下文)。请注意,您必须打开适合写入的连接,并可能验证
InputBox.Value
的输入

dimsql作为ADODB.Command
Set SQL=NEW ADODB.Command
SQL.CommandText=“插入[myStuff].[dbo].[myThings](薪水)值(?)
可能您必须验证MyInputBox.Value
SQL.ActiveConnection=CN
执行
编辑: 下面是一个包装函数,我使用它来简化参数化(您需要创建和
ADODB.Command
object):

函数APCP(_
ByRef命令作为ADODB.Command_
ByVal DTE作为数据类型枚举_
ByVal PDE作为参数DirectionEnum_
ByVal值(作为变量)
'APCP代表“附加参数创建参数”
指挥
我想我会坚持多久
I=.Parameters.Count
如果Len(值)>0,则
.Parameters.Append.CreateParameter(“f”&I,DTE,PDE,Len(Value),Value)
其他的
选择案例DTE
案例adNumeric
值=0
.Parameters.Append.CreateParameter(“f”&I,DTE,PDE,1,值)
案例附加
.Parameters.Append.CreateParameter(“f”&I,DTE,PDE,1,Null)
其他情况
.Parameters.Append.CreateParameter(“f”&I、DTE、PDE、1、vbNullString)
结束选择
如果结束
以
端函数
“用例:
APCP YourADODBCommandObject,AdNumeric,adParamInput,100
APCP YourADODBCommandObject,AdBoolean,adParamInput,True
APCP YourADODBCommandObject、AdChar、adParamInput,“一些文本”
请注意,该功能包括处理零长度参数(在
选择案例
块中),您可能需要更改它以符合您的要求。

不完全是重复的,但实际上解释了一些事情。不完全是重复的,但事实上解释了一些事情。感谢你1)发布了一个答案来弥补评论,2)编辑了这个答案以包含一些描述。(向上投票)感谢您1)发布回复以弥补该评论,2)编辑该回复以包含一些描述。(向上投票)