| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 764 人关注过本帖
标题:关于Do.....loop的问题
只看楼主 加入收藏
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
 问题点数:0 回复次数:3 
关于Do.....loop的问题

Private Sub EBYes_Click()
'============================================================
'判断用户输入的名称和口令是否合法
'首先判断输入的用户名是否存在,如果不存在,给出提示
'如果用户名存在,判断输入口令是否正确,如果错误,给出提示
'如果用户名和口令输入正确,卸载本窗体
'否则,判断是否用完3次机会,并给出相应提示。
'============================================================
Dim Isuser As Boolean
Dim pwd As String
Dim Uname As String
Static sign As Integer '3次机会记录
Uname = Trim(TUname.Text)
pwd = Trim(TPWD.Text)
Isuser = False
'判断用户名和密码是否正确
Do While Not Data1.Recordset.EOF
If Uname = Data1.Recordset.Fields(0) Then '若当前用户名存在
If pwd = Data1.Recordset.Fields("密码") Then
Unload Me
MDIFrm.Show
Exit Sub '若用户名和密码都正确,直接卸载登陆窗体
Else
If Count < 2 Then '如果口令输入错误,给出提示信息
MsgBox "密码错误,请重新输入"
TPWD.Text = ""
TPWD.SetFocus
End If
Isuser = True '标示为合法用户
Exit Do
End If
Data1.Recordset.MoveNext ' 移动到下一条记录
Loop
Count = Count + 1
If Count = 3 Then
MsgBox "由于多次错误,请联系管理员"
End If
If Not Isuser Then
MsgBox "该用户不存在,请确认用户名是否正确"
TUname.Text = ""
TUname.SetFocus
End If
Data1.Recordset.MoveFirst
End Sub

为什么编译时提示 编译错误,loop缺少do?
谢谢哦~

搜索更多相关主题的帖子: loop 
2006-01-13 09:34
moshen62
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-1-12
收藏
得分:0 
Private Sub EBYes_Click()
'============================================================
'判断用户输入的名称和口令是否合法
'首先判断输入的用户名是否存在,如果不存在,给出提示
'如果用户名存在,判断输入口令是否正确,如果错误,给出提示
'如果用户名和口令输入正确,卸载本窗体
'否则,判断是否用完3次机会,并给出相应提示。
'============================================================
Dim Isuser As Boolean
Dim pwd As String
Dim Uname As String
Static sign As Integer '3次机会记录
Uname = Trim(TUname.Text)
pwd = Trim(TPWD.Text)
Isuser = False
'判断用户名和密码是否正确
Do While Not Data1.Recordset.EOF
If Uname = Data1.Recordset.Fields(0) Then '若当前用户名存在
If pwd = Data1.Recordset.Fields("密码") Then
Unload Me
MDIFrm.Show
Exit Sub '若用户名和密码都正确,直接卸载登陆窗体
Else
If Count < 2 Then '如果口令输入错误,给出提示信息
MsgBox "密码错误,请重新输入"
TPWD.Text = ""
TPWD.SetFocus
End If
Isuser = True '标示为合法用户
Exit Do
End If
Data1.Recordset.MoveNext ' 移动到下一条记录
End If '缺少这个 注意缩进
Loop

Count = Count + 1
If Count = 3 Then
MsgBox "由于多次错误,请联系管理员"
End If

If Not Isuser Then
MsgBox "该用户不存在,请确认用户名是否正确"
TUname.Text = ""
TUname.SetFocus
End If
Data1.Recordset.MoveFirst
End Sub


2006-01-13 09:37
kfp_kaka
Rank: 4
等 级:贵宾
威 望:13
帖 子:353
专家分:0
注 册:2006-1-12
收藏
得分:0 
哈哈,你的代码和我的就是不一样,你的看起来好整洁,以后写程序会参考你的格式的了,谢谢哦~

爱一个人不一定要拥有她 拥有一个人就一定要好好的爱她
2006-01-13 10:55
xinfresh
Rank: 4
等 级:贵宾
威 望:13
帖 子:594
专家分:0
注 册:2006-1-13
收藏
得分:0 

每一个层次换行的时候打一个Tab就好了,上下层相联系的对齐,良好的编程习惯很重要


E-mail:xinfresh@QQ:383094053校内:http:///getuser.do?id=234719042
2006-01-13 11:00
快速回复:关于Do.....loop的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011149 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved