Office中国论坛/Access中国论坛

标题: 报表添加照片出现问题找不到原因? [打印本页]

作者: 付谦    时间: 2021-5-24 10:31
标题: 报表添加照片出现问题找不到原因?
本帖最后由 付谦 于 2021-5-24 10:44 编辑

如题,,报表没有添加照片语句前,一切正常,根据字数决定高度,加入照片语句后,出现二个问题:一是从加第一张照片起,后面所有的人加高一行,没有照片的人也同样加高一行,..二是照片固定占3行高度,如只有2行高太小看不清楚.,但占3行高照片下总有空白,怎么调整去不掉,.,照片左边上下还有短线段,。本人找[url=]世系表问题出在何处.rar[/url]不到原因,请大家帮助解决,谢谢!
作者: tmtony    时间: 2021-5-24 10:34
试试照片 自动增加 自动缩小 属性为是看看
作者: 付谦    时间: 2021-5-24 10:42
本帖最后由 付谦 于 2021-5-24 15:50 编辑

都设置了不起作用
作者: tmtony    时间: 2021-5-24 10:47
无法帮你测试,报表打开 要提示参数,另报表打开后 显示错误
作者: zpy2    时间: 2021-5-24 12:00
建议截图错误,是家族树型展示吗?
作者: 付谦    时间: 2021-5-24 13:04
本帖最后由 付谦 于 2021-5-24 13:09 编辑

我用的是OFF365,重新传附件,直接点报表名称[attach]64066[/attach]




作者: tmtony    时间: 2021-5-24 14:36
直接出错
[attach]64067[/attach]

作者: 付谦    时间: 2021-5-24 15:39
本帖最后由 付谦 于 2021-5-24 15:46 编辑

我电脑上运行是好的,我的压缩文件为WINRWR6.0 64位
代码如下,现象见前介绍
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Dim CtlDetail As Control
Dim intLineMargin As Integer
intLineMargin = 60

For Each CtlDetail In Me.Section(acDetail).Controls
    With CtlDetail
        If CtlDetail.NAME <> "Memo" Then
       Me.Line ((.Left + .Width + intLineMargin), 1)-(.Left + .Width + _
intLineMargin, Me.Height)
        End If
    End With
Next
    With Me
        Me.Line (1, 1)-Step(.Width, .Height), 1, B
    End With
Set CtlDetail = Nothing

End Sub


Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
   Dim P As String
    Dim PP As String
    Dim N As Long
      Me.TEXT0.Width = 0
      TEXT0.TopMargin = 0
      Me.TEXT0.Height = 660
       N = 0
If Len(Me.照片) > 0 Then
       TEXT0.Left = 2787
      Me![img0].Width = 750
      Me![img0].Height = 960
      Me![TEXT1].Height = 960
      Me![TEXT2].Height = 960
      Me.TEXT0.Width = 6310
      ''  PP = DLookup("姓名", "谱打印临时表", "族人代码=" & DLookup("Min([族人代码])", "谱打印临时表"))
     ''   P = CurrentProject.Path & "\" & Forms!家谱管理系统.Text4 & "氏照片\" & Me.照片.Value
        Me![img0].Picture = CurrentProject.Path & "\" & Me.照片.Value
            N = Me.字数 \ 28 + IIf(Me.字数 Mod 28 > 0, 1, 0)
          If N = 1 Then
                TEXT2.TopMargin = 285
                TEXT1.TopMargin = 165
                TEXT0.TopMargin = 285
          ElseIf N = 2 Then
                TEXT2.TopMargin = 190
                TEXT1.TopMargin = 100
                TEXT0.TopMargin = 100
          ElseIf N = 3 Then
                TEXT2.TopMargin = 320
                TEXT1.TopMargin = 320
                TEXT0.TopMargin = 0
          End If
Else
      Me![img0].Width = 0
      Me![img0].Height = 660
      Me![img0].Picture = ""
      Me.TEXT0.Left = 1870
      Me.TEXT0.Width = 7200
      Me![TEXT0].Height = 660
          N = Me.字数 \ 32 + IIf(Me.字数 Mod 32 > 0, 1, 0)
          If N = 1 Then
                TEXT2.TopMargin = 90
                TEXT1.TopMargin = 0
                TEXT0.TopMargin = 180
          ElseIf N = 2 Then
                TEXT2.TopMargin = 90
                TEXT1.TopMargin = 0
                TEXT0.TopMargin = 30
           ElseIf N = 3 Then
                TEXT2.TopMargin = 285
                TEXT1.TopMargin = 165
                TEXT0.TopMargin = 0
          End If
End If

End Sub



作者: 付谦    时间: 2021-5-25 19:13
奇怪,!!!!
以上代码似乎没错,,运行起来从加第一张照片起,后面所有的人均加高一行,没有照片的人也同样加高一行,.并且,照片左边上下还有短线段,。如果照片高占2行,没有问题,正常,如果照片设为3行高就出问题了,原因何在请高手解决




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3