看看这段VB错误

我做一个登陆界面,通过和SQLSERVE2000连接。数据库中有用户表。界面上有两个text,两个command:确定、取消。在text1里输入用户名,text2里输入密... 我做一个登陆界面,通过和SQL SERVE 2000连接。数据库中有用户表。界面上有两个text,两个command:确定、取消。在text1里输入用户名,text2里输入密码,连接数据库。还有个adodc控件。属性都设置好了
运行是时候,提示:第一行'*’附近有语法错,然后点确定这个提示窗消失。登陆界面出现,可以输入用户名和密码,输入之后,点‘确定’出现'实时错误‘424’要求对象'这样的提示,是什么原因啊??

Private Sub Command1_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
Dim conn As New ADODB.Connection
conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生选课;Data Source=天辰"
If Trim(Text1.Text) = "" Then
MsgBox "用户名不能为空,请重新输入!"
Text1.SetFocus
Else
sql = "select * from 用户信息 where userid='" & Trim(Text1.Text) & "'"
rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs_login.EOF = True Then
MsgBox "没有这个用户,请重输入!", vbOKOnly + vbExclamation, ""
Text1.Text = ""
Text1.SetFocus
Else
Userid = Text1.Text
If Trim(rs_login.Fields(1)) = Trim(Text2.Text) Then
Unload Me
学生选课.Show
Else
MsgBox "密码不正确,请重输入!", vbOKOnly + vbExclamation, ""
Text2.SetFocus
Text2.Text = ""
End If
End If
End If
cnt = cnt + 1
If cnt = 3 Then
Unload Me
End If

End Sub

Private Sub Command2_Click()
Unload Me
End Sub
展开
 我来答
凌云孤隼
2009-06-07 · TA获得超过223个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:132万
展开全部
错误 424)

引用属性和方法经常需要一个明确的对象限定符。此错误有以下的原因和解决方法:

当引用对象属性或方法时,没有提供正确的对象限定符。
如果没有提供的话,指定一个对象限定符。例如,从窗体的模块中引用窗体属性时,虽然可以省略对象的限定符,但是当从标准模块中引用一个属性时,则必须指定限定符。

提供一个对象限定符,但不能识别出对象。
检查对象限定符的拼写,并确保在所引用的程序中此对象是可见的。在 Collection 对象中,请检查每个 Add 方法的使用,以确保语法应正确,以及所有部件的拼写应正确。

提供了正确的对象限定符,但调用的其他部分有错误。
将非法路径当作主机应用程序中“文件打开”命令的参数会引起错误。请检查参数。

在指定对象的引用时,没有使用 Set 语句。
如果指定 CreateObject 调用的返回值为 Variant 变量,那么如果省略 Set 语句的话,此错误就可能会发生。在以下的代码示例中,创建一 个 Microsoft Excel 隐含实例,且返回 Variant RetVal 的缺省属性 ("Microsoft Excel" 字符串)并赋给 Variant RetVal,然后将 RetVal 当作对象引用时,发生了此错误:

Dim RetVal ' 为一个 Variant。
' 缺省属性赋值为类型 8,即 Variant RetVal。
RetVal = CreateObject("Excel.Application")
RetVal.Visible = True ' 错误在此发生。

当给引用的对象赋值时,请使用 Set 语句。

试图对正常对象执行无效动作时,就会发生此错误。例如,如对只读属性赋值时,就有可能接收到此错误。
请检查对象的文档以确保执行的动作都正确。

也可能是哪儿的名称有问题 前后不一致
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
a1366806740
2009-06-07 · 超过20用户采纳过TA的回答
知道答主
回答量:169
采纳率:0%
帮助的人:55.9万
展开全部
哇 老大 好 复杂 我看得懂 语句 要我 扁 还 是 差异点 火候 爱莫能助 老
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lvfan3204
2009-06-07 · TA获得超过139个赞
知道答主
回答量:129
采纳率:0%
帮助的人:87.4万
展开全部
Private Sub Command1_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
Dim conn As New ADODB.Connection
conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\db1.mdb"
'app.path是一个相对路径需要把程序和数据库放到同一根目录中 上面的意思是连接数据库microsoft-4.0:需要用到工程引用Microsoft a****x- 2.5这里不写全了你可以看下

If Trim(Text1.Text) = "" Then
MsgBox "用户名不能为空,请重新输入!"
Text1.SetFocus
Else
sql = "select * from 用户权限 where 用户名称='" & Trim(Text1.Text) & "'"
rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs_login.EOF = True Then
MsgBox "没有这个用户,请重输入!", vbOKOnly + vbExclamation, ""
Text1.Text = ""
Text1.SetFocus '将游标放到text1中
Else
username = Text1.Text
If Trim(rs_login.Fields(1)) = Trim(Text2.Text) Then '如果记录集中字段的第2项=text2那么

Unload Me '关闭我
仓库管理系统.Show '打开仓库管理系统窗体
Else
MsgBox "密码不正确,请重输入!", vbOKOnly + vbExclamation, ""
Text2.SetFocus
Text2.Text = ""
End If
End If
End If
cnt = cnt + 1 '每点一次确定cnt+1
If cnt = 3 Then
Unload Me
End If
End Sub
我的登录窗体代码你的userid在模块中说明了么事记录当前登陆的用户名的意思么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daofuuq
2009-06-07 · TA获得超过483个赞
知道小有建树答主
回答量:2560
采纳率:0%
帮助的人:923万
展开全部
conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=学生选课;Data Source=天辰"
你连接数据库的路径文件没写?
没源代码不好调试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式