找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
宇哥帮你零基础建设外贸独立站
宇哥淘宝虚拟类目-付费微信群
宇哥闲鱼3个月陪跑课
Access数据库-零基础入门课程
Access数据库-自用软件开发课程
Access数据库-即学即用课程
Access数据库-进销存课程
Access数据库-VBA入门课程
Access数据库-陪跑课程
查看: 407|回复: 0

Access教程:用For Next制作九九乘法表(基于VBA语言)

[复制链接]

115

主题

15

回帖

633

积分

管理员

积分
633
发表于 2024-3-7 15:29:25 | 显示全部楼层 |阅读模式
用VB制作九九乘法表是VB编程入门的经典练习之一,通过九九乘法表的制作,可以有效掌握ForNext循环的用法,还能非常直观的观察每一次循环的过程,加深对分步骤ForNext循环的理解。本课程的案例通过Access数据库呈现,课程讲解分为5个部分:
1.完整代码
2.需求讲解
3.代码讲解
4.视频讲解
5.课后作业




学完课程实现的效果
1 完整代码
简单九九乘法表的完整VBA代码(基于Access数据库)如下:

  1. Private Sub Text1_AfterUpdate()

  2. '两次循环,i循环和j循环(但注意i是第2个乘数,j是第1个乘数)
  3. 'i循环换行,j循环做行
  4. '九九乘法表非常好的演示了每次循环过程,很直观,少有的好案例

  5. Dim i As Integer
  6. Dim j As Integer
  7. Dim Str As String

  8.         Str = "" '设定文本起始量为空格

  9.     For i = 1 To Val(Nz(Text1, 1)) '设置第2个乘数,第1层循环
  10.    
  11.         For j = 1 To i '设置第1个乘数,第2层循环
  12.         
  13.             Str = Str & j & "x" & i & "=" & i * j & "  "
  14.             
  15.             '设置每一行的乘法表,注意j在前,i在后
  16.             '注意每次会降j循环结束后,再进行下一次i循环
  17.             'j循环次数由i取值决定
  18.             
  19.         Next
  20.             Str = Str + vbCrLf
  21.             'i循环一次,增加一次回车换行
  22.     Next

  23.         Text2 = Str '将生成的结果赋值给Text2
  24.         Me.Refresh '要实时刷新

  25. End Sub
复制代码


本案例用Access数据库制作的窗体
— 2 —需求讲解
1.用Access数据库制作一个交互的窗体,增添必要的组件,便于人机交互。
2.第一个文本框里输入数字,可以控制九九乘法表的行数。
3.第二个文本框里,显示九九乘法表的生成结果。

3 代码讲解

九九乘法表的基本设计思路:利用两个ForNext循环,大循环i套小循环j,小循环j生成每一行的乘法和结果,大循环i生成各列。构思巧妙、代码简洁、便于理解。
首先,设置变量,i和j是两个循环用的变量,Str是字符串,显示在文本框Text2里用的。
  1. Dim i As Integer
  2. Dim j As Integer
  3. Dim Str As String
  4. Str = "" '设定文本起始量为空格
复制代码

设置变量i循环从1开始,循环到窗体里文本框Text1输入的数字。
j循环从1开始循环到i的数值。注意,要等每次j全部循环完毕,才进行i的下一次循环。这也是ForNext嵌套的规律和巧妙之处。
  1. For i = 1 To Val(Nz(Text1, 1)) '设置第2个乘数,第1层循环
  2.    
  3.         For j = 1 To i '设置第1个乘数,第2层循环
  4.         
  5.             Str = Str & j & "x" & i & "=" & i * j & "  "
  6.             
  7.             '设置每一行的乘法表,注意j在前,i在后
  8.             '注意每次会降j循环结束后,再进行下一次i循环
  9.             'j循环次数由i取值决定
  10.             
  11.         Next
  12.             Str = Str + vbCrLf
  13.             'i循环一次,增加一次回车换行
  14.     Next
复制代码


j循环算式,就是九九乘法的每一行,可以仔细观察这段代码,规律性很强,并不难理解。我们看看每次循环都会发生什么:
第一次循环,i=1,然后:
i=1,j=1,Str=1x1=1
第二次循环,i=2,然后:
j=1 to 2
Str=1x2=2(j=1的情况)j第1次循环,紧接着j会进行第2次循环
Str=1x2=2 2x2=4(j=2的情况,两个算式中间有个空格)注意:j这两个循环是紧挨着的,j循环完毕才进行下一次i循环。
每次j循环结束后,生成了一行算式,然后在i循环里(注意不是j循环),对字符串Str加一次回车操作,Str=Str+vbCrLf,不然乘法算式会挤在一起不好看。VB语言里换行用的是vbCrLf。


本案例有两个文本框,一个输入数字用、一个输出结果用
以此循环往复,第一个文本框输入数字几,i就进行几次循环。
  1. Text2 = Str '将生成的结果赋值给Text2
  2.         Me.Refresh '要实时刷新
复制代码
最后把得到的输出结果显示在Text2里作为答案。
Text1输入数字用,Text2输出答案用。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

access开发
access陪跑
Access进销存
Access即学即用
Access零基础

QQ|小黑屋|宇哥编程论坛 ( 京ICP备2022024677号-2|京公网安备11011202100561号 )

GMT+8, 2024-12-23 11:16 , Processed in 0.235261 second(s), 21 queries .

Powered by 宇哥

© 2001-2024 Discuz! Team.

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