VBA访问超过2个CreateParameter

时间:2017-08-14 03:06:59

标签: vba ms-access listbox

我需要创建一个Access程序,但我遇到了麻烦。 这是问题所在。 当我输入如下图所示的信息时,所有信息都应插入列表框。 ' BlendID'和'混合方法'对于所有元素都是相同的,只有'前体的'信息变化。因此,当我键入两个前体项时,需要有两行,但我只在列表框中获得1个数据。 (前缀2的信息应插入列表框但现在不能正常工作) enter image description here

这是我的代码

Private Sub AddToListBlend_Click()

Dim cmd As ADODB.Command
Dim conn As ADODB.Connection
Dim strConn As String

Dim par As ADODB.Parameter           'input
'Dim introw As Integer
'On Error GoTo errorhandle
'introw = ListBlend.ListIndex + 1

strConn = "DRIVER=SQL Server;SERVER=CHU-AS-0004;DATABASE=RTC_LaplaceD_DEV;Trusted_Connection=Yes;"

Set conn = New ADODB.Connection
conn.Open strConn               'open connection

If IsNull(TextRequestNo.value) Or TextRequestNo.value = "" Then
    MsgBox ("Please select Request No first")

Else

    Set cmd = New ADODB.Command
    cmd.CommandText = "dbo.AddBlendPrac"
    cmd.CommandType = adCmdStoredProc
    cmd.ActiveConnection = conn

    Set par = cmd.CreateParameter("@BlendID", adVarChar, adParamInput, 50, TextB10.value)
    cmd.parameters.Append par
    Set par = cmd.CreateParameter("@BlendMethod", adVarChar, adParamInput, 50, TextB11.value)
    cmd.parameters.Append par
    Set par = cmd.CreateParameter("@RequestID", adVarChar, adParamInput, 50, TextRequestNo.value)
    cmd.parameters.Append par
    Set par = cmd.CreateParameter("@SampleID", adVarChar, adParamInput, 50, TextB12.value)
    cmd.parameters.Append par
    Set par = cmd.CreateParameter("@WLocation", adVarChar, adParamInput, 50, WLocation1.value)
    cmd.parameters.Append par
    cmd.Execute

conn.Close 'close connection
Set conn = Nothing
Set cmd = Nothing

MsgBox "Succeeded"
List731.Requery

End If
End Sub

我知道我需要添加Precursor2的信息,但我不知道该怎么做。如您所见,首先将信息插入ListBox,但第二个信息不是。

请您分享您的想法吗?

0 个答案:

没有答案