Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1183 / 2272 ツリー ←次へ | 前へ→

【8383】レコードの移動 ハジメ 06/8/1(火) 15:34 質問[未読]
【8384】Re:レコードの移動 Gin_II 06/8/1(火) 17:11 回答[未読]
【8402】Re:レコードの移動 ハジメ 06/8/3(木) 11:07 質問[未読]

【8383】レコードの移動
質問  ハジメ  - 06/8/1(火) 15:34 -

引用なし
パスワード
   メインフォームで選択条件を入力して、条件に合致するデータをサブフォームに
表示して、更にサブフォームの表示データから任意のデータを選択する処理の
プログラムを作成しています。
 教えて頂きたい処理はサブフォームで1件も選択していない時に
エラーメッセージを出した後、カーソルを1行目(先頭レコード)にsetfocusしたいのでが、最終行にカーソルがあります。
サブフォームのコードは以下の通りです。
  Private Sub 合計個数_Exit(Cancel As Integer)
   Dim DB As Database
   Dim RS As Recordset
   Dim rs_2 As Recordset
   Dim MySQL As String
   Dim Rst3 As Recordset
   Dim 行数 As Integer
   Set DB = CurrentDb
   Set Rst3 = DB.OpenRecordset("wk_印刷用合計デー タ",dbOpenTable) 'IN
   If Nz(Me!選択) = 1 Then
      cnt選択 = cnt選択 + 1
   End If
   MySQL = "select * from Q_印刷用合計データ where 出庫No. = " & Me!出庫No.
    Set RS = DB.OpenRecordset(MySQL)
    If RS.RecordCount = 0 Then
      MsgBox "データ???", vbOKOnly, "SUB"
      Cancel = True
    End If
'------最終行のチェック
    If Me.CurrentRecord = Me.Recordset.RecordCount Then
      If cnt選択 = 0 Then
        MsgBox "1件も選択していません"
        Rst3.MoveFirst    <−−−?
        Exit Sub
      End If
      Me.Parent.cmd印刷.Enabled = True
      Me.Parent.cmd印刷.SetFocus
    End If
 END SUB
上記のコードで最終行の時に1件も選択されていない(cnt選択=0)時に
MoveFirstを書いたのですがここが動作していないと思います。
サブフォームのレコードソースはWK_印刷用データを指定しています。
どうぞ宜しくお教え下さい

【8384】Re:レコードの移動
回答  Gin_II  - 06/8/1(火) 17:11 -

引用なし
パスワード
   > エラーメッセージを出した後、カーソルを1行目(先頭レコード)にsetfocusしたい
> のでが、最終行にカーソルがあります。

フォーム上でのレコードの移動は、GoToRecord メソッドを使います。

【8402】Re:レコードの移動
質問  ハジメ  - 06/8/3(木) 11:07 -

引用なし
パスワード
   ▼Gin_II さん:
>> エラーメッセージを出した後、カーソルを1行目(先頭レコード)にsetfocusしたい
>> のでが、最終行にカーソルがあります。
>
>フォーム上でのレコードの移動は、GoToRecord メソッドを使います。
お返事ありがとう御座います
------最終行のチェック
    If Me.CurrentRecord = Me.Recordset.RecordCount Then
      If cnt選択 = 0 Then
        MsgBox "1件も選択していません"
        DoCmd.GoToRecord acDataForm, "F_選択フォーム", acGoTo, 1
        Me!選択.SetFocus
        Exit Sub
      End If
      Me.Parent.cmd印刷.Enabled = True
      Me.Parent.cmd印刷.SetFocus
    End If
上記のようにコードを挿入して実行しました。
サブフォームだけで実行すると上手く1行目にカーソルは移動しますが、メイン
フォームと連動して実行すると次のようなメッセージが出ます
『実行時エラー '2489' オブジェクトF_選択フォームが開いていません』
すみません。もう少し教えて下さい。お願いします。

1183 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078214
(SS)C-BOARD v3.8 is Free