以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]删除行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108307)

--  作者:江南小镇
--  发布时间:2017/10/19 22:36:00
--  [求助]删除行
老师好,出库。出库明细表在删除最后一行时报错。


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

下面是报错事件里面的代码
    If Forms("出库").opened Then
        If Tables("出库.出库明细").Current IsNot Nothing Then
            Dim pic As WinForm.PictureBox = Forms("出库").Controls("PictureBox2")
            Dim wjm As String = Tables("出库.出库明细").Current("发票原件")
            If wjm.Contains(".") = False Then  \'若文件名不包含.,说明是未知文件
                pic.Image = getimage("other.png")
            Else
                Dim i As Integer = wjm.LastIndexOf(".")
                Dim kzm As String  = wjm.SubString(i+1)
                Dim kzms As String = "swf accdb mdb psd png xls xlsx bmp rar jpg doc docx zip pdf txt ppt exe" \'定义已知扩展名
                If kzms.Contains(kzm) = True Then
                    pic.image = getimage(kzm & ".png")
                Else
                    pic.image = getimage("other.png")
                End If
            End If
        End If
    End If



--  作者:有点甜
--  发布时间:2017/10/19 22:50:00
--  
例子发来瞧瞧
--  作者:江南小镇
--  发布时间:2017/10/19 23:14:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:删除行.rar


--  作者:有点甜
--  发布时间:2017/10/19 23:38:00
--  
If Forms("出库").opened AndAlso e.Table.name = "出库.出库明细" Then
        If Tables("出库.出库明细").Current IsNot Nothing Then
            Dim pic As WinForm.PictureBox = Forms("出库").Controls("PictureBox2")
            Dim wjm As String = Tables("出库.出库明细").Current("发票原件")
            If wjm.Contains(".") = False Then  \'若文件名不包含.,说明是未知文件
                pic.Image = getimage("other.png")
            Else
                Dim i As Integer = wjm.LastIndexOf(".")
                Dim kzm As String  = wjm.SubString(i+1)
                Dim kzms As String = "swf accdb mdb psd png xls xlsx bmp rar jpg doc docx zip pdf txt ppt exe" \'定义已知扩展名
                If kzms.Contains(kzm) = True Then
                    pic.image = getimage(kzm & ".png")
                Else
                    pic.image = getimage("other.png")
                End If
            End If
        End If
    End If

--  作者:江南小镇
--  发布时间:2017/10/20 7:43:00
--  
谢谢老师,另外一个删除按钮报错,如果关联表是空的用删除按钮删除就报错,我想修改代码只提示不报错。

下面是删除按钮代码。
If GetConfigValue("文件夹路径" & ComputerId,"") = "" Then
    MessageBox.Show("请先指定存储路径!","提醒")
    Return
Else
    Dim dlg As new OpenFileDialog
    If dlg.ShowDialog = DialogResult.OK Then
        If Tables("出库.出库明细").Current("发票原件") > "" Then
            Dim Result = MessageBox.Show("是否删除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
            If result = DialogResult.Yes Then
                If FileSys.FileExists(e.Form.Controls("路径1").text & "\\" & Tables("出库.出库明细").Current("发票原件")) Then
                    FileSys.DeleteFile(e.Form.Controls("路径1").text & "\\" & Tables("出库.出库明细").Current("发票原件"), 2, 2)
                End If
            Else
                msgbox("请新增行输入")
                Return
            End If
        End If
        Dim i As Integer = dlg.FileName.LastIndexOf("\\")
        Dim wjm As String = dlg.FileName.SubString(i+1)
        Tables("出库.出库明细").Current("发票原件") = wjm
        e.Form.Controls("文件名1").text = wjm
        FileSys.CopyFile(dlg.FileName,e.Form.Controls("路径1").text & "\\" & wjm,True)
        Functions.Execute("出库票据上传")  \'义函数名
    End If
End If

--  作者:有点甜
--  发布时间:2017/10/20 9:14:00
--  
以下是引用江南小镇在2017/10/20 7:43:00的发言:
谢谢老师,另外一个删除按钮报错,如果关联表是空的用删除按钮删除就报错,我想修改代码只提示不报错。

 

加入判断即可,如

 

If Tables("出库.出库明细").Current Is Nothing Then

    msgbox("表格为空,不能删除")

Else

    \'原来代码

End If


--  作者:江南小镇
--  发布时间:2017/10/20 9:26:00
--  
谢谢老师