设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 808|回复: 5
打印 上一主题 下一主题

谁能把这个例子作出来?

[复制链接]
跳转到指定楼层
1#
发表于 2003-1-14 22:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在作VB里的一个小程序,是这样的:
学校对学习成绩优良的学生将进行奖励,只要满足如下条件的之一就可获奖:
(1)所考的5门课的总成绩超过450分(含450)
(2)每门课的成线都在88分以上(含88)
(3)前三门主课的成绩都在95分之上,其它两非主课的成绩在80以上。
输入学生姓名及各科分数s1.s2.s3.s4.s5.判断它是否能获奖。如获奖请输出学生姓名及各科成绩?
我想把学生姓名及成绩放到access表里怎么作?有其他什么更精典的作法吗?

[em06][em06][em06][em06][em06][em06][em06][em06]


[此贴子已经被作者于2003-1-14 14:27:55编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2003-1-14 22:54:00 | 只看该作者

是不是太简单没有人愿意作啊?

是不是太简单没有人愿意作啊?

肯请各位高手忙里偷闲作一下, 多谢多谢!!!!

点击这里给我发消息

3#
发表于 2003-1-14 22:56:00 | 只看该作者
单纯是输入判断没必要放入表里,如果要统计和以后的查询又另当别论,从你的要求来看用一用IF语句就可以搞定。如果要放入表里用查询就行,在准则里写一写条件。
4#
 楼主| 发表于 2003-1-14 23:03:00 | 只看该作者

我就是想把VB想把VB 里编的程序和access表联接起来,我该怎么做?

我就是想把VB想把VB 里编的程序和access表联接起来,我该怎么做?( 不是在access查询设计的,) 因为我从来就没有作这样的例子, 能就上面这个例子给说一下吗?
5#
发表于 2003-1-15 06:30:00 | 只看该作者
先生成一张表,然后用此表生成一个查询,再在查询中设置条件即可。
6#
发表于 2003-1-16 22:11:00 | 只看该作者
小布点把这个小程序做一下。

在Access建立数据库D:\db1.mdb
建立表student(ID,Name)
建立成绩表Score(id,Subject,Score,SturentID)
起中字段Subject是科目,只有s1,s2,s3,s4,s5等5门课
SturentID是学生ID,来自student表

在VB工程中引用ADO
代码如下:

Dim Conn as new ADODB.CONNECTION

sub Form_load()
'建立数据库连接
Conn.open "rovider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdbersist Security Info=False"
End sub

Sub Commond1_OnClick()
'显示查找符合奖励的学生
Dim rs as new ADODB.RECORDSET
dim sSQL as string

Dim sStudentID as string

'查询得到总分>=450的学生
sSQL="Select studentid  From score  Where (s1+s2+s3+s4+s5)>=450 Order by ScoreSum"

sStudentID=""
rs.open sSQL,Conn,3,1
if not rs.eof
    sStudentID=rs.getstring(adClipString, -1, ",", ",", "0")
end if
rs.close

'查询得到门课分>=88的学生,但不包括上面的得奖学生
sSQL="Select studentid  From score  Where s1>=88 and s2>=88 and s3>=88 and s4>=88 and s5>=88 and studentid Not in(" & sStudentID & ")"

Dim sStudentID1 as string
rs.open sSQL,conn,3,1
if not rs.eof then
  sStudentID1 =rs.getstring(adClipString, -1, ",", ",", "0")
end if
rs.close

dim sTemp as string
Dim sTudentID3 as string

if right(sStudentID,1)="," then sStudentID=mid(sStudentID,1,len(sStudentID)-1)
if left(sStudentID1,1)<>"," then sStudentID1="," & sStudentID1
stemp=sStudentID & sStudentID1

'查询得到门课分>=88的学生,但不包括上面的得奖学生
sSQL="Select studentid  From score  Where s1>=95 and s2>=95 and s3>=95 and s4>=80 and s5>=80 and studentid Not in(" & stemp & ")"

rs.open sSQL,conn,3,1
if not rs.eof then
  sStudentID3 =rs.getstring(adClipString, -1, ",", ",", "0")
end if
rs.close

if right(stemp,1)="," then stemp=mid(stemp,1,len(stemp)-1)
if left(sStudentID3,1)<>"," then sStudentID3="," & sStudentID3

stemp=stemp & sStudentID3  '得到了符合三个条件之一的学生的ID

'下面可以得到学生的姓名及各课的分数
sSQL="Select a.Name,b.s1,b.s2.b.s3,b.s4,b.s5 from student a,score b Where a.id=b.studentid and a.id in(" & stemp & ")
rs.open sSQL,Conn,3,1

do until rs.eof
  debug.print rs("name") & "," & rs("s1") & "," & rs("s2") & "," & rs("s3") & "," & rs("s4") & "," & rs("s5")
  rs.movenext
loop
rs.close







End sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-24 19:11 , Processed in 0.081169 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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