Foxtable(狐表)用户栏目专家坐堂 → [求助] 批量锁行


  共有1968人关注过本帖树形打印复制链接

主题:[求助] 批量锁行

帅哥哟,离线,有人找我吗?
sanny
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
[求助] 批量锁行  发帖心情 Post By:2019/12/28 20:06:00 [只看该作者]

老师,你好,

麻烦帮忙看一下以下代码,最后一句不够准确,当运行完成,只锁住当前一行记录。想要锁住打印出来的所有记录。麻烦了。

 


Dim Book As New XLS.Book(ProjectPath & "Attachments\trading shipping mark.xlsx")
Dim fl As String = ProjectPath & "trading\"&Tables("packinglist_t").current("shippingNo")&"\Box\"& "ShippingNo_"& Tables("packinglist_t").current("shippingNo") & "  BoxNo_" &Tables("packinglist_t").current("boxno") & ".xlsx" 
 

Dim Result As DialogResult

Dim Proc As New Process '打开工作簿

Dim r1 As Row = Nothing
Dim cn1 As Integer = 0
Dim cn2 As Double = 0
Dim cn3 As Double = 0

For i As Integer = 0 To Tables("packinglist_t").Rows.Count - 1

    Dim r As Row = Tables("packinglist_t").Rows(i)
    If r("boxno") = r.Table.current("boxno") AndAlso (r1 Is Nothing OrElse r("ShippingNo") & r("BoxNo") <> r1("ShippingNo") & r1("BoxNo"))
        cn1 += 1
        cn2 += r("Volume_CBM")
        cn3 += r("Gross_weight")

        r1 = r
    End If
Next


vars("总箱数") = cn1
vars("总立方") = cn2
vars("总毛重") = cn3

Dim Sheet As XLS.Sheet = Book.Sheets(0)

If Tables("packinglist_t").current("boxno") = Nothing
    sheet(5,14).value = "<BoxNo is null and (customer <> 'CWA' or customer is null)>"   '客户不是CWA才打印
Else
    sheet(5,14).value = "<BoxNo='" & Tables("packinglist_t").current("boxno") & "' and (customer <> 'CWA' or customer is null)>"   '客户不是CWA才打印
End If


Book.Build() '生成细节区

sheet = Book.Sheets(0)

If FileSys.FileExists(ProjectPath & "trading\"&Tables("packinglist_t").current("shippingNo")&"\Box\"& "ShippingNo_"& Tables("packinglist_t").current("shippingNo") & "  BoxNo_" &Tables("packinglist_t").current("boxno") & ".xlsx")  Then
    Result = Messagebox.Show(Tables("packinglist_t").current("shippingNo") & "  BoxNo_" &Tables("packinglist_t").current("boxno") & ".xlsx"&" 文件已经存在,是否要覆盖?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
       
         Book.Save(fl) '保存工作簿
        Proc.File = fl
        Proc.Start()

      End If
Else
Book.Save(fl) '保存工作簿
Proc.File = fl
Proc.Start()

End If

Tables("Packinglist_t").current.locked = True


 回到顶部
帅哥哟,离线,有人找我吗?
wei0769
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1814 积分:19240 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2019/12/29 13:35:00 [只看该作者]


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

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2019/12/29 18:28:00 [只看该作者]

 

[此贴子已经被作者于2019/12/29 18:34:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
sanny
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/12/29 18:36:00 [只看该作者]

如图,我有合并单元格的。这些打印在一起后要一起锁定。
图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

以下代码是正确的,不过要全部选定后,会锁定。我想只要任意点选其中一条就可以全部锁定。

 

With Tables("Packinglist")
For i As Integer = .Topposition To .bottomposition

.Rows(i).locked = True
Next
End With


[此贴子已经被作者于2019/12/29 18:36:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/29 20:09:00 [只看该作者]

……

vars("总箱数") = cn1
vars("总立方") = cn2
vars("总毛重") = cn3

Dim Sheet As XLS.Sheet = Book.Sheets(0)

dim filter as string = ""

If Tables("packinglist_t").current("boxno") = Nothing
    filter  = "<BoxNo is null and (customer <> 'CWA' or customer is null)>"   '客户不是CWA才打印
Else
    filter  = "<BoxNo='" & Tables("packinglist_t").current("boxno") & "' and (customer <> 'CWA' or customer is null)>"   '客户不是CWA才打印
End If

sheet(5,14).value = filter 

……

Book.Save(fl) '保存工作簿
Proc.File = fl
Proc.Start()

End If

DataTables("packinglist_t").ReplaceFor("_locked",true,filter)


 回到顶部
帅哥哟,离线,有人找我吗?
sanny
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/12/29 20:27:00 [只看该作者]

老师,出现了这个错误了。
图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/29 20:34:00 [只看该作者]

dim filter as string = ""

If Tables("packinglist_t").current("boxno") = Nothing
    filter  = "BoxNo is null and (customer <> 'CWA' or customer is null)"   '客户不是CWA才打印
Else
    filter  = "BoxNo='" & Tables("packinglist_t").current("boxno") & "' and (customer <> 'CWA' or customer is null)"   '客户不是CWA才打印
End If

sheet(5,14).value = "<" & filter & ">"


 回到顶部