设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 如何判断质合

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-2 21:40:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lingjiang 于 2011-8-2 21:40 编辑

本人在编程时遇到难题,如附件,想判断指定数字是质数还是合数,是质数在质合判断列显示质数,反之则显示合数,请大家赐教!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-8-2 23:37:41 | 只看该作者
看来LZ要加强循环的学习了……
  1. Sub test()
  2. x = InputBox("请输入您要判断的数字")
  3.   For i = 2 To Int(x ^ (1 / 2))
  4.       If Val(x) Mod i = 0 Then
  5.         MsgBox ("此数为合数")
  6.         Exit Sub
  7.       End If
  8.   Next i
  9.   MsgBox ("此数为质数")
  10. End Sub
复制代码
3#
 楼主| 发表于 2011-8-3 07:46:14 | 只看该作者
此数据库共分两列,数字列输入数字,质合列为判断列,该数是质数还是合数,其结果都要在质合列显示出来
4#
发表于 2011-8-3 13:10:17 | 只看该作者
很简单啊,把这个sub改成Function。做查询的时候,把函数引用进去就好了:
  1. Function NumType(x As Long) As String
  2. Dim i As Long
  3. If x = 1 Then
  4.     NumType = "既非质数亦非合数"
  5. Else
  6.     For i = 2 To Int(x ^ (1 / 2))
  7.         If x Mod i = 0 Then
  8.             NumType = "合数"
  9.             Exit Function
  10.         End If
  11.     Next i
  12.     NumType = "质数"
  13. End If
  14. End Function
复制代码
5#
发表于 2011-8-3 15:28:00 | 只看该作者
roych 发表于 2011-8-3 13:10
很简单啊,把这个sub改成Function。做查询的时候,把函数引用进去就好了:

返回逻辑值为好

点评

只是附件中用的是文本,所以就……我觉得,大家应该学会对把Function和Sub之间的转换和变通。否则,以后还是会出现这种问题。  发表于 2011-8-3 15:35
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-8 19:06 , Processed in 0.169046 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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