Access VBA質問箱 IV

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

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


2151 / 9994 ←次へ | 前へ→

【11120】Re:一括更新時の連番の振り方
回答  小僧  - 09/4/29(水) 0:47 -

引用なし
パスワード
   ▼マリア さん:
こんばんは。

>> データを一括更新する際
> これがどの様なやり方で行っているかによって

この辺がポイントになってきますね。

AccessVBAにおいての変数は、

・Accessを開いている最中ずっと値を保持する変数
・あるフォームを開いている最中は値を保持する変数
・1つの命令を実行している間のみ値を保持する変数

などを指定できます。

MSサポートオンラインより
Visual Basic for Applications の変数の適用範囲
h tp://support.microsoft.com/kb/141693/ja
(こちらの掲示板は直リンクが禁止ですので、補完して下さい)


データの削除から、データの投入/変更までの間に
いったんAccessを閉じるような操作が入る場合には
変数に値を保持する様な事はできません。


また、プログラム上において
変数を長く保持する様な書き方というのは
余り推奨されておりません。


MSサポートオンラインより
[VBA] Public 宣言された変数の有効期間
h tp://support.microsoft.com/kb/408871/ja


削除 → データの一括投入 → 注文番号の一括変更

の流れが1つのアクションで行われるのであれば
変数を使う方法で問題はないと思います。

特定のフォームを開いている最中に、例えば 

・削除ボタン
・データインポートボタン
・注文番号の一括処理ボタン

などとなっている場合は
フォームレベルで変数を宣言して値を保持する事もできますが、
フォーム上に不可視のテキストボックスを配置して
そこに値を入れておいた方がより無難かもしれません。


データの削除と新データの投入までに
Accessを閉じる可能性がある場合は
面倒でもどこかに記憶させる必要が出てきます。

外部ファイル等でも良いのですが、
Accessというツールを使っている場合には
テーブルに保存するのが一般的ではないかと思われます。


それぞれの場合によってコードも異なってくるので
もう少し詳細をご提示して頂けますでしょうか。


> クエリー上でまとめて付加させたいと思い

注文のデータには Unique(絶対に重複しない)な値がありますでしょうか?

部品コード 数量 発注先コード
A001      1     H001
A001      2     H003
B001      2     H006

のようなデータでしたら特に問題はないのですが、


部品コード 数量 発注先コード
B001      1     H001
B001      1     H001
B001      1     H001

(合計金額がxxxx円を超える場合は
 複数注文書を切らなければいけない…等)

の様なデータがありうる場合には
クエリ一括で注文番号を付加させるのは難しいかと思われます。
(VBAを使って番号を付加する事は可能です。)


また、複数項目の組み合わせで一意になる場合
(部品コード、発注先コードの組み合わせで重複しない、等)

一意になる組み合わせの項目が多いと
処理が遅くなる場合がありますね。


> 色々な書籍を購入してもその辺は掲載せれておりませんでした。

データベースという観点から見た場合。
不要なデータであっても完全に削除する事は
あまりお勧めできない行為であるかもしれません。

いらないデータであっても「削除フラグ」などという項目を作り、
True/False を切り替えることによって
ユーザにはデータを見せないような作りにする事が多々あります。

今回の様な操作はあまり一般的でないため
書籍などにもヒントになるようなものがないのかもしれませんね。

1,209 hits

【11108】一括更新時の連番の振り方 マリア 09/4/27(月) 23:48 質問[未読]
【11114】Re:一括更新時の連番の振り方 小僧 09/4/28(火) 16:13 発言[未読]
【11118】Re:一括更新時の連番の振り方 マリア 09/4/28(火) 22:59 質問[未読]
【11120】Re:一括更新時の連番の振り方 小僧 09/4/29(水) 0:47 回答[未読]
【11123】Re:一括更新時の連番の振り方 マリア 09/4/30(木) 19:55 お礼[未読]

2151 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078197
(SS)C-BOARD v3.8 is Free