2012-04-03 7 views
0

ネット上で値を編集する方法について検索しましたが、実行したときにエラーが返されず、 vb6が停止し、終了する必要があります。 私は部屋のステータスを「占有」に更新したホテルシステムです。私はここでチェックイン追加する場所、それがvb6を使用してvb6を使用してプログラムをハングアップさせた場合の値の編集

Private Sub cmdAdd_Click() 
Me.AdodcCheckIn.Refresh 
With Me.AdodcCheckIn.Recordset 

.AddNew 
.Fields![Cust_IC] = Me.cIdenfitication 
.Fields![Check_In_Date] = Me.cDateArrive 
.Fields![RoomNo] = Me.cRoomNo 
.Update 
Me.AdodcCheckIn.Refresh 
MsgBox "Guests Are Checked In", vbInformation 
End With 
End Sub 

の検索結果を助けることができるならば、コーディング

Private Sub cmdUpdate_Click() 
Me.AdodcRoomStatus.Refresh 
With Me.AdodcRoomStatus 

    .Recordset.MoveFirst 
    Do Until .Recordset.EOF 
    On Error Resume Next 
    If (.Recordset.Fields![RoomNo] = Me.cRoomNo) Then 
     .Recordset.Fields![RoomStatus].Value = "Occupied" 
     '.Recordset.Fields("RoomStatus").Value = Me.cOccupied 
     .Recordset.Update 
    Else 
    .Recordset.MoveNext 
    End If 
    Loop 
    MsgBox "Changing Room Status Success", vbInformation 
End With 
End Sub 

は次のとおりです。ご宿泊のお客様は、データが入力され、チェックインされます。そして、部屋のステータスを更新します。それはそこにハングするが、値は '占有'にSQL Serverで変更されます。

何か助けていただければ幸いです。

答えて

1

論理的なエラーがあるようです。 cmdUpdate_Click関数では、レコードが更新されると、movenextまたはexitループはありません。 2のどちらかを使用すると、ハング状態になるのをやめてください!

Private Sub cmdUpdate_Click() 
Me.AdodcRoomStatus.Refresh 
With Me.AdodcRoomStatus 

    .Recordset.MoveFirst 
    Do Until .Recordset.EOF 
    On Error Resume Next 
    If (.Recordset.Fields![RoomNo] = Me.cRoomNo) Then 
     .Recordset.Fields![RoomStatus].Value = "Occupied" 
     '.Recordset.Fields("RoomStatus").Value = Me.cOccupied 
     .Recordset.Update 
    .Recordset.MoveNext 
    Else 
    .Recordset.MoveNext 
    End If 
    Loop 
    MsgBox "Changing Room Status Success", vbInformation 
End With 
End Sub 
+0

Thxありがとうございます。それがトリックでした。 – user1309560

+0

あなたは大歓迎です! –

関連する問題