各们高手,有个问题想请教一下:我在想做一个让两个组合框产生联动效果时当执行到
Set M_rec = Db.OpenRecordset(M_SQL)(第五行)时就出现了,实时错误’424’ 要求对象 的提示,不知道是为什么,麻烦各位高手指点下迷津,Dim Db As Database、Dim M_rec As Recordset、
Dim M_SQL As String已经在别的窗体的通用中定义了,还有在Form_Load中的语句都执行正常,已经将数据库中的信息添加到组合框一(CmbPhoneName)中了谢谢大家了Private Sub CmbPhoneName_Click()
Dim PhoneID As StringM_SQL = "select id from phonesort where phonename='" + CmbPhoneName.Text + "'"
Set M_rec = Db.OpenRecordset(M_SQL)
PhoneID = M_rec!id
M_SQL = "select phonetype from phonetype where phonesortid='" + PhoneID + "'"
Set M_rec = Db.OpenRecordset(M_SQL)
M_rec.MoveLast
M_rec.movefrist
For i = 0 To M_rec.RecordCount - 1
CmbPhoneType.AddItem M_rec!phonetype
M_rec.MoveNext
Next
End Sub
Private Sub Form_Load()
Dim Dbpath As StringDbpath = App.Path + "\phone.mdb" Set Db = DBEngine.Workspaces(0).OpenDatabase(Dbpath)M_SQL = "select phonename from phonesort"
Set M_rec = Db.OpenRecordset(M_SQL)M_rec.MoveLast
M_rec.MoveFirstFor i = 0 To M_rec.RecordCount - 1
CmbPhoneName.AddItem M_rec!phonename
M_rec.MoveNext
Next
End Sub
Set M_rec = Db.OpenRecordset(M_SQL)(第五行)时就出现了,实时错误’424’ 要求对象 的提示,不知道是为什么,麻烦各位高手指点下迷津,Dim Db As Database、Dim M_rec As Recordset、
Dim M_SQL As String已经在别的窗体的通用中定义了,还有在Form_Load中的语句都执行正常,已经将数据库中的信息添加到组合框一(CmbPhoneName)中了谢谢大家了Private Sub CmbPhoneName_Click()
Dim PhoneID As StringM_SQL = "select id from phonesort where phonename='" + CmbPhoneName.Text + "'"
Set M_rec = Db.OpenRecordset(M_SQL)
PhoneID = M_rec!id
M_SQL = "select phonetype from phonetype where phonesortid='" + PhoneID + "'"
Set M_rec = Db.OpenRecordset(M_SQL)
M_rec.MoveLast
M_rec.movefrist
For i = 0 To M_rec.RecordCount - 1
CmbPhoneType.AddItem M_rec!phonetype
M_rec.MoveNext
Next
End Sub
Private Sub Form_Load()
Dim Dbpath As StringDbpath = App.Path + "\phone.mdb" Set Db = DBEngine.Workspaces(0).OpenDatabase(Dbpath)M_SQL = "select phonename from phonesort"
Set M_rec = Db.OpenRecordset(M_SQL)M_rec.MoveLast
M_rec.MoveFirstFor i = 0 To M_rec.RecordCount - 1
CmbPhoneName.AddItem M_rec!phonename
M_rec.MoveNext
Next
End Sub
你确定"phonetype"是一个表吗?
m_rec.close试试或者在
Set M_rec = Db.OpenRecordset(M_SQL) 之前
加入
if m_rec.state=1 then
m_rec.close
end if
Public Db As Database
Public mWrk As Workspace
Public M_rec As RecordsetPrivate Sub CmbPhoneName_Click()
Dim PhoneID As StringM_SQL = "select id from phonesort where phonename='" + CmbPhoneName.Text + "'"
Set M_rec = Db.OpenRecordset(M_SQL)
PhoneID = M_rec!id
M_SQL = "select phonetype from phonetype where phonesortid='" + PhoneID + "'"
Set M_rec = Db.OpenRecordset(M_SQL)
M_rec.MoveLast
M_rec.movefrist
For i = 0 To M_rec.RecordCount - 1
CmbPhoneType.AddItem M_rec!phonetype
M_rec.MoveNext
Next
End Sub
Private Sub Form_Load()
Dim Dbpath As StringDbpath = App.Path + "\phone.mdb" Set mWrk = CreateWorkspace("", "admin", "", dbUseJet)
Set Db = mWrk.OpenDatabase(Dbpath)
M_SQL = "select phonename from phonesort"
Set M_rec = Db.OpenRecordset(M_SQL)M_rec.MoveLast
M_rec.MoveFirstFor i = 0 To M_rec.RecordCount - 1
CmbPhoneName.AddItem M_rec!phonename
M_rec.MoveNext
Next
End Sub
我一开始就把Public M_SQL As String加了一下,不然的是指向M_SQL = "select phonename from phonesort"提示变量未定义
加了后是指在Form_Load上