明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1179|回复: 0

[求助]

[复制链接]
发表于 2005-5-11 16:04:00 | 显示全部楼层 |阅读模式
请教斑竹; 以下是我用VB调用ACCESS数据库的一段程序,前面一段是关于登录窗体的,后面是主窗体.在ACCESS中插入了AutoCAD对象,数据库保存在Template子目录下.与ACCESS的连结通过数据窗体向导实现,许多代码是自动生成.程序调试时提示:数据库路径为不合法路径.且在登陆窗体上输入用户名和密码后提示:密码错误!请斑竹帮忙看一下程序有哪些错误以及还有哪些需要改进的地方. 下面是登录窗体程序: Private Sub cmdCancel_Click()
Unload Me
End Sub Private Sub cmdOK_Click()
On Error Resume Next
Dim sqlstr As String
sqlstr = "select * from 用户表 where 用户名 = '" & Trim(txtUserName.Text) & "'and 密码 = '" & Trim(txtPassword.Text) & "'"
Me.Data1.RecordSource = sqlstr
Me.Data1.Refresh
If Me.Data1.Recordset.RecordCount = 0 Then
MsgBox "密码错误!"
Else
frmMain.Show
Unload Me
End If
End Sub Private Sub Form_Load()
Me.Data1.DatabaseName = App.Path & "\ Template \ 产品图档管理系统97.mdb"
End Sub 以下是主窗体程序:
Private Sub Command1_Click()
Dim str As String
If Combol.Text = " " Or Text1.Text = " " Then
MsgBox "请输入查询条件和内容!"
Exit Sub
End If
str = Combol.Text & "like" & "'" & Text1.Text & "'"
datPrimaryRS.Recordset.Find str
If datPrimaryRS.Recordset.AbsolutePosition < adPosBOF Then
MsgBox "没有相应的记录!"
datPrimaryRS.Recordset.MoveFirst

End If
End Sub Private Sub Form_Load()
Me.datPrimaryRS.ConnectionString = "PROVIDER = Microsoft.Jet.OLEDB.3.51;datasource=" & App.Path & " \template\产品图档管理系统97.mdb;"
Me.datPrimaryRS.RecordSource = "select 备注说明,编号,产品材料,产品名称,产品数量,产品图号,产品图形,绘图比例,绘图人,绘图日期,设计单位,设计人,设计日期,设计文档,审阅人,审阅日期,图形文件名 from 产品图档 Order by 产品图号"
Me.datPrimaryRS.Refresh
End Sub Private Sub Form_Unload(Cancel As Integer)
Screen.MousePointer = vbDefault
End Sub Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)
'This is where you would put error handling code
'If you want to ignore errors, comment out the next line
'If you want to trap them, add code here to handle them
MsgBox "Data error event hit err:" & Description
End Sub Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'This will display the current record position for this recordset
datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'This is where you put validation code
'This event gets called when the following actions occur
Dim bCancel As Boolean Select Case adReason
Case adRsnAddNew
Case adRsnClose
Case adRsnDelete
Case adRsnFirstChange
Case adRsnMove
Case adRsnRequery
Case adRsnResynch
Case adRsnUndoAddNew
Case adRsnUndoDelete
Case adRsnUndoUpdate
Case adRsnUpdate
End Select If bCancel Then adStatus = adStatusCancel
End Sub Private Sub cmdAdd_Click()
On Error GoTo AddErr
datPrimaryRS.Recordset.AddNew Exit Sub
AddErr:
MsgBox Err.Description
End Sub Private Sub cmdDelete_Click()
On Error GoTo DeleteErr
With datPrimaryRS.Recordset
.Delete
.MoveNext
If .EOF Then .MoveLast
End With
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub Private Sub cmdUpdate_Click()
On Error GoTo UpdateErr datPrimaryRS.Recordset.UpdateBatch adAffectAll
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub Private Sub cmdClose_Click()
Unload Me
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 16:35 , Processed in 0.184592 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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