過去ログ

                                Page     506
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼フォームビューのレコード順について  若葉 04/2/6(金) 20:18
   ┗Re:フォームビューのレコード順について  かみちゃん 04/2/6(金) 20:41
      ┗Re:フォームビューのレコード順について  若葉 04/2/6(金) 20:50
         ┗Re:フォームビューのレコード順について  かみちゃん 04/2/6(金) 21:32
            ┗Re:フォームビューのレコード順について  若葉 04/2/7(土) 9:36
               ┗Re:フォームビューのレコード順について  かみちゃん 04/2/7(土) 10:03
                  ┣Re:フォームビューのレコード順について  かみちゃん 04/2/7(土) 11:25
                  ┃  ┗Re:フォームビューのレコード順について  若葉 04/2/7(土) 11:34
                  ┣Re:フォームビューのレコード順について  若葉 04/2/7(土) 11:30
                  ┗新規レコードへの移動について  若葉 04/2/7(土) 12:04
                     ┗Re:新規レコードへの移動について  かみちゃん 04/2/7(土) 13:14
                        ┗ありがとうございます!  若葉 04/2/7(土) 13:23

 ───────────────────────────────────────
 ■題名 : フォームビューのレコード順について
 ■名前 : 若葉
 ■日付 : 04/2/6(金) 20:18
 -------------------------------------------------------------------------
   初歩的な質問だったらすみません。

はじめて顧客管理システムを作成しています。
一覧から変更したい顧客を選択して、顧客の個別情報をフォームビューで
表示させるというよくあるソフトです。

フォームビューはレコードソースに顧客マスタテーブルをセットして
いるので、全顧客のレコードが顧客CD順(例えば1〜1000)に
読み込まれています。

ここで、質問なのですが顧客CDが500番の顧客を選択して、
1番ではなく500番の顧客データをフォームビューで
表示させるにはどうすればよろしいですか?
指定したページまで早送りという風にしたいのですが。。。
どうか教えてください。
よろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : かみちゃん  ■日付 : 04/2/6(金) 20:41  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>ここで、質問なのですが顧客CDが500番の顧客を選択して、
>1番ではなく500番の顧客データをフォームビューで
>表示させるにはどうすればよろしいですか?
>指定したページまで早送りという風にしたいのですが。。。

質問内容がよくわからないのですが・・・
現状は、顧客CDが500番なのに、1番の顧客データが表示されてしまうということですか?
テーブルがどういようになっているのかわからないので、なんとも言えませんが、リレーションとかの問題ではないでしょうか?

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : 若葉  ■日付 : 04/2/6(金) 20:50  -------------------------------------------------------------------------
   早速のお返事ありがとうございます。
説明の仕方が悪くてごめんなさい。

フォームビューを開いたときに、指定した顧客(CD:500)のレコードに
フォーカスを移動させて表示させたいのです。
『次へ』の移動ボタンを押したら「501」、「502」となり、
『前へ』の移動ボタンを押したら「499」、「498」となるようにです。

この顧客テーブルはフォームのプロパティ設定のレコードソースで
セットしています。
なので普通にフォームを開いたらCD:1から表示されてしまうのです。

これで分かっていただけましたか?
初心者なもので説明が下手ですみません。
またよろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : かみちゃん  ■日付 : 04/2/6(金) 21:32  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>フォームビューを開いたときに、指定した顧客(CD:500)のレコードに
>フォーカスを移動させて表示させたいのです。
>『次へ』の移動ボタンを押したら「501」、「502」となり、
>『前へ』の移動ボタンを押したら「499」、「498」となるようにです。

ありがとうございます。理解できました。
これは、フォームのRecordsetオブジェクトのFindFirstメソッドを使えばできます。
とりあえず、次のURLを参考にしてみてください。
http://homepage1.nifty.com/tsware/tips/tips_243.htm
また、以下のURLには、サンプルがあります。
http://www.vector.co.jp/soft/win95/business/se105662.html

何かわからないところがあれば、この続きに質問してください。
今の段階では、検索条件を入れて、サブフォームに表示しているのか、別フォームに表示しているのかがわからないので、このあたりまでしかコメントできません。

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : 若葉  ■日付 : 04/2/7(土) 9:36  -------------------------------------------------------------------------
   かみちゃん、ありがとうございました!
教えられた通りにしてみたらできました。

もう1つ質問なのですが、今度は[新規登録]ボタンを押して
レコードの最終行+1に移動させたいのです。
移動ボタンの右端を押した場合と同じ動作です。
これはどうするのでしょうか?
[確定]ボタンを押すまでは、レコードは追加させたくないのですが。。。

教えてもらったURLの内容も調べたのですが、見当たりませんでした。
またまた初歩的な質問ですがよろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : かみちゃん  ■日付 : 04/2/7(土) 10:03  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>もう1つ質問なのですが、今度は[新規登録]ボタンを押して
>レコードの最終行+1に移動させたいのです。
>移動ボタンの右端を押した場合と同じ動作です。
>これはどうするのでしょうか?
>[確定]ボタンを押すまでは、レコードは追加させたくないのですが。。。

フォームにある入力用のテキストボックスを作ってあると思うのですが、これは、連結テキストボックスですか?非連結テキストボックスですか?
「[確定]ボタンを押すまでは、レコードは追加させたくない」のであれば、連結テキストボックスの場合は、「登録中止」で登録した内容を削除するなど一工夫いると思います。

なお、フォームを開くと同時に新規レコードに移動する方法は、次のURLが参考になると思いますが、これを応用できると思います。
http://homepage1.nifty.com/tsware/tips/tips_129.htm

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : かみちゃん  ■日付 : 04/2/7(土) 11:25  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>「[確定]ボタンを押すまでは、レコードは追加させたくない」のであれば、連結テキストボックスの場合は、「登録中止」で登録した内容を削除するなど一工夫いると思います。

「顧客テーブルはフォームのプロパティ設定のレコードソースでセット」しているということですので、連結テキストボックスを使っていると思われるのですが、この場合、入力し始めると即テーブルに反映されてしまいます。
したがって、「[確定]ボタンを押すまでは、レコードは追加させたくない」というのは、できないので、「登録中止」ボタンを作って、反映されてしまったレコードを削除(現在のレコードを削除)する必要があると思います。
その方法については、以下のURLを参考にしてください。
http://www.accessclub.jp/runcommand/acCmdDeleteRecord.html

ポイントは、
DoCmd.RunCommand acCmdDeleteRecord    'カレント行の削除
ですので、これ一行だけの記述でとりあえずできます。
確認メッセージが出るのをとめるのであれば、
DoCmd.SetWarnings False          'メッセージ出力=OFF
DoCmd.RunCommand acCmdDeleteRecord    'カレント行の削除
DoCmd.SetWarnings True           'メッセージ出力=ON
とすれば、できます。

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : 若葉  ■日付 : 04/2/7(土) 11:34  -------------------------------------------------------------------------
   またもや、かみちゃんありがとうございます!

レコード削除の件、勉強になりました。
レコードセットのdeleteメソッドを使用するよりも、
カレントレコードの削除なら
DoCmd.RunCommand acCmdDeleteRecord    'カレント行の削除
の方が明らかに簡単ってことですよね。

まだ削除機能を作ってないので、使わせていただきます!

 ───────────────────────────────────────  ■題名 : Re:フォームビューのレコード順について  ■名前 : 若葉  ■日付 : 04/2/7(土) 11:30  -------------------------------------------------------------------------
   かみちゃん早速のお返事ありがとうございました。

教えてもらったURLに書いてたみたいですね。
早速試してみます!
(一応質問する前に検索してみたんだけど。。。すみません)

>フォームにある入力用のテキストボックスを作ってあると思うのですが、これは、連結テキストボックスですか?非連結テキストボックスですか?
>「[確定]ボタンを押すまでは、レコードは追加させたくない」のであれば、連結テキストボックスの場合は、「登録中止」で登録した内容を削除するなど一工夫いると思います。
>

レコード更新されてしまうと困るので、非連結にしていて、
コードで値を1つずつセットしています。

>なお、フォームを開くと同時に新規レコードに移動する方法は、次のURLが参考になると思いますが、これを応用できると思います。
>http://homepage1.nifty.com/tsware/tips/tips_129.htm

ありがとうございます!
これからtryしてみます!!

 ───────────────────────────────────────  ■題名 : 新規レコードへの移動について  ■名前 : 若葉  ■日付 : 04/2/7(土) 12:04  -------------------------------------------------------------------------
   教えてもらったやり方で簡単にできました。
ありがとうございます。

すみません。もう1つ質問なのですが、
例えば顧客10人のデータを上記の方法で表示させる場合、
11番目が新規レコードとなりますよね。
10人のデータは、サブルーチンを呼んで値をセットしているのですが、
11人目のデータは初期値をセットするサブルーチンを呼びたいのです。
11人目を区別する方法はありますか?
レコード件数を取得して、レコードが移動するごとにカウントする
しか方法はないのでしょうか?

すみませんが、よろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:新規レコードへの移動について  ■名前 : かみちゃん  ■日付 : 04/2/7(土) 13:14  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>例えば顧客10人のデータを上記の方法で表示させる場合、
>11番目が新規レコードとなりますよね。
>10人のデータは、サブルーチンを呼んで値をセットしているのですが、
>11人目のデータは初期値をセットするサブルーチンを呼びたいのです。
>11人目を区別する方法はありますか?

CurrentRecord プロパティで現在のレコード番号が取得できます。
たとえばこんな感じです。
 MsgBox Me.CurrentRecord
CurrentRecord プロパティの詳しい説明は、ヘルプ情報を見てください。

また何かわらなければ、質問してください。

 ───────────────────────────────────────  ■題名 : ありがとうございます!  ■名前 : 若葉  ■日付 : 04/2/7(土) 13:23  -------------------------------------------------------------------------
   こんにちは、かみちゃん。
ありがとうございました。

初歩的な質問ばかりでごめんなさい。
また分からないことがあればUPしますので、そのときは
よろしくお願いしまう。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 506