マイクロソフトアクセスで、レコードを編集するフォームを作成すると、編集するレコードの最終レコードの次ページに、新規追加ページがでる。
たちが悪いのは、マウスホイールを回転させると、その新規追加画面をめくってしまうこと。あわてているうちに、余計なデータを追加してしまう。オートナンバーで番号をつけている場合はたちが悪い。その誤って入力したデータの番号は、使用済み番号となってしまうからだ。
この問題を解くには以下の2つの手段がある。
1.マウスのホイール機能を無効にする。
マウスホイールを無効化するテクニックは以下に http://www.accessclub.jp/bbs2/0027/beginter08905.html
2.マクロで、フォームを開く時、値の代入により追加を無効にする。
「フォームを開く」 ・・・「データモード」を「編集」に設定
「値の代入」・・・「[Forms]![*****].[AllowAdditions] を「NO」に設定。
*****にはフォーム名
Windows Vista ノートパソコンへ乗り換えましたが、使い勝手をよくするにはいろいろ手間かかりますね。記録を公開します。
右欄に目次を用意しました。必要な個所をクリックしてご覧ください。また、情報収集用の検索コーナーを設置しておりますのでご利用ください。
Windows Vista (ノートパソコン)活用術 フィード・ティッカー
2007年9月10日月曜日
アクセス レポートで附番
レポートで出力されるレコードに順番に番号を振るテクニック。
順番を振る番号を表示する非連結のテキストボックスを配置する。
そのプロパティに以下を設定する。
1.コントロールソースを「=1」とする。
2.集計実行を「全体」とする。
なお、グループ毎に番号をつける場合は2.集計実行を「グループ全体」とする
順番を振る番号を表示する非連結のテキストボックスを配置する。
そのプロパティに以下を設定する。
1.コントロールソースを「=1」とする。
2.集計実行を「全体」とする。
なお、グループ毎に番号をつける場合は2.集計実行を「グループ全体」とする
ラベル:
3.3ソフトウェア アクセス
2007年7月7日土曜日
アクセス メモ
アクセスでのシステム構成上気になったことをランダムに記載する。
UNIONはレコードのフィールドタイトルが一致していなければいけない。
追加クエリは特定の項目だけの追加でもOKである。
この性質は、オートナンバーの開始を任意に決めたいときなどに利用できる。 追加クエリの追加する開始したい番号のレコードをひとつだけ作ったテーブルを作成し、それを追加クエリで、番号を設定したいテーブルに追加すると、オートナンバーの番号はその番号になる。
なお、オートナンバーの開始数字の変更では、いくつか注意しておくことも必要だ。ただフィールドをそこのみで行おうとすると、ほかのフィールドで値要求などを設定していると、値が無いと受け入れてもらえないので要注意である。増えていくと取り消せないようである。テーブルのオートナンバーを別のデータ形式にして、再度オートナンバーにしてもカウントは消えない。
オートナンバーの番号をクリアするには以下の手順で行う。なお、必ずデータベースのバックアップを取っておくこと。また、この作業の期間に他の人がデータベースを使うようなことがないことを確認すること。
1.テーブルのコピーを作成。
2.テーブルの全てのデータを消去。
3.ここで、「ツール⇒データベースユーティリティ⇒最適化/修復」を行う。
4.テーブルのコピーのオートナンバーをはずして、振りたい番号を振っておく。
5.そのテーブルのコピーを基の(データを消去した)テーブルに追加クエリで追加する。
6.結果がうまくいっているか、基の(データを消去した)テーブルを見て確認。
クエリは、リレーショナンを設定したテーブルが増えると失敗する傾向が圧倒的に高くなる。INNERJOIN、LEFTJOINN、RIGHTJOINNの関係を常に意識することが大事だ。
また、テーブルをやたらと増やせないという関係から、クエリ-サブクエリ1-サブクエリ2・・・・・という感じで、階層を作っていくしかないようである。
フォームには、ベース部分でテーブルの関係を設定してやる必要がある。この部分は前述のクエリと同様の注意が必要である。すなわちフォームは、フォームの中の各項目をテーブル、クエリ、自分の中のフォームのクエリの3つに設定できる。
なお、テーブル自体には、演算能力は基本的に無い。
演算はクエリの仕事である。
逆にフォームでテーブルを開くと、データの訂正はできるが、クエリの場合レコードセットを「スナップショット」にするとデータ訂正はできない(ダイナセットにすると修正可能である)。なお、ユニオンクエリではデータ訂正はできない。
マクロで、フォームのクエリや各フィールドの設定を変えるときは、値の代入による。
UNIONはレコードのフィールドタイトルが一致していなければいけない。
追加クエリは特定の項目だけの追加でもOKである。
この性質は、オートナンバーの開始を任意に決めたいときなどに利用できる。 追加クエリの追加する開始したい番号のレコードをひとつだけ作ったテーブルを作成し、それを追加クエリで、番号を設定したいテーブルに追加すると、オートナンバーの番号はその番号になる。
なお、オートナンバーの開始数字の変更では、いくつか注意しておくことも必要だ。ただフィールドをそこのみで行おうとすると、ほかのフィールドで値要求などを設定していると、値が無いと受け入れてもらえないので要注意である。増えていくと取り消せないようである。テーブルのオートナンバーを別のデータ形式にして、再度オートナンバーにしてもカウントは消えない。
オートナンバーの番号をクリアするには以下の手順で行う。なお、必ずデータベースのバックアップを取っておくこと。また、この作業の期間に他の人がデータベースを使うようなことがないことを確認すること。
1.テーブルのコピーを作成。
2.テーブルの全てのデータを消去。
3.ここで、「ツール⇒データベースユーティリティ⇒最適化/修復」を行う。
4.テーブルのコピーのオートナンバーをはずして、振りたい番号を振っておく。
5.そのテーブルのコピーを基の(データを消去した)テーブルに追加クエリで追加する。
6.結果がうまくいっているか、基の(データを消去した)テーブルを見て確認。
クエリは、リレーショナンを設定したテーブルが増えると失敗する傾向が圧倒的に高くなる。INNERJOIN、LEFTJOINN、RIGHTJOINNの関係を常に意識することが大事だ。
また、テーブルをやたらと増やせないという関係から、クエリ-サブクエリ1-サブクエリ2・・・・・という感じで、階層を作っていくしかないようである。
フォームには、ベース部分でテーブルの関係を設定してやる必要がある。この部分は前述のクエリと同様の注意が必要である。すなわちフォームは、フォームの中の各項目をテーブル、クエリ、自分の中のフォームのクエリの3つに設定できる。
なお、テーブル自体には、演算能力は基本的に無い。
演算はクエリの仕事である。
逆にフォームでテーブルを開くと、データの訂正はできるが、クエリの場合レコードセットを「スナップショット」にするとデータ訂正はできない(ダイナセットにすると修正可能である)。なお、ユニオンクエリではデータ訂正はできない。
マクロで、フォームのクエリや各フィールドの設定を変えるときは、値の代入による。
ラベル:
3.3ソフトウェア アクセス
登録:
投稿 (Atom)