Foxtable(狐表)用户栏目专家坐堂 → 目录树


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

主题:目录树

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/28 21:53:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理202122801.zip


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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/28 22:19:00 [显示全部帖子]

这不是报错,代码里添加的调试框,自己去掉即可

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 15:00:00 [显示全部帖子]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm
msgbox(e.Node.Name)
msgbox(DataTables("分类").DataRows(0)("分类"))
If e.Node.Name = DataTables("分类").DataRows(0)("分类") Then
    If e.Node.Level = 3 Then '如果单击的是第二层节点

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 20:54:00 [显示全部帖子]

msgbox(e.Node.Name)
msgbox(DataTables("分类").DataRows(0)("分类"))
If e.Node.Name = DataTables("分类").DataRows(0)("分类") Then
    If e.Node.Level = 3 Then '如果单击的是第二层节点

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 21:17:00 [显示全部帖子]

如果点击的是第3、4、5层节点,确定他们相等?e.Node.Name = DataTables("分类").DataRows(0)("分类")

msgbox(e.Node.Name = DataTables("分类").DataRows(0)("分类"))

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 22:10:00 [显示全部帖子]

他们一样不相等:e.Node.Nodes(0).Text = DataTables("分类").DataRows(0)("分类")

认真看看26楼代码,看看别人是怎么判断的

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/2 22:08:00 [显示全部帖子]

示例三

通常应该在代码中判断是否找到了符合条件的行,然后再运行后续的代码。
例如要找出最近一次订购产品数量超过1000的订单,并显示订单的日期和客户:

Dim dr As DataRow
dr = 
DataTables("订单").Find("数量 > 1000","日期 Desc")
If 
dr IsNot Nothing Then '如果找到的话
    Output.Show(
"日期:" & dr("日期"))
    Output.Show(
"客户:" & dr("客户"))

End If

如果我们不加上判断,直接:

Dim dr As DataRow
dr = 
DataTables("订单").Find("数量 > 1000","日期 Desc")
Output.Show(
"日期:" & dr("日期"))
Output.Show(
"客户:" & dr("客户"
))

一旦订单表并不存在订购数量超过1000的订单,那么Find方法返回Nothing,导致后续代码运行出错。

Find函数只能找出一条符合条件的行,如果要同时找出所有符合条件的行,可以使用Select方法。


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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/2 22:09:00 [显示全部帖子]

Dim dr1 As DataRow = DataTables("车辆基本信息").Find("分类 = '" & Vals(0) & "' And Year([日期]) = " & Vals(1) & " And Month([日期]) =" & Vals(2) & " And 车牌号码 ='" & Vals(3) & "'")

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/2 23:16:00 [显示全部帖子]

用find就行了,是有多无聊才想到改为select

ElseIf Vals(0) = DataTables("分类").DataRows(1)("分类") Then
dim d1 = New Date(cint(Vals(1)),cint(Vals(2)),1) 
Dim dr1 As DataRow = DataTables("车辆基本信息").Find("分类 = '" & Vals(0) & "' And 日期 >= #" & d1 & "# And 日期 < #" & d1.addmonths(1) & "# And 车牌号码 ='" & Vals(3) & "'")
if dr1 isnot nothing then
tr("分类") = dr1("分类")
tr("车牌号码") = dr1("车牌号码")

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


加好友 发短信
等级:超级版主 帖子:106298 积分:540619 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/3 8:38:00 [显示全部帖子]

msgbox("分类 = '" & Vals(0) & "' And 车牌号码 ='" & Vals(1) & "'")

 回到顶部
总数 44 上一页 1 2 3 4 5 下一页