You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中OLEDB调用Access的Query2无数据,直接查询有数据的问题

OLEDB访问Access时Query2视图无数据,Access内正常显示

在VB.NET中通过OLEDB访问MS Access数据库时,调用Query2视图后DataGridView无数据显示,但直接在Access中打开该视图能正常看到记录;调用Query1和Query3时DataGridView可正常显示数据,怀疑Query2的SQL存在OLEDB兼容问题。

Query2的SQL代码(Access中)

SELECT EmpID, [Name], TotalCPI, RangeSalary
FROM Query1 AS E INNER JOIN (SELECT Left(RangeCPI,3) AS Start, Mid(RangeCPI,5,3) + 1 AS [End], RangeSalary 
     FROM tblPayrollDecision)  AS PD ON (E.TotalCPI < PD.End) AND (E.TotalCPI >= PD.Start);

VB.NET相关代码

Public Sub filltable(ByVal dtgrd As Object, ByVal design As String)
        Dim publictable As New DataTable
        Try
            da.SelectCommand = cmd
            da.Fill(publictable)
            dtgrd.DataSource = publictable
            Select Case design
                Case "EmpInfo"
                    dtgrd.Columns(0).Visible = False
            End Select
            da.Dispose()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information)
        End Try
    End Sub
Public Sub jokenselect(ByVal sql As String)
        Try
            con.Open()
            With cmd
                .Connection = con
                .CommandText = sql
            End With
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try
        con.Close()
        da.Dispose()
    End Sub
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 jokenselect("Select * From Query2")
   filltable(DataGridView1, "EmpPic")
    End Sub

结果展示

Query2在Access中的正常结果
DataGridView无数据显示
@JoelCoehoorn提供的测试结果

内容的提问来源于stack exchange,提问作者roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:35:20