Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

回复 加入收藏帖  复制
我要提问 帖子上移

access vba 窗体文本框怎么用for或者do循环语句

c豪 等级: 积分:0 金币:0 来自:桂林Access交流中心 发表于:2020-02-09 16:08:15  
楼主

请问大师们access vba 怎么用for循环语句或者是do循环语句写这一段?#(捂脸)将来如果有100个这样的文本框,用if开写不是要写死人啊,这段代码的目的就是为了判断这些文本框是否为空值

 

access培训  诚聘access开发人员

    c豪
      获得社区协助:请教问题(即发帖)1篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Top

扫描下方工作人员的微信二维码加微信,邀您加入Access课堂微信群,进入一个技术交际圈:

网站工作人员微信

学习 等级:普通会员 积分:4 金币:80 来自:北京Access交流中心 发表于2020/2/9 19:59:10 
1楼 得分: 0

我也是水平不咋地,不过这种代码我写过。


sub abc()

首先要定义一个控件

dim ctl as control

接着用for each next语句

for each ctl in currentform

    if ctl.type=vbtextbox then

     if isnull(ctl) then 

        你要做的事情

    end if

    end if

next

sub end

大致结构就是这样,你再找资料慢慢学习



    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    学习
      获得社区协助:请教问题(即发帖)2篇,其中获得解决的1篇;
      协助社区成员:协助他人(即回帖)4篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章2篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
c豪 等级: 积分:0 金币:0 来自:桂林Access交流中心 发表于2020/2/11 21:52:21 
2楼 得分: 0
不是很理解

    c豪
      获得社区协助:请教问题(即发帖)1篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
chinasa 等级:贵宾★★★★★ 积分:932 金币:120 来自:宁波Access交流中心 发表于2020/2/12 10:43:21 
3楼 得分: 0


够详细了吧。


Dim ctl As Access.Control         '定义一个控件变量
Dim i  '假设有10个文本框
i = 0
For Each ctl In Me.Form.Controls  '在窗体中遍历控件
    If ctl.ControlType = 109 Then  '如果控件类型为文本框(109代表文本框)
     MsgBox ctl.Name & "=" & ctl   '跳出该文本框的名字以及内容。你可以根据你的需要,在这里写你需要的代码。
    '_____________________下面这段代码时模拟你打算把指定文本框清空或者更改为你想要的结果_____________________________________________________
    Do Until i > 10  '假设你有10个文本框,文本框的名字前缀相同,后面用不同数字
    If ctl.Name = "Text" & i Then  'Text是你文本框的前缀,后面的i代表你文本框后面的数字,比如你的aa1和ff1
    ctl = Null
    MsgBox "已清空"
    ctl = "xxx"
    MsgBox "已改为xxx"
    End If
    i = i + 1
    Loop
    End If
   '________________________上面这段代码时模拟你打算把指定文本框清空或者更改为你想要的结果_____________________________________________________
i = 0
Next



    很高兴与您就本帖子进行交流,如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,我也将获得2个积分奖励,并不会减少您的积分!
    chinasa
      获得社区协助:请教问题(即发帖)129篇,其中获得解决的128篇;
      协助社区成员:协助他人(即回帖)941篇,其中被设为【最佳答案】的248篇;
      协助我们社区:发布技术文章3篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
总记录:3篇  页次:1/1 9 1 :
您还没有在Access软件网登录不能回复帖子
  • 你没有登录,请点击后面链接登录:登录
  • 如果你没有注册,请点击后面链接注册:注册,注册完成后,请再次访问本页功能。