设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: 贫龙
打印 上一主题 下一主题

[帮助] 用IF语句能实现这样的循环吗?

[复制链接]
11#
发表于 2011-12-19 17:03:43 | 只看该作者
本帖最后由 roych 于 2011-12-19 17:08 编辑
贫龙 发表于 2011-12-19 16:12
1-9年级共29个班级

学费:


每个班级没有列出来啊,例如二年级有几个班。
我还是那句话,基础数据还是要处理好,不能一蹴而就的。有时间我再写一个系统给你试试。
12#
 楼主| 发表于 2011-12-19 17:12:25 | 只看该作者
Henry D. Sy 发表于 2011-12-19 16:42
表中学生的记录太少,不足以测试!
仅有的几条记录,还多数是空值
自己想学,不能用这种很不耐烦的态度!



谢谢,我一定提供所有资料。

本帖子中包含更多资源

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

x
13#
 楼主| 发表于 2011-12-19 17:13:38 | 只看该作者
roych 发表于 2011-12-19 17:03
每个班级没有列出来啊,例如二年级有几个班。
我还是那句话,基础数据还是要处理好,不能一蹴而就的。 ...

班级
101班
102班
103班
104班
105班
106班
107班
201班
202班
203班
204班
301班
302班
303班
304班
401班
402班
403班
404班
501班
502班
503班
601班
602班
701班
702班
801班
802班
901班
14#
 楼主| 发表于 2011-12-21 07:58:33 | 只看该作者
有谁可以帮帮我啊{:soso_e149:}{:soso_e150:}
15#
 楼主| 发表于 2011-12-21 07:59:32 | 只看该作者
有谁可以帮帮我啊!?{:soso_e149:}{:soso_e150:}
16#
发表于 2011-12-21 10:40:34 | 只看该作者
贫龙 发表于 2011-12-21 07:59
有谁可以帮帮我啊!?

你都不贴资料,如何帮忙?
17#
 楼主| 发表于 2011-12-21 16:22:10 | 只看该作者
所有的都提供了啊,测试记录也加了。
18#
发表于 2011-12-21 20:31:13 | 只看该作者
贫龙 发表于 2011-12-21 16:22
所有的都提供了啊,测试记录也加了。

应该用表格的方式贴出来
19#
发表于 2011-12-25 18:44:52 | 只看该作者
1、表需要重新设计,带条件的数据应当分离出来(例如资料费、中餐费、学费等),成为独立的一张表。
2、如果非要在选择里统一的话,可以考虑加上计算公式的字段,用Eval函数处理。
先贴一段代码供参考(缴费部分已结束。校车安排、退费等等模块还在写。不过今天是圣诞节,想休息下。):
代码说明:
新建模块,粘贴代码并保存模块,然后新建查询,在查询窗格里输入自定义字段,例如:学费:Schooling([入学日期], [入学班级])

  1. Function Schooling(SclDate As Date, ClassNo As String) As Currency
  2. Schooling = 0
  3. Select Case SclDate
  4.     Case Is < #3/1/2009#
  5.         Select Case ClassNo
  6.             Case "103", "105"
  7.                 Schooling = 1850
  8.             Case "701", "702", "801", "802", "901"
  9.                 Schooling = 2300
  10.             Case Else
  11.                 Schooling = 2000
  12.         End Select
  13.     Case Is < #10/1/2009#
  14.         Select Case ClassNo
  15.             Case "103", "105"
  16.                 Schooling = 2000
  17.             Case "701", "702", "801", "802", "901"
  18.                 Schooling = 2600
  19.             Case Else
  20.                 Schooling = 2400
  21.         End Select
  22.     Case Is < #3/1/2011#
  23.         Select Case ClassNo
  24.             Case "103", "105"
  25.                 Schooling = 2300
  26.             Case "701", "702", "801", "802", "901"
  27.                 Schooling = 3000
  28.             Case Else
  29.                 Schooling = 2700
  30.         End Select
  31.     Case Else
  32.         Select Case ClassNo
  33.             Case "103", "105"
  34.                 Schooling = 3000
  35.             Case "701", "702", "801", "802", "901"
  36.                 Schooling = 3500
  37.             Case Else
  38.                 Schooling = 3100
  39.         End Select
  40. End Select
  41. End Function
复制代码
20#
发表于 2011-12-25 19:38:04 | 只看该作者
个人感觉这样硬编码不好,维护比较困难(比如费用变更)
应该用表来保存这些费用,然后用查询得到费用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 23:12 , Processed in 0.105042 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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