VB.net で現在行っていることに問題があります。MS Access にクエリがあり、VB.net で実行したいと考えています。私のクエリは MS ACCESS で実行されますが、VB で実行しようとすると結果が表示されません。IIFステートメントの真と偽の部分の数字をより低い数字に変更すると、結果が表示されることに気付きました。これが私のコードです。
Imports System.Data.OleDb
Public Class Form1
Dim connect As New OleDb.OleDbConnection
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
connect = New OleDb.OleDbConnection
connect.ConnectionString = "Provider = microsoft.jet.oledb.4.0; data source = E:\Fb1.mdb"
If Not connect.State = ConnectionState.Open Then
connect.Open()
End If
Dim strSQL As String
strSQL = "Select * FROM f_7_fSpecies_new WHERE f7Species Like '*iger';"
Dim ds As New DataSet
Dim dt As New DataTable
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
da = New OleDbDataAdapter("SELECT f7SynonymId, f7Species, Left(f7Species, Len(f7Species)), Right(f7Species, 1), Left(f7Species, Len(f7Species)-IIF(Right(f7Species, 1) In ('a','r'),2,3)) As f7Species_Root " & _
"FROM f_7_fSpecies_new " & _
"WHERE f_7_fSpecies_new.f7Species Like '*iger'; ", connect)
da.Fill(dt)
DataGridView1.DataSource = dt.DefaultView
Me.DataGridView1.DataSource = dt
connect.Close()
End Sub
End Class
基準も結果を示しませんでした。