请教一段代码,谢谢!

tca_02 2010-01-21 09:47:05
Dim daomydb1 As Database
Dim daomyrs1 As Recordset
Dim addbln As Boolean

Private Sub cmdbc_Click()
If Textfj = "" Or Combo1.Text = "" Or Combo2.Text = "" Then
MsgBox "表中的各项内容请填写完整!"
Exit Sub
End If
If addbln = True Then
Set daomyrs1 = daomydb1.OpenRecordset("kf", dbOpenTable)
daomyrs1.AddNew
daomyrs1.Fields("房间") = Textfj.Text
daomyrs1.Fields("类型") = Combo1.Text
daomyrs1.Fields("房态") = Combo2.Text
daomyrs1.Fields("房价") = Textjg.Text
daomyrs1.Fields("配置") = Textpz.Text
daomyrs1.Fields("备注") = Textbz.Text
daomyrs1.Update
Else
Set daomyrs1 = daomydb1.OpenRecordset("kf", dbOpenDynaset)
daomyrs1.FindFirst "房间 like" + Chr(34) + Textfj + Chr(34) + ""
daomyrs1.Edit
daomyrs1.Fields("房间") = Textfj.Text
daomyrs1.Fields("类型") = Combo1.Text
daomyrs1.Fields("房态") = Combo2.Text
daomyrs1.Fields("房价") = Textjg.Text
daomyrs1.Fields("配置") = Textpz.Text
daomyrs1.Fields("备注") = Textbz.Text
daomyrs1.Update
cmdsc.Visible = False
Form1.Height = 3255
End If
controls_state False
End Sub

Private Sub cmdmove_Click(Index As Integer)
With daomyrs1
Select Case Index
Case Is = 0
.MoveFirst
Case Is = 1
.MovePrevious
If .BOF Then
MsgBox "记录已到头!"
.MoveFirst
End If
Case Is = 2
.MoveNext
If .EOF Then
MsgBox "记录已到尾!"
End If
Case Is = 3
.MoveLast
End Select
Call viewdata
Label7.Caption = "共" & .RecordCount & "条记录 第" & .AbsolutePosition + 1 & "条记录"
End With
End Sub

Private Sub cmdqx_Click()
controls_state False
cmdsc.Visible = False
Form1.Height = 3255
End Sub

Private Sub cmdsc_Click()
Set daomyrs1 = daomydb1.OpenRecordset("kf", dbOpenDynaset)
daomyrs1.FindFirst "房间 like" + Chr(34) + Textfj + Chr(34) + ""
daomyrs1.Delete
daomyrs1.Update
cmdmove_Click (2)
End Sub

Private Sub cmdtc_Click()
End
End Sub

Sub controls_state(bval As Boolean)
cmdtj.Enabled = Not bval
cmdxg.Enabled = Not bval
cmdbc.Enabled = bval
cmdqx.Enabled = bval
Textfj.Enabled = bval
Textjg.Enabled = bval
Textpz.Enabled = bval
Textbz.Enabled = bval
Combo1.Enabled = bval
Combo2.Enabled = bval
End Sub

Private Sub cmdtj_Click()
addbln = True
controls_state True
Textfj.Text = ""
Textpz.Text = ""
Textbz.Text = ""
Textfj.SetFocus
End Sub

Private Sub cmdxg_Click()
addbln = False
controls_state True
Form1.Height = 4410
cmdsc.Visible = True
Set daomyrs1 = daomydb1.OpenRecordset("select * from kf order by 房间", dbOpenSnapshot)
Call cmdmove_Click(0)
End Sub

Private Sub Combo2_Click()
Select Case Combo2.ListIndex
Case 0
Textjg.Text = 60
Case 1
Textjg.Text = 80
Case 2
Textjg.Text = 100
Case 3
Textjg.Text = 120
End Select
End Sub

Private Sub Form_Load()
Set saomydb1 = Workspaces(0).OpenDatabase(App.Path & "\db_kfgl.mdb")
controls_state False
Combo1.AddItem "空房", 0
Combo1.AddItem "入住"
Combo1.AddItem "维修"
Combo1.AddItem "打扫中"
Combo1.ListIndex = 0
Combo2.AddItem "普房", 0
Combo2.AddItem "标房"
Combo2.AddItem "双人间"
Combo2.AddItem "套房"
Combo2.ListIndex = 0
Textjg.Text = 60
Me.Height = 3255
End Sub

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Textpz.SetFocus
End Sub
Private Sub Textfj_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Combo2.SetFocus
End Sub
Private Sub Textpz_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Textbz.SetFocus
End Sub
Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Combo1.SetFocus
End Sub
Sub viewdata()
If daomyrs1.Fields("房间") <> "" Then Textfj.Text = daomyrs1.Fields("房间")
If daomyrs1.Fields("类型") <> "" Then Combo1.Text = daomyrs1.Fields("类型")
If daomyrs1.Fields("房态") <> "" Then Combo2.Text = daomyrs1.Fields("房态")
Textfj.Text = daomyrs1.Fields("房价")
If daomyrs1.Fields("配置") <> "" Then Textpz.Text = daomyrs1.Fields("配置") Else Textpz.Text = ""
If daomyrs1.Fields("备注") <> "" Then Textbz.Text = daomyrs1.Fields("备注") Else Textbz.Text = ""
End Sub



这是书上的一个实例,在运行中Set daomyrs1 = daomydb1.OpenRecordset("kf", dbOpenTable)(上面蓝色字体部分代码)总是提示错误:实时错误91,对象变量或with块变量未设置"
谢谢大家的帮助!
...全文
53 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tca_02 2010-01-22
  • 打赏
  • 举报
回复
再次感谢朋友的帮助.自己解决了.
tca_02 2010-01-22
  • 打赏
  • 举报
回复
感谢两位的热心帮助,能否帮我修改下错误的代码,谢谢!
咸清 2010-01-21
  • 打赏
  • 举报
回复
OpenRecordset 函数的参数不正确!请查看OpenRecordset的定义!
luofenghen 2010-01-21
  • 打赏
  • 举报
回复
前面加
Set daomydb1 = OpenDatabase(App.Path & "/novelty.mdb")

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧