Access VBA質問箱 IV

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

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


122 / 500 ページ ←次へ | 前へ→

【10847】毎回単価が変わる在庫管理について
質問  ゆきだるま  - 08/12/10(水) 12:03 -

引用なし
パスワード
   はじめまして。

Accessを最近初めて独学で勉強をしている者なのですが。。。

在庫管理システムのようなものを作成しようと思っているのですが、同じ製品で毎回単価が変わるのですが、その変わる単価ごとに在庫管理をしたいのですが、どのような形式で作成をしていけばよろしいでしょうか?

イメージがわかないので、何かアドバイスを頂けたら嬉しいです。
・ツリー全体表示

【10846】Re:在庫管理をしたいのですが・・・
発言  neptune  - 08/12/9(火) 21:40 -

引用なし
パスワード
   ▼初心者です。 さん:
こんにちは

私もそんなに詳しくはないですが、
>このようなテーブルがあるのですがが、同じ製品番号で尚且つ同じ受入金額
>のものの在庫数を管理したいのですが、どのようにすればよいのでしょうか?
VBAの掲示板ですが。。。。
何が判らないのでしょう?管理といっても余りにも漠然としていて
詳しい識者からのResもつきにくいと思いますよ。

>同じ製品番号で尚且つ同じ受入金額のものの在庫数
を抽出したいのなら標準機能の重複クエリを工夫して出来ませんかね。


気付いた点だけ書くと
勘で書きますが、「テーブルに以下の項目があります。」だけでも、
・・・余り自信はないですが思い付くまま書くとテーブルはこんな
感じなってしまいます。

担当者テーブル
・担当者ID
・担当者
・その他必要情報

製品テーブル
・製品番号
・規格
・製品名
・金額
・その他必要情報

受入テーブル
・受入ID
・担当者ID
・製品番号
・受入個数


払出テーブル
・払出ID
・受入ID ?これは受入と払出の関係がわからない為必要かどうかがわからない。
・払出個数

こういうのを正規化といいます。
「データ 正規化」をキーワードにしてGoogle検索かけて勉強してみて下さい。
これをしとかないと、担当者、製品単価、品番などが改定になった時、
困ってしまいます。

情報はクエリを作成して取り出す
・担当者ID
・担当者
・製品番号
・規格
・製品名
・受入個数
・受入金額
・払出個数
・払出金額

で、ないと経験から言って、後で困ることがあります。
・ツリー全体表示

【10845】在庫管理をしたいのですが・・・
質問  初心者です。  - 08/12/9(火) 18:26 -

引用なし
パスワード
   はじめまして。
少し前からAccessを勉強している者です。

在庫管理のシステムを考えて作っているのですが・・・
テーブルに以下の項目があります。

・担当者ID
・担当者
・製品番号
・規格
・製品名
・受入個数
・受入金額
・払出個数
・払出金額

このようなテーブルがあるのですがが、同じ製品番号で尚且つ同じ受入金額のものの在庫数を管理したいのですが、どのようにすればよいのでしょうか?

お時間がある方で、ご教授していただける方がいたら、とても助かります。
どうぞ宜しくお願い致します。
・ツリー全体表示

【10844】Re:サブフォーム中のコントロール移動
お礼  カダワン  - 08/12/8(月) 11:20 -

引用なし
パスワード
   ▼hatena さん:
ありがとうございました
カンペキでした!
すばらしいです!
レコード数は単純に、表示の際に順番を持たせています。
入力の際原票があって、その形通りに表示を希望して
いるので、合致しない場合は順番を見てEXITしています。
また、よろしくお願いいたします。
・ツリー全体表示

【10843】Re:サブフォーム中のコントロール移動
回答  hatena  - 08/12/7(日) 1:21 -

引用なし
パスワード
   ▼カダワン さん:
>何レコード目かは把握できています。

どのような方法で把握しているのか興味がありますが、

メインフォームのボタンクリック時をきっかけとし、recNumという
変数に何レコード目かの値が入っていると仮定して、

Me.サブフォームコントロール名.SetFocus
Me.サブフォームコントロール名.Form!金額.SetFocus
DoCmd.GoToRecord acActiveDataObject, , acGoTo, recNum


------------------------------
ブログ始めました。hatena Chips
pub.ne.jp/hatena/
------------------------------
・ツリー全体表示

【10842】サブフォーム中のコントロール移動
質問  カダワン  - 08/12/5(金) 19:14 -

引用なし
パスワード
   いつもお世話になっております。
ご教示をお願いいたします。
サブフォームを使って表示している単価、数量、金額が
あるのですが、単価×数量=金額が一致していない金額
フィールドにアイコンを移動したいのです。
先般ご教示いただきました「value」ではセットできない
様です。
何レコード目かは把握できています。
初歩的な質問かもしれませんが教えて頂ければ幸甚です。
どうぞ宜しくお願いいたします。
・ツリー全体表示

【10841】Re:リストボックスの選択のコントロール
お礼  カダワン  - 08/12/5(金) 11:01 -

引用なし
パスワード
   Gin_II さん

すごい!カンペキです。
本当にありがとうございました。
またよろしくお願いします!!
・ツリー全体表示

【10840】Re:開いてるフォームの確認
回答  Gin_II  - 08/12/5(金) 10:30 -

引用なし
パスワード
   >
> の内容で最初の"Forms!フォーム"とは何を指すのでしょうか?
> 私の理解では[フォームA]と[フォームB]があって、そこにそれぞれ[入力値]
> というコントロールがあるとします。

Forms!フォーム名!コントロール名
という書式で記述する必要があります。

で、

> Eval("Forms!フォーム" & IIf(SysCmd(10,2,"フォームA")=1,"A","B") & "!コントロール名")

こちらについては、

Forms!フォームA!コントロール名
Forms!フォームB!コントロール名

のような結果になるように、"A"/"B" の部分を、IIf 関数と、SysCmd 関数を使って
設定しています。


> なので"Forms!フォーム"のフォームが何を指すのか分からなかったので
> 単純に"Forms!"としましたが、間違いでしょうか?

ということで、これでは間違っていますね。
・ツリー全体表示

【10839】Re:開いてるフォームの確認
発言  TATSUYA  - 08/12/5(金) 10:19 -

引用なし
パスワード
   >VBEの画面で、「ツール」→「参照設定」で、参照不可 となっている
>項目があれば、チェックをはずしてみてください。

上記操作で確認しましたが、参照不可となっているチェックはなく
参照しに行く項目が表示されており、全てにチェックを入れても
同じ現象でした。

そこで一つ質問なのですが

Eval("Forms!フォーム" & IIf(SysCmd(10,2,"フォームA")=1,"A","B") & "!コントロール名")

の内容で最初の"Forms!フォーム"とは何を指すのでしょうか?
私の理解では[フォームA]と[フォームB]があって、そこにそれぞれ[入力値]
というコントロールがあるとします。

そうした場合に
Eval("Forms!" & IIf(Syscmd(10,2,"フォームA")=1,"[フォームA]","[フォームB]"
& "![入力値]")とした場合
Syscmd(10,2,"フォームA")=1の場所で開いているフォーム名がフォームAで
あった場合1を返すのでTrue、フォームAでなければNullを返すので1ではない
となり、Trueであった場合クエリの検索条件に
Forms![フォームA]![入力値] が代入されその条件で検索する
でTrueでなければ
Forms![フォームB]![入力値] が代入されその条件で検索する
になると理解しました。

なので"Forms!フォーム"のフォームが何を指すのか分からなかったので
単純に"Forms!"としましたが、間違いでしょうか?
・ツリー全体表示

【10838】Re:リストボックスの選択のコントロール
回答  Gin_II E-MAIL  - 08/12/4(木) 22:11 -

引用なし
パスワード
   > リストボックスで選択した項目を上げ下げするのですが
> 順序コードを書き換え、refreshすることでソート順が
> かわり、見掛け上上下するところまではできましたが、
> 選択バー(黒反転で選択している横帯)が上下せず
> 選択項目が変更してしまします。

最初に、値を変数に入れておき、Refresh したあとに、その変数を
セットしてやるとかでは?

普通に、Value プロパティに代入してみてください。
たぶん、できたような気がしますので ^^;
・ツリー全体表示

【10837】Re:開いてるフォームの確認
発言  Gin_II E-MAIL  - 08/12/4(木) 22:09 -

引用なし
パスワード
   >早速入力してみたのですが「式に未定義関数 Syscmd があります」
>というエラーで実行できませんでした。

あれ。こちらではきちんと動作したんですけどね。
とりあえず、参照設定を確認してみてください。

VBEの画面で、「ツール」→「参照設定」で、参照不可 となっている
項目があれば、チェックをはずしてみてください。
・ツリー全体表示

【10836】リストボックスの選択のコントロール
質問  カダワン  - 08/12/4(木) 16:19 -

引用なし
パスワード
   いつもお世話になっております。
ご教示をお願いいたします。
リストボックスで選択した項目を上げ下げするのですが
順序コードを書き換え、refreshすることでソート順が
かわり、見掛け上上下するところまではできましたが、
選択バー(黒反転で選択している横帯)が上下せず
選択項目が変更してしまします。
上下に動いた項目を選択していないと、ずっと上げて行く
必要があったとき、元の場所を選択し放しなので同じ
項目が行ったり来たりするだけになってしまします。
そこで現状はsendkeyで上下矢印で対応していますが
sendkeyは動きが不安定で、連続した動き等に追いつか
かったり、想定外の動きをします。
そこでVBAでダイレクトに連結列を指定して、特定の
項目を選択するという様なコントロール方法はあるのでしょうか?
教えて頂ければ幸甚です。
どうぞ宜しくお願いいたします。
・ツリー全体表示

【10835】Re:開いてるフォームの確認
発言  TATSUYA  - 08/12/4(木) 12:15 -

引用なし
パスワード
   >Eval("Forms!フォーム" & IIf(SysCmd(10,2,"フォームA")=1,"A","B") & "!コントロール名")
>
>のようにしてみたら、どうでしょうか?

ご回答ありがとうございます。
早速入力してみたのですが「式に未定義関数 Syscmd があります」
というエラーで実行できませんでした。
何か問題あるのでしょうか?
・ツリー全体表示

【10834】Re:開いてるフォームの確認
回答  Gin_II  - 08/12/3(水) 18:10 -

引用なし
パスワード
   > [フォームA]と[フォームB]があるとして
> [フォームA]が開いているときは[フォームA]![値]を
> [フォームB]が開いているときは[フォームB]![値]を
> 代入したいのですが、どういった内容にすればいいのでしょうか?

SysCmd メソッドを利用すると、クエリからでもフォームが開いているか
どうかを確認することができます。

SysCmd(10,2,"フォーム名")
ただ、IIf 関数や、Switch 関数で分岐してやったとしても、すべての式を
評価してしまうため、

Eval("Forms!フォーム" & IIf(SysCmd(10,2,"フォームA")=1,"A","B") & "!コントロール名")

のようにしてみたら、どうでしょうか?
・ツリー全体表示

【10833】開いてるフォームの確認
質問  TATSUYA  - 08/12/3(水) 17:50 -

引用なし
パスワード
   アクセス初心者でよく分からないのでご教授願います。
聞きたい内容ですが、クエリの抽出条件の設定で

[フォームA]と[フォームB]があるとして
[フォームA]が開いているときは[フォームA]![値]を
[フォームB]が開いているときは[フォームB]![値]を
代入したいのですが、どういった内容にすればいいのでしょうか?

よろしくお願いします。
・ツリー全体表示

【10832】Re:メール送信方法
お礼  magmag  - 08/12/3(水) 12:02 -

引用なし
パスワード
   Gin_II さん:

とりあえず、DocmdのSendmail機能でできますよね。
また質問しに来ると思いますが、その際はよろしくお願いしますm(_ _)m


>>フォームに作成したボタンのイベントから、メールを送信したいのですが、
>>その方法を教えて頂けないでしょうか?
>
>BASP21 SendMail
>CDO VBA
>Outlook オートメーション
>
>なんかをキーワードに検索してみてください。
・ツリー全体表示

【10831】Re:メール送信方法
回答  Gin_II  - 08/12/2(火) 22:44 -

引用なし
パスワード
   >フォームに作成したボタンのイベントから、メールを送信したいのですが、
>その方法を教えて頂けないでしょうか?

BASP21 SendMail
CDO VBA
Outlook オートメーション

なんかをキーワードに検索してみてください。
・ツリー全体表示

【10830】Re:クエリの印刷プレビューについて
発言  Gin_II  - 08/12/2(火) 22:41 -

引用なし
パスワード
   >クエリを印刷する際、いつもA4横で印刷するため、毎度、ページ設定でページの
>向きを横に直さなければなりません。
>標準でいつもA4横でプレビューされる設定方法はあるのでしょうか?

Accessの機能ではないと思います。


>なければ、その方法をご存知の方、教えてください。

ないのに、知りたいと?^^;
プリンタの設定自体を変更すれば、もしかしたら可能かも。

コントロールパネルの中の、プリンタとFAX で通常使うプリンタの設定が
されているプリンタのプロパティを表示し、そこで横に設定して確認してみてください。

ただし、できたとしても他のアプリケーションも影響されると思いますけど。

基本的に、クエリではプリンタの設定を記録することができませんので、
通常は、フォームなりレポートなりを使います。
・ツリー全体表示

【10829】クエリの印刷プレビューについて
質問  チャイコフスキー  - 08/12/2(火) 20:39 -

引用なし
パスワード
   クエリで印刷プレビューを開くと、いつもA4縦で表示されます。
クエリを印刷する際、いつもA4横で印刷するため、毎度、ページ設定でページの向きを横に直さなければなりません。
標準でいつもA4横でプレビューされる設定方法はあるのでしょうか?
なければ、その方法をご存知の方、教えてください。
・ツリー全体表示

【10828】Re:複数条件からのレコード抽出
お礼  tori  - 08/12/2(火) 19:36 -

引用なし
パスワード
   ▼Gin_II さん:
>> 入力ミスを防ぐ意味でもリストかチェックボックスを使用して
>>
>> 1.階数 (1階or2階)
>> 2.曜日 (平日or土日祝)
>> 3.状況 (通常or物販)
>> 4.時間帯(午前or午後など)
>
>この条件を入力するコントロールでの設定が分からないということでしょうか?
>
>それぞれのコントロールは、オプショングループを使えばいいと思います。
>(リストボックスでも構いませんが。)
>
>リストボックスであれば、
>
>値集合タイプ:値リスト
>値集合ソース:"平日";"土日祝"
>
>などのように設定すれば、抽出条件でそのまま利用できますね。
>
>オプショングループだと、値は、1,2,3 のようになりますので、
>
>> 曜日 階数 用途 時間帯 金額
>> 平日 1階 通常 午前  1000
>> 平日 1階 通常 午後  1100
>> 平日 1階 通常 夜間  1100
>>       :
>
>このテーブルで、
>
>曜日 階数 用途 時間帯 金額
>平日 1階 通常   1  1000
>平日 1階 通常   2  1100
>平日 1階 通常   3  1100
>      :
>
>のように管理しておけばいいと思います。

アドバイスありがとうございます。
挑戦してみます。
・ツリー全体表示

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