2016-10-27 4 views
0

私はこれを理解し、同じ問題に取り組んでいます。 ExcelファイルをリンクしているAccessデータベースがあります。 ExcelファイルのタイトルはStore#で、ポンド記号は私が問題に取り組んでいる場所です。vb.net検索アクセスデータベースは、使用時に日付エラーを返します。#

New OleDbCommand("SELECT * FROM LSM WHERE Store # = @Store", myConnection) 
    lstscmd.Parameters.AddWithValue("@Store", CInt(gateDBSearch)) 

私は(richtexboxが検索されたレコードのための唯一の結果を示している)#記号を削除し、それが動作私のコードでそれを削除した場合、残念ながら、これは最終版ではオプションではありません。 #シンボルをファイルに残して、コードから削除すると、richtextboxはすべての結果を返します。コードとファイルの両方に#記号を残しておくと、クエリ式 'Store#= @Store'の例外で、日付に構文エラーが表示されます。これに関する助けは素晴らしいでしょう。

Dim lstscmd As OleDbCommand = New OleDbCommand("SELECT * FROM LSM WHERE Store # = @Store", myConnection) 
     lstscmd.Parameters.AddWithValue("@Store", CInt(gateDBSearch)) 
     dr = lstscmd.ExecuteReader 
     While dr.Read() 

      txtRichInfo.AppendText(dr("Gate Tech").ToString + Environment.NewLine) 
      lblAccessSysChange.Text = dr("Access System").ToString 

     End While 

     myConnection.Close() 
     lblAccessSysChange.Visible = True 

答えて

1

自分のフィールド名に特殊文字が含まれているため、あなたはそれがすべて一つの名前だSQLパーサを伝えるために角括弧でラップする必要があります。

+0

ありがとうございました!同僚と私はすべての別のものを試し続け、それを働かせることができませんでした。これは完全に機能しました! – Joshm

関連する問題