设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3039|回复: 14
打印 上一主题 下一主题

[模块/函数] 如何转换成for ..next i这样的形式(问题已经解决)

[复制链接]
跳转到指定楼层
#
发表于 2008-1-21 16:17:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
原程序如下:

Private Sub Form_Load()
Dim i As Integer

  If (Me.Ctl1月.C) Then
     Me.Ctl1月合计.C
  Else
     Me.Ctl1月合计.C
  End If

If (Me.Ctl2月.C) Then
     Me.Ctl2月合计.C
  Else
     Me.Ctl2月合计.C
  End If
  
   If (Me.Ctl3月.C) Then
     Me.Ctl3月合计.C
  Else
     Me.Ctl3月合计.C
  End If
  
   If (Me.Ctl4月.C) Then
     Me.Ctl4月合计.C
  Else
     Me.Ctl4月合计.C
  End If
  
   If (Me.Ctl5月.C) Then
     Me.Ctl5月合计.C
  Else
     Me.Ctl5月合计.C
  End If


End Sub想要改变成:所有的数据换成I,本人试了好几种都说程序错误

Private Sub Form_Load()
Dim i As Integer
for i=1 to 5

'所有的数据换成变量i,本人试了好几种都说程序错误,我知道现成这种加"i"肯定是错误,就是想把上面N个if语句改成for ..next i这样,请高手帮忙改一下,谢谢了

     If (Me.Ctl"i"月.C) Then
     Me.Ctl"i"月合计.C
  Else
     Me.Ctl"i"月合计.Ci"月])"
  End If
next i
End Sub

[ 本帖最后由 su_xx 于 2008-1-22 15:34 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
14#
 楼主| 发表于 2008-1-22 15:33:35 | 只看该作者
谢谢rjacky版主,问题已经解决
13#
发表于 2008-1-22 15:28:22 | 只看该作者
你的控件名称和你写的不一样

  1. Dim I As Byte
  2. For I = 1 To 5
  3. If Me.Controls(I & "月").ControlSource = "" Then
  4. Me.Controls(I & "月合计").ControlSource = "=0"
  5. Else
  6. Me.Controls(I & "月合计").ControlSource = "=sum([" & I & "月])"
  7. End If
  8. Next I
复制代码
12#
 楼主| 发表于 2008-1-22 14:32:41 | 只看该作者
昨天下班,不能上传,根据版主的例子,还是一样有问题,和我原先出的问题一样,我把mdb上传,请版主查看一下,问题出在哪?

本帖子中包含更多资源

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

x
11#
发表于 2008-1-21 21:40:51 | 只看该作者
是啊,遇上复杂的问题,最好还是上传MDB文件,这样方便测试答案是否有效,不需完整或真正的,简化一下即可
10#
 楼主| 发表于 2008-1-21 18:44:34 | 只看该作者
谢谢楼上的2位版主,哪个发贴代码不知道为什么会变,我第一楼改了8次,在Discuz!代码模式里不会变,在所见既所午模式里发表就会变,不知道什么原因

版主你所说的例子是不是包括窗体,数据源都要的mdb文件??我还以为是程序例子。

[ 本帖最后由 su_xx 于 2008-1-21 18:47 编辑 ]
9#
发表于 2008-1-21 17:59:59 | 只看该作者

本帖子中包含更多资源

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

x
8#
发表于 2008-1-21 17:45:59 | 只看该作者
原来没看清楼主的代码,现做以修正
Private Sub Form_Load()

    Dim I As Byte
    For I = 1 To 5
        If Me.Controls("Ctl" & I & "月").ControlSource = "" Then
            Me.Controls("Ctl" & I & "月合计").ControlSource = "=0"
        Else
            Me.Controls("Ctl" & I & "月合计").ControlSource = "=sum([" & I & "月])"
        End If
    Next I
      
End Sub
7#
发表于 2008-1-21 17:45:54 | 只看该作者
你看我,用图片多好

一来不会改变格式,二来让楼主又能手工敲一遍加强印象和记忆
6#
发表于 2008-1-21 17:43:33 | 只看该作者
R兄的收费估计又要泡汤了.
5#
发表于 2008-1-21 17:42:43 | 只看该作者
晕,转眼间前面又多出只猫咪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-9 21:24 , Processed in 0.115367 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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