Office中国论坛/Access中国论坛
标题: [求助]这句代码为什么不执行呢!高手请帮忙! [打印本页]
作者: jacken 时间: 2006-5-17 14:54
标题: [求助]这句代码为什么不执行呢!高手请帮忙!
[attach]17821[/attach]
如果有愿意看附件的也可以,这是一个交叉查询的应用示例!在这里面下面的这句代码不执行:
If Not IsNull(Me.Text64) And Not IsNull(Me.Text66) Then
Dim X As String
X = "D" & Me.Text66.Column(1)
MsgBox X
Me.Text68 = X & "([分析结果]!" & Me.Text64 & ", [分析结果],((" & Me.Text64 & ") Is Not Null)"
End If
执行结果为一个文本,不执行其运算(就是ME.TEXT68)这个文本框更新后的执行结果!Me.Text66.Column(1)的值为“sum”、“count”、“avg”等,在VBA中应用就要在前面加一个D。请大侠帮忙,谢谢了!
作者: jacken 时间: 2006-5-17 15:41
沉下来了,顶上去。
作者: jacken 时间: 2006-5-18 00:30
怎么没有人帮忙解决问题呀。
作者: LucasLynn 时间: 2006-5-18 00:38
以下是引用jacken在2006-5-17 6:54:00的发言:
[attach]17821[/attach]
如果有愿意看附件的也可以,这是一个交叉查询的应用示例!在这里面下面的这句代码不执行:
If Not IsNull(Me.Text64) And Not IsNull(Me.Text66) Then
Dim X As String
X = "D" & Me.Text66.Column(1)
MsgBox X
Me.Text68 = X & "([分析结果]!" & Me.Text64 & ", [分析结果],((" & Me.Text64 & ") Is Not Null)"
End If
执行结果为一个文本,不执行其运算(就是ME.TEXT68)这个文本框更新后的执行结果!Me.Text66.Column(1)的值为“sum”、“count”、“avg”等,在VBA中应用就要在前面加一个D。请大侠帮忙,谢谢了!
怎样的提问才能得到最快的帮助,请楼主仔细阅读置顶的帖子。
[此贴子已经被作者于2006-5-17 16:38:27编辑过]
作者: hi-wzj 时间: 2006-5-18 00:47
为什么不直接用透视表呢?
作者: jacken 时间: 2006-5-18 00:54
透视表能够达到这个效果?我觉得透视表不能哦。
作者: LucasLynn 时间: 2006-5-18 00:57
以下是引用jacken在2006-5-17 16:54:00的发言:
透视表能够达到这个效果?我觉得透视表不能哦。
简单说一句“下面的代码不行哦”,别人很难帮助你。
建议你:
1、详细描述错误的状况,包括系统提示的出错信息,出错代码行。
2、最好描述一下引发错误的方法(我看过你的附件,打开窗体没有任何错误,我就马上关闭了)
作者: jacken 时间: 2006-5-18 01:05
[attach]17841[/attach]
如果大家按照我这样选的话,本来红色的框里应该显示结果的,可这里却只显示一个应该执行的语言。请一定帮忙
作者: LucasLynn 时间: 2006-5-18 01:12
以下是引用jacken在2006-5-17 17:05:00的发言:
如果大家按照我这样选的话,本来红色的框里应该显示结果的,可这里却只显示一个应该执行的语言。请一定帮忙
你对代码和字符串的概念相当模糊。
Dim A,B
B=A+1
Debug.Print B
B="A+1"
Debug.Print B
运行一下以上代码,你会知道你的错误在哪里。
作者: jacken 时间: 2006-5-18 01:15
以下是引用LucasLynn在2006-5-17 17:12:00的发言:
你对代码和字符串的概念相当模糊。
Dim A,B
B=A+1
Debug.Print B
B="A+1"
Debug.Print B
运行一下以上代码,你会知道你的错误在哪里
老大,不是模糊,是我根本就没有学过编程。我学的专业是野生动植物保护,我只是半途出来学的。所以有很多问题通过论坛或书来解决的。所以请你帮忙呗
作者: LucasLynn 时间: 2006-5-18 01:20
以下是引用jacken在2006-5-17 17:15:00的发言:
老大,不是模糊,是我根本就没有学过编程。我学的专业是野生动植物保护,我只是半途出来学的。所以有很多问题通过论坛或书来解决的。所以请你帮忙呗
我已经在代码中给你提示了。你运行下,思考下结果吧。
专业并不重要,除非你不打算用Access,否则从今天开始,就把自己当成一个程序员吧。野生动植物保护专业的,一样能学会编程,你也可以。
PS:我是材料工程系毕业的。
[此贴子已经被作者于2006-5-17 17:21:21编辑过]
作者: jacken 时间: 2006-5-18 01:23
看出错误来了,晕,把引号搞错了。对不起。犯了低级错误。检讨。
P.S.:我们整天爬山保护动物,想当程序员难哦。只是工作需要做一些简单的运用罢了。
作者: LucasLynn 时间: 2006-5-18 01:27
以下是引用jacken在2006-5-17 17:23:00的发言:
看出错误来了,晕,把引号搞错了。对不起。犯了低级错误。检讨。
P.S.:我们整天爬山保护动物,想当程序员难哦。只是工作需要做一些简单的运用罢了。
错误要靠自己找出来,映象才深刻,相信你下次不会犯同样的错误了。
[em07]
作者: jacken 时间: 2006-5-18 04:18
错误倒是找出来了,但还是不能解决,老提示类型不匹配,错误13的提示
作者: jacken 时间: 2006-5-18 04:53
标题: 别骂我,帮我解决好吗?
Me.Text68 = Me.Text66.Column(2)("""[分析结果]![" & Me.Text64 & "]""", """[分析结果]""")
执行结果是“运行时错误:13,类型不匹配”,估计是在数据源的时候出错了。请大侠帮忙纠正并通过此来学习!后面如果加上一个IS NOT NULL的条件如何加呀?[attach]17845[/attach]
作者: wuaza 时间: 2006-5-18 05:04
天哪,怎么能这么运算?
建议你从基础学起。
作者: jacken 时间: 2006-5-18 05:08
以下是引用wuaza在2006-5-17 21:04:00的发言:
天哪,怎么能这么运算?
建议你从基础学起。
老大,帮个忙指点一下嘛。我十万火急呀。
作者: wuaza 时间: 2006-5-18 05:20
你的函数名不能再用变量传递了,实在要传递的话只能再自定义一个函数。
当下只能直接写上dsum了。
Me.Text68 = dsum("'" & Me.Text64 & "'", "分析结果")
作者: jacken 时间: 2006-5-18 05:25
以下是引用wuaza在2006-5-17 21:20:00的发言:
你的函数名不能再用变量传递了,实在要传递的话只能再自定义一个函数。
当下只能直接写上dsum了。
Me.Text68 = dsum("'" & Me.Text64 & "'", "分析结果")
老大,要是用户要求dcount或davg喃或者其他的还没有加入列表的喃。这样就没有办法了。
作者: wuaza 时间: 2006-5-18 05:33
用select case 罗列用户的选择,然后分别写上对应的函数。我想只能用这个笨办法了。
作者: jacken 时间: 2006-5-18 05:37
把所有的都列出来,那不是还要做一个选项按钮或者列出所有的可能!这样好麻烦哦!这里我看选择数据源也没有什么问题呀。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |