Dim dt As DataTable
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText ="SELECT DISTINCT a1.mandt AS 客户端, a1.lifnr AS 编码, a1.name1 AS 名称, a1.sortl AS 简称, a1.ktokk AS 类型 , decode(ktokk, 'Z001', '供应商_外部', 'Z002', '供应商_内部', 'Z003', '供应商_临时', 'Z004', '供应商_财务', '供应商_其他') AS 类型描述 , a1.erdat AS 创建日期, a1.ernam AS 用户, a3.name_text AS 用户名, a1.ort01 AS 归属地, a1.regio AS 纳税地 , a6.bezei AS 纳税地名, a1.stras AS 纳税号, a1.telf1 AS 电话1, a1.telf2 AS 电话2, a1.stceg AS 地址 , a1.loevm AS 全部删除, a1.sperr AS 财务删除, a1.sperm AS 采购删除, a1.sperq AS 删除代码, a5.kurztext AS 删除原因 F ROM sapprd.lfa1 a1 LEFT JOIN sapprd.usr21 a2 ON a1.ernam = a2.bname AND a2.mandt = '800' LEFT JOIN sapprd.adrp a3 ON a2.persnumber = a3.persnumber LEFT JOIN sapprd.lfb1 a4 ON (a1.lifnr = a4.lifnr AND a4.mandt = '800' AND a4.erdat = a1.erdat) LEFT JOIN sapprd.tq04s a5 ON a1.sperq = a5.sperrfkt AND sprache = '1' LEFT JOIN sapprd.t005u a6 ON (a1.regio = a6.bland AND a6.mandt = '800' AND a6.land1 = 'CN' AND a6.spras = '1') WHERE (a1.loevm <> 'X' AND a1.sperr <> 'X' AND a1.sperm <> 'X')"
dt=cmd.ExecuteReader()
Dim sql ="select * fr om dt where 名称 in (select 名称 fr om dt group by 名称 having count(编码)=1)"
Tables("窗口2_table1").DataSource =dt
Tables("窗口2_table1").Filter=sql
Tables("窗口2_table1").AllowClickSort=True
可以通过上面这个方式实现双击某单元格后加载指定条件的数据