0

MS Access をデータベースとして使用して infopath フォームを作成しています。

フォームで、電子メールの重複をチェックしたいので、次の VB コード内から SQL クエリを実行してこれを実行しようとしています。

    Public Sub CTRL125_7_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)

    Dim myAdoConnection As AdoQueryConnection = _
    DirectCast(Me.DataConnections("Mainconnection"), AdoQueryConnection)


    Dim mynav As XPathNavigator = _
    CreateNavigator().SelectSingleNode("/dfs:myFields/dfs:dataFields/d:Candidate_Tracking_Database/@Email", NamespaceManager)

    Dim email As String

    email = mynav.InnerXml

    myAdoConnection.Command = _
    "select [Email] from [Candidate_Tracking_Database] where [Email] =" + email

    myAdoConnection.Execute()
    End Sub

重複が見つかった場合にプロンプ​​トを表示する If, then, else ステートメントを使用してこれを続けたいと思います。ただし、コードを実行しようとすると、次のエラーが発生します。

System.Net.WebException was unhandled by user code
Message="The query method on the Document object failed.
Operation aborted"

私は何を間違っていますか?答えを見越してありがとう。

ノート:

私はからコードを適応させました - http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.adoqueryconnection.command.aspx?cs-save-lang=1&cs-lang=vb#code-snippet -1

コードの要素は次のとおりです。

Mainconnection = connection name
"/dfs:myFields/dfs:dataFields/d:Candidate_Tracking_Database/@Email" = Xpath of the input text box
[Email] = Field name in the [Candidate_Tracking_Database] table

完全なエラーは次のとおりです。

System.Net.WebException was unhandled by user code
Message="The query method on the Document object failed.
Operation aborted
"
Source="Microsoft.Office.InfoPath.Client.Internal.Host"
StackTrace:
   at      Microsoft.Office.InfoPath.Internal.MomExceptionHelper.ExecuteDataConnectionAction(OMCall d)
   at Microsoft.Office.InfoPath.Internal.AdoQueryConnectionHost.Execute()
   at Candidate_Registration.FormCode.CTRL125_7_Clicked(Object sender, ClickedEventArgs e) in C:\Infopath\InfoPath Projects\Candidate Registration\FormCode.vb:line 300
   at Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent)
   at Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)
4

1 に答える 1

0

これを試して:

myAdoConnection.Command = _ "select [Email] from [Candidate_Tracking_Database] where [Email] =" & email

またはこれ:

myAdoConnection.Command = _ "select [Email] from [Candidate_Tracking_Database] where [Email] ='" & email & "'"

于 2013-04-18T23:46:29.043 に答える