|
▼小僧 さん:
お世話かけています。
コンパイルをして実行しましたが、結果は同じ現象でした。
>Refresh メソッドですと「#Deleted」というのが残ってしまいませんか?
>Requery だと大丈夫だと思うのですが…。
Requeryにすると「#Deleted」が残りました。
>> このIF文の前にMSGBOXを試しに挿入すると、
>> 挿入したMSGBOXの行で同じく発生します。
MSGBOX me!選択 と挿入しました。(説明洩れでした)
取敢えず選択のところはコメントにして実行することにしました。
Private Sub 選択_Exit(Cancel As Integer)
' If Nz(Me!選択) <> 1 Then
' Me!個数.TabStop = False
' Me!枚数.TabStop = False
' Else
' Me!個数.TabStop = True
' Me!枚数.TabStop = True
' End If
End Sub
そして、枚数を入力した時に入力値とデータの枚数が異なればその行の背景色を
変えるようにしたら、別の現象が出ました。
サブフォームの背景色の変更は条件付書式設定で行っています
Private Sub 枚数_Exit(Cancel As Integer)
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim MySQL As String
Set DB = CurrentDb
MySQL = "select * from Q_荷札用合計データ where 出庫No. = " & Me!出庫No.
Set RS = DB.OpenRecordset(MySQL)
If RS.RecordCount = 0 Then
Cancel = True
Else
If (Me!枚数 <> RS!枚数) Then
Me!選択 = "1" '←この行の背景色を変えるため
End If
End If
'------最終行のチェック
If Me.CurrentRecord = Me.Recordset.RecordCount Then
Me.Parent.cmd印刷.Enabled = True
Me.Parent.cmd印刷.SetFocus
End If
End Sub
上記のようなコードで表示されている枚数と異なる枚数を入力するとカーソルは
移動せずに枚数のところで動きません。カーソルは表示されています。
ENTERキーを押下すると画面の下に「計算中」と一瞬表示されます。
つづいて、
' If (Me!枚数 <> RS!枚数) Then
’ Me!選択 = "1" '←この行の背景色を変えるため
' End If
コメントにすると上記のような現象は出ずに次行にカーソルは進みます。
以上のようなことですので、よいアドバイスをお願いします。
|
|