Access交流中心

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

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

c豪  发表于:2020-02-09 16:08:15  
复制

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

 

Top
学习 发表于:2020-02-09 19:59:10

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


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

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



c豪 发表于:2020-02-11 21:52:21
不是很理解

chinasa 发表于:2020-02-12 10:43:21


够详细了吧。


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



总记录:3篇  页次:1/1 9 1 :