以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教,excel 报表相对定位的表达式 要怎么写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193504)

--  作者:kao_go
--  发布时间:2024/9/20 19:26:00
--  请教,excel 报表相对定位的表达式 要怎么写
请教版主:
  第一列的表达式   是这样,<[gg1dm] & "(" & [gg1mc] & ")">
第二列的表达式<[gg1dm+1] & "(" & [gg1mc+1] & ")">   这样不生效,正确的要怎么写
[此贴子已经被作者于2024/9/20 19:26:55编辑过]

--  作者:有点蓝
--  发布时间:2024/9/21 9:03:00
--  
模板发上来看看
--  作者:kao_go
--  发布时间:2024/9/21 9:24:00
--  
相对定位,在表达式中没生效,其他的生效
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:mb-小图册.xlsx


--  作者:有点蓝
--  发布时间:2024/9/21 9:44:00
--  
试试:http://www.foxtable.com/webhelp/topics/2117.htm

<*[gg1dm+1]* & "(" & *[gg1mc+1]* & ")">

--  作者:kao_go
--  发布时间:2024/9/21 9:50:00
--  
可以了,是我没看到下面那条帮助,谢谢蓝版!
--  作者:kao_go
--  发布时间:2024/9/21 10:11:00
--  
甜版,引用图片的,按以下这样写,不生效,
[<*"&&J:\\web\\tupian\\shangpin\\da\\" & *[spdm+1]* & "-" & *[gg1dm+1]* &  ".jpg"*>, 50, 10, 150, 150]
--  作者:有点蓝
--  发布时间:2024/9/21 10:20:00
--  
试试

[<*"&&J:\\web\\tupian\\shangpin\\da\\" & [spdm+1] & "-" & [gg1dm+1] &  ".jpg"*>, 50, 10, 150, 150]

--  作者:kao_go
--  发布时间:2024/9/21 10:22:00
--  
[<*"&&J:\\web\\tupian\\shangpin\\da\\" & [spdm+1] & "-" & [gg1dm+1] &  ".jpg"*>, 50, 10, 150, 150]  这样不生效
--  作者:有点蓝
--  发布时间:2024/9/21 11:57:00
--  
表达式过于复杂,只能使用报表事件处理了

把模板第2、3、4个图片改为

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

然后报表事件BuildDetail代码,注意下面只处理了第2、3个图片,第4个图片的代码自己参考添加

If e.DataRow IsNot Nothing Then
    Dim idx As Integer = Tables("表A").FindRow(e.DataRow)
    If idx > -1 Then
        Dim fla As String = ProjectPath & "Images\\a.jpg"
        Dim flb As String = ProjectPath & "Images\\b.jpg"
        If idx + 1 < Tables("表A").Rows.Count Then
            Dim r As Row = Tables("表A").Rows(idx + 1)
            Dim fl As String = ProjectPath & "Images\\" & r("spdm") & "_" & r("gg1dm") & ".jpg"
            If FileSys.FileExists(fl) Then
                FileSys.CopyFile(fl, fla, True)
            Else
                FileSys.DeleteFile(fla, 2, 2)
            End If
            If idx + 2 < Tables("表A").Rows.Count Then
                r = Tables("表A").Rows(idx + 2)
                fl = ProjectPath & "Images\\" & r("spdm") & "_" & r("gg1dm") & ".jpg"
                If FileSys.FileExists(fl) Then
                    FileSys.CopyFile(fl, flb, True)
                Else
                    FileSys.DeleteFile(fla, 2, 2)
                End If
            Else
                FileSys.DeleteFile(flb, 2, 2)
            End If
        Else
            FileSys.DeleteFile(fla, 2, 2)
        End If
        
    End If
End If