设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 4062|回复: 35
打印 上一主题 下一主题

[Access本身] 鹦鹉学舌地做了一个树控,出问题了,求教各大侠!

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-2 04:30:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的树结构想:修理工程(爷)---服务费用(父N)---系解缆(子N)---船长度(孙N)

其中"爷"叫"修理工程"

父辈列于"工程类别"表;

子辈列于"工程项目"表;

孙辈列于"施工内容"表


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2006-6-2 08:16:00 | 只看该作者
本版面缺乏这方面的高才吗?[em06]

点击这里给我发消息

3#
发表于 2006-6-2 08:38:00 | 只看该作者
要改的地方比较多,包括语法错误,程序错误.
无法一一讲解了,只写了一个例子,在你的基础上.

请看附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
 楼主| 发表于 2006-6-2 08:54:00 | 只看该作者
以下是引用tmtony在2006-6-2 0:38:00的发言:


要改的地方比较多,包括语法错误,程序错误.
无法一一讲解了,只写了一个例子,在你的基础上.

请看附件

[此贴子已经被作者于2006-6-2 1:19:05编辑过]

点击这里给我发消息

5#
发表于 2006-6-2 09:08:00 | 只看该作者
有何不对哦

点击这里给我发消息

6#
发表于 2006-6-2 09:14:00 | 只看该作者
有可以理解错了你原意,但对treeview操作上是类似的,你自己再改改了
7#
 楼主| 发表于 2006-6-2 09:35:00 | 只看该作者
刚学这东西,表达不清!不管怎么说,还是很多谢站长!

我利用了<3小时学会树控>那个热贴作者的范例,现在先转向问另一个可能会"初级"点的问题吧!

就是双击(或单击)最后一级时(如广东省的A公司),如何可令到窗体中右边显示的"客户名称"及"电话号码"这两个内容填充到"客户名录"表中去?

在双击(或单击)事件中这代码怎么写?

求教!





[此贴子已经被作者于2006-6-2 1:57:58编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

8#
发表于 2006-6-2 10:13:00 | 只看该作者
把击代码改了一下,看看是否你需要的。




Private Sub Treeview_NodeClick(ByVal Node As Object)
'* -----------------------------------------------------------------
'*树控件的鼠标点击事件为NodeClick
'* -----------------------------------------------------------------
Dim str As String
Dim blnIsCustomer As Boolean
'* -----------------------------------------------------------------
'*定义一个筛选
'* -----------------------------------------------------------------
If Node.Text = "客户" Or Node.Key Like "父*" Or Node.Key Like "子*" Then
str = ""
'* -----------------------------------------------------------------
'*在第一小时里,我们说了Node有三个东西,图标,文本,索引值
'*文本就是text,索引值就是Key
'这里将就是说当我们点击"爷","父"或"子"层的时候,不筛选窗体
'*这个条件也可写成:If Node.key = "爷" Or Node.Key Like "父*" Or Node.Key Like "子*" Then
'* -----------------------------------------------------------------
Else
str = "[客户名称]='" & Node.Text & "'"
blnIsCustomer = True
End If
Me.Form.FilterOn = True
Me.Form.Filter = str
'*按指定的条件进行窗体筛选
If blnIsCustomer = True Then
CurrentDb.Execute "insert into 客户名录 (客户名称,电话号码) values ('" & Me.客户名称 & "','" & Me.电话号码 & "')"
End If
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9#
 楼主| 发表于 2006-6-2 11:29:00 | 只看该作者
以下问题不大清楚:

1.单击案例能实现目的,但实际操作时,单/双击没区别.

2.将单击案例中的代码照抄到双击子过程中,就出错.

双击:


[此贴子已经被作者于2006-6-2 3:33:16编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

10#
发表于 2006-6-2 18:11:00 | 只看该作者
双击会触发单击事件

因为双击事件没有传递node参数,所以要自己取当前树控中的当前节点,代码改为即可.

Dim str As String
Dim blnIsCustomer As Boolean
Dim Node As Node
Set Node = Me.TreeView.SelectedItem

'* -----------------------------------------------------------------
'*定义一个筛选
'* -----------------------------------------------------------------
If Node.Text = "客户" Or Node.Key Like "父*" Or Node.Key Like "子*" Then
str = ""
'* -----------------------------------------------------------------
'*在第一小时里,我们说了Node有三个东西,图标,文本,索引值
'*文本就是text,索引值就是Key
'这里将就是说当我们点击"爷","父"或"子"层的时候,不筛选窗体
'*这个条件也可写成:If Node.key = "爷" Or Node.Key Like "父*" Or Node.Key Like "子*" Then
'* -----------------------------------------------------------------
Else
str = "[客户名称]='" & Node.Text & "'"
blnIsCustomer = True
End If
Me.Form.FilterOn = True
Me.Form.Filter = str
'*按指定的条件进行窗体筛选
If blnIsCustomer = True Then
CurrentDb.Execute "insert into 客户名录 (客户名称,电话号码) values ('" & Me.客户名称 & "','" & Me.电话号码 & "')"
End If
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-25 13:21 , Processed in 0.113788 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表