VBA 代码优化:为 ParamFactValue_Fun 中的 "value3" 参数添加指定值
这段代码中,参数 "value3" 在第一个和第三个 Case 语句中没有被指定值。您需要根据需要为该参数添加指定值。
Private Sub CommandButton11_Click()
Dim j As Integer
For j = 0 To 2
Call ParamFactValue_Fun(j)
Next j
End Sub
Sub ParamFactValue_Fun(j As Integer)
Dim i As Integer
' 创建连接
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\检测设备\压力试验机\新vba\" & destinationDatabase
On Error GoTo ErrorHandler ' 设置错误处理
' 循环插入参数
For i = 0 To 2
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = conn
' 根据不同的参数类型设置 SQL 命令
Select Case i
Case 0 ' 直径
cmd.CommandText = "insert into ParamFactValue(TestNo,littleNo,Name,TheValue,Unit,UserOrResultParam) values (?,?,?,?,?,?)"
cmd.Parameters.Append cmd.CreateParameter("value0", adVarChar, adParamInput, 255, Range("H7").Value + j) '检测过程的编号
cmd.Parameters.Append cmd.CreateParameter("value1", adVarChar, adParamInput, 255, i) '头编号
cmd.Parameters.Append cmd.CreateParameter("value2", adVarChar, adParamInput, 255, "直径")
cmd.Parameters.Append cmd.CreateParameter("value3", adVarChar, adParamInput, 255, **需要添加的指定值** ) ' 添加 "value3" 的值
cmd.Parameters.Append cmd.CreateParameter("value4", adVarChar, adParamInput, 255, "mm")
cmd.Parameters.Append cmd.CreateParameter("value5", adVarChar, adParamInput, 255, 0)
Case 1 ' 面积
cmd.CommandText = "insert into ParamFactValue(TestNo,littleNo,Name,TheValue,Unit,UserOrResultParam) values (?,?,?,?,?,?)"
cmd.Parameters.Append cmd.CreateParameter("value0", adVarChar, adParamInput, 255, Range("H7").Value + j) '检测过程的编号
cmd.Parameters.Append cmd.CreateParameter("value1", adVarChar, adParamInput, 255, i - 1) '头编号
cmd.Parameters.Append cmd.CreateParameter("value2", adVarChar, adParamInput, 255, "面积")
cmd.Parameters.Append cmd.CreateParameter("value3", adVarChar, adParamInput, 255, 17671.458375)
cmd.Parameters.Append cmd.CreateParameter("value4", adVarChar, adParamInput, 255, "mm^2")
cmd.Parameters.Append cmd.CreateParameter("value5", adVarChar, adParamInput, 255, 1)
Case 2 ' 力值
cmd.CommandText = "insert into ParamFactValue(TestNo,littleNo,Name,TheValue,Unit,UserOrResultParam) values (?,?,?,?,?,?)"
cmd.Parameters.Append cmd.CreateParameter("value0", adVarChar, adParamInput, 255, Range("H7").Value + j) '检测过程的编号
cmd.Parameters.Append cmd.CreateParameter("value1", adVarChar, adParamInput, 255, i - 1) '头编号
cmd.Parameters.Append cmd.CreateParameter("value2", adVarChar, adParamInput, 255, "力值")
cmd.Parameters.Append cmd.CreateParameter("value3", adVarChar, adParamInput, 255, **需要添加的指定值** ) ' 添加 "value3" 的值
cmd.Parameters.Append cmd.CreateParameter("value4", adVarChar, adParamInput, 255, "KN")
cmd.Parameters.Append cmd.CreateParameter("value5", adVarChar, adParamInput, 255, 1)
End Select
cmd.Execute
Next i
conn.Close ' 关闭数据库连接
Set conn = Nothing ' 清空对象
Exit Sub ' 正常结束
'MsgBox "ParamDactValue数据表更新完成"
ErrorHandler:
MsgBox Err.Description ' 显示错误信息
conn.Close ' 关闭数据库连接
Set conn = Nothing ' 清空对象
End Sub
请根据您的实际需求替换代码中的 "需要添加的指定值"。
原文地址: https://www.cveoy.top/t/topic/qeZ4 著作权归作者所有。请勿转载和采集!