以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  4月10号版本发现一bug 请官方测试一下  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148556)

--  作者:ap9709130
--  发布时间:2020/4/10 9:07:00
--  4月10号版本发现一bug 请官方测试一下
 老师

    昨天因为电脑问题升级到了最新版.发现了一个bug.

   窗口中的表代码如下:

Tables(e.form.name & "_Tbab").Fill(sql语句,"h",True)

Tables(e.form.name & "_Tbab").SetColVisibleWidth("产品名称|20|企业名称|20|代工企业|20|录入日期|20")
Tables(e.form.name & "_Tbab").DataTable.SysStyles("Normal").FontBold = True
Tables(e.form.name & "_Tbab").DataTable.SysStyles("Alternate").BackColor = Color.SkyBlue
Tables(e.form.name & "_Tbab").AutoSizeCols

其中 sql 语句中用了 Row_Number() 排序 , 打开窗口后 表的列会变成这样.其它的不用 Row_Number() 函数的都正常.请看图:

图片点击可在新窗口打开查看此主题相关图片如下:`6x`b$yolk9f_k1o$a$yf(e.png
图片点击可在新窗口打开查看




--  作者:有点蓝
--  发布时间:2020/4/10 9:12:00
--  
sql语句发上来
--  作者:ap9709130
--  发布时间:2020/4/10 9:17:00
--  
 老师

请看以下的sql语句

s ele ct * from (S ele ct Row_Number() Over(Order by 录入日期 DESC,BAXXDW DESC) As 序号,录入日期,(s elec t[产品名称] from {产品目录} where CPDW = {备案信息目录}.产品名称) as 产品名称,(s ele ct [企业名称] from {企业目录} where QYDW = {备案信息目录}.企业名称) as 企业名称,(s ele ct [备案名称] from {备案目录} where BADW = {备案信息目录}.备案名称) as 备案名称,IIF((s ele ct count(*) from {代工明细} where BAXXDW = {备案信息目录}.BAXXDW) < 2,(se le ct [企业名称] from {企业目录} where QYDW = (se lec t QYDW from {代工明细} where BAXXDW = {备案信息目录}.BAXXDW)),\'多个代工厂,移鼠标看明细\') as 代工企业,BAXXDW,备案日期 From {备案信息目录}) as tmp where 序号 <=  30 * " & ys & " And 序号 > 30 * (" & ys & " - 1) Order by 序号

--  作者:有点蓝
--  发布时间:2020/4/10 10:01:00
--  
这一句代码的原因,一开始列宽设置的太窄,会导致行号拉高,Tables(e.form.name & "_Tbab").AutoSizeCols会导致列拉宽,但是不会自动缩窄行高。把里面的20改为相对大的值如200即可

Tables(e.form.name & "_Tbab").SetColVisibleWidth("产品名称|20|企业名称|20|代工企业|20|录入日期|20")