添加房间后无法在注册登记内调用
Private Sub DBCombo1_Change()
'查询空闲房间信息
 Data2.RecordSource = "select * from kf where 房间号='" & DBCombo1.Text & "'and 房态='空房'"
 Data2.Refresh
'查询住宿登记信息
 Data1.RecordSource = "select * from djb where 房间号='" & DBCombo1.Text & "'and 标志='1'"
 Data1.Refresh
 If Data2.Recordset.RecordCount > 0 Then
   If Data1.Recordset.RecordCount = 0 Then
     ZSDJ(4).Text = Data2.Recordset.Fields("房间类型")     '赋值给ZSDJ(4)
     ZSDJ(5).Text = Data2.Recordset.Fields("价格")      '赋值给ZSDJ(5)
    Else
     MsgBox ("此房间已占用或停止使用!!")
   End If
 End If
End Sub
Private Sub DBCombo1_KeyDown(KeyCode As Integer, Shift As Integer)
 If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus     'ZSDJ(5)获得焦点
End Sub
Private Sub comdj_Click()
'查询空闲房间信息
Data2.RecordSource = "select * from kf where 房态='空房'"
Data2.Refresh
Data3.RecordSource = "select * from kf where 房态='空房'"
Data3.Refresh
'生成凭证号码
Data1.RecordSource = "select * from djb order by 凭证号码"
Data1.Refresh
If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast
If lsph.Text = "" Then bh.Text = Date & "d" & Format(1, "###000")
If lsph.Text <> "" Then
  y1.Text = Month(Date)
  'y2.Text = Month(Left(lsph.Text, 10))
  If y1.Text = y2.Text Then
    bh.Text = Date & "d" & Format(Val(Right(lsph.Text, 3)) + 1, "###000")
  End If
  If y1.Text <> y2.Text Then
    bh.Text = Date & "d" & Format(1, "###000")
  End If
End If
'清空数据
For i = 0 To 6
  ZSDJ(i).Text = ""
  ZSDJ(i).Enabled = True
Next i
 ZSDJ(8).Text = "": ZSDJ(10).Text = "": ZSDJ(11).Text = "": DBCombo1.Text = "": DBCombo1.Text = ""
 '设置控件有效或无效
 Comok.Enabled = True: Comdj.Enabled = False: Comprint.Enabled = False: ZSDJ(8).Enabled = True
 ZSDJ(10).Enabled = True: ZSDJ(11).Enabled = True: DBCombo1.Enabled = True: Combo1.Enabled = True
 Combo2.Enabled = True: ZSDJ(0).SetFocus     'ZSDJ(0)获得焦点
End Sub
Private Sub comok_Click()
 Dim mydb1 As Database
 Dim myrs1 As Recordset
 Set mydb1 = Workspaces(0).OpenDatabase(App.Path & "\db.mdb")
 Set myrs1 = mydb1.OpenRecordset("djys", dbOpenTable)
 Data1.Recordset.FindFirst "房间号 like" + Chr(34) + DBCombo1.Text + Chr(34) + "and 标志 like" + Chr(34) + "1" + Chr(34) + ""
 If Data1.Recordset.NoMatch Then
  '添加住宿信息
  Data1.Recordset.AddNew
  If bh.Text <> "" Then Data1.Recordset.Fields("凭证号码") = bh.Text
  If ZSDJ(0).Text <> "" Then Data1.Recordset.Fields("姓名") = ZSDJ(0).Text
  If Combo1.Text <> "" Then Data1.Recordset.Fields("证件名称") = Combo1.Text
  If ZSDJ(1).Text <> "" Then Data1.Recordset.Fields("证件号码") = ZSDJ(1).Text
  If ZSDJ(2).Text <> "" Then Data1.Recordset.Fields("详细地址") = ZSDJ(2).Text
  If ZSDJ(3).Text <> "" Then Data1.Recordset.Fields("出差事由") = ZSDJ(3).Text
  If DBCombo1.Text <> "" Then Data1.Recordset.Fields("房间号") = Val(DBCombo1.Text)
  If ZSDJ(4).Text <> "" Then Data1.Recordset.Fields("客房类型") = ZSDJ(4).Text
  If DTP1.Value <> "" Then Data1.Recordset.Fields("住宿日期") = DTP1.Value
  If tim1.Value <> "" Then Data1.Recordset.Fields("住宿时间") = tim1.Value
  If ZSDJ(5).Text <> "" Then Data1.Recordset.Fields("客房价格") = Val(ZSDJ(5).Text)
  If ZSDJ(6).Text <> "" Then Data1.Recordset.Fields("住宿天数") = ZSDJ(6).Text
  If ZSDJ(8).Text <> "" Then Data1.Recordset.Fields("折扣") = ZSDJ(8).Text
  If ZSDJ(7).Text <> "" Then Data1.Recordset.Fields("宿费") = ZSDJ(7).Text
  If Combo2.Text <> "" Then Data1.Recordset.Fields("结款方式") = Combo2.Text
  If ZSDJ(9).Text <> "" Then Data1.Recordset.Fields("应收宿费") = ZSDJ(9).Text
  If ZSDJ(10).Text <> "" Then Data1.Recordset.Fields("预收金额") = Val(ZSDJ(10).Text)
  If DTP2.Value <> "" Then Data1.Recordset.Fields("提醒日期") = DTP2.Value
  If tim2.Value <> "" Then Data1.Recordset.Fields("提醒时间") = tim2.Value
  If DTP3.Value <> "" Then Data1.Recordset.Fields("退宿日期") = DTP3.Value
  If tim3.Value <> "" Then Data1.Recordset.Fields("退宿时间") = tim3.Value
  If ZSDJ(11).Text <> "" Then Data1.Recordset.Fields("备注") = ZSDJ(11).Text
  Data1.Recordset.Fields("日期") = Date
  Data1.Recordset.Fields("时间") = Time
  'Data1.Recordset.Fields("BZ") = Left(Date, 4) & Right(Left(Date, 7), 2) & Right(Date, 2) & Left(Time, 2) & Left(Right(Time, 5), 2)
  Data1.Recordset.Fields("标志") = "1"
  '更新记录
  Data1.Recordset.Update
  '添加住宿预收信息
  myrs1.AddNew
  If bh.Text <> "" Then myrs1.Fields("凭证号码") = bh.Text
  If ZSDJ(0).Text <> "" Then myrs1.Fields("姓名") = ZSDJ(0).Text
  If Combo1.Text <> "" Then myrs1.Fields("证件名称") = Combo1.Text
  If ZSDJ(1).Text <> "" Then myrs1.Fields("证件号码") = ZSDJ(1).Text
  If ZSDJ(2).Text <> "" Then myrs1.Fields("详细地址") = ZSDJ(2).Text
  If ZSDJ(3).Text <> "" Then myrs1.Fields("出差事由") = ZSDJ(3).Text
  If DBCombo1.Text <> "" Then myrs1.Fields("房间号") = Val(DBCombo1.Text)
  If ZSDJ(5).Text <> "" Then myrs1.Fields("客房价格") = Val(ZSDJ(5).Text)
  If DTP1.Value <> "" Then myrs1.Fields("住宿日期") = DTP1.Value
  If tim1.Value <> "" Then myrs1.Fields("住宿时间") = tim1.Value
  If ZSDJ(6).Text <> "" Then myrs1.Fields("住宿天数") = ZSDJ(6).Text
  If Combo2.Text <> "" Then myrs1.Fields("结款方式") = Combo2.Text
  If ZSDJ(8).Text <> "" Then myrs1.Fields("折扣") = ZSDJ(8).Text
  If ZSDJ(7).Text <> "" Then myrs1.Fields("宿费") = ZSDJ(7).Text
  If ZSDJ(9).Text <> "" Then myrs1.Fields("应收宿费") = ZSDJ(9).Text
  If ZSDJ(10).Text <> "" Then myrs1.Fields("预收金额") = Val(ZSDJ(10).Text)
  If DTP2.Value <> "" Then myrs1.Fields("提醒日期") = DTP2.Value
  If tim2.Value <> "" Then myrs1.Fields("提醒时间") = tim2.Value
  If DTP3.Value <> "" Then myrs1.Fields("退宿日期") = DTP3.Value
  If tim3.Value <> "" Then myrs1.Fields("退宿时间") = tim3.Value
  If ZSDJ(11).Text <> "" Then myrs1.Fields("备注") = ZSDJ(11).Text
  myrs1.Fields("日期") = Date
  myrs1.Fields("时间") = Time
 ' myrs1.Fields("BZ") = Left(Date, 4) & Right(Left(Date, 7), 2) & Right(Date, 2) & Left(Time, 2) & Left(Right(Time, 5), 2)
  myrs1.Fields("标志") = "1"
  '更新记录
  myrs1.Update
  '更新房间状态
  Data2.Recordset.FindFirst "房间号 like " + Chr(34) + DBCombo1.Text + Chr(34) + ""
  Data2.Recordset.Edit
  Data2.Recordset.Fields("房态") = "入住"
  Data2.Recordset.Update
 '设置控件有效或无效
  For i = 0 To 6
     ZSDJ(i).Enabled = False
  Next i
  ZSDJ(8).Enabled = False: ZSDJ(10).Enabled = False: ZSDJ(11).Enabled = False
  DBCombo1.Enabled = False: Combo1.Enabled = False
 End If
 Comok.Enabled = False: Comprint.Enabled = True: Comdj.Enabled = True
 Comprint.SetFocus
 
End Sub

解决方案 »

  1.   

    上面的是注册登记
    这是房间添加
    Private Sub comsave_Click()
     '查找客房信息
     Data1.Recordset.FindFirst "房间号 like" + Chr(34) + Texfjh.Text + Chr(34) + ""
     If Data1.Recordset.NoMatch Then
     '添加客房
      Data1.Recordset.AddNew
      If Texfjh.Text <> "" Then Data1.Recordset.Fields("房间号") = Texfjh.Text
      If Combo1.Text <> "" Then Data1.Recordset.Fields("房间类型") = Combo1.Text
      If Combo2.Text <> "" Then Data1.Recordset.Fields("房态") = Combo2.Text
      If Texjg.Text <> "" Then Data1.Recordset.Fields("价格") = Texjg.Text
      If DTP1.Value <> "" Then Data1.Recordset.Fields("营业日期") = DTP1.Value
      If Texsz.Text <> "" Then Data1.Recordset.Fields("使用设置") = Texsz.Text
      If Texpz.Text <> "" Then Data1.Recordset.Fields("配置") = Texpz.Text
      If Texbz.Text <> "" Then Data1.Recordset.Fields("备注") = Texbz.Text
      If Texfjh.Text <> "" Then Data1.Recordset.Fields("标志") = "0"
      Data1.Recordset.Update     '更新记录
      Data1.Refresh
     Else
     '编辑客房信息
      Data1.Recordset.Edit
      If Texfjh.Text <> "" Then Data1.Recordset.Fields("房间号") = Texfjh.Text
      If Combo2.Text <> "" Then Data1.Recordset.Fields("房态") = Combo2.Text
      If Combo1.Text <> "" Then Data1.Recordset.Fields("房间类型") = Combo1.Text
      If Texjg.Text <> "" Then Data1.Recordset.Fields("价格") = Texjg.Text
      If DTP1.Value <> "" Then Data1.Recordset.Fields("营业日期") = DTP1.Value
      If Texsz.Text <> "" Then Data1.Recordset.Fields("使用设置") = Texsz.Text
      If Texpz.Text <> "" Then Data1.Recordset.Fields("配置") = Texpz.Text
      If Texbz.Text <> "" Then Data1.Recordset.Fields("备注") = Texbz.Text
      If Texfjh.Text <> "" Then Data1.Recordset.Fields("标志") = "0"
      Data1.Recordset.Update     '更新记录
      Data1.Refresh
     End If
    '设置控件有效或无效
     Comsave.Enabled = False: Comcancel.Enabled = False
     Comend.Enabled = True: Comdj.Enabled = True
    End Sub