Access VBA質問箱 IV

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

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


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

【4644】こんなことはできますか?修正について
質問  カナ  - 05/3/18(金) 10:01 -

引用なし
パスワード
   おはようございます。

メーカーテーブルと詳細テーブルってのがあったとして、メーカーテーブルにはIDとメーカー名が、詳細テーブルにはIDが入っています。

修正画面で、詳細テーブルの内容を修正/更新させたいのですが、メーカー名はメーカーテーブル・メーカー名の範囲のメーカー名をコンボボックスで選択させたいのですが、どのようにしたらいいのか・・・。
(フォームを開いたときは修正前のメーカー名が入っていてほしい。修正がない場合もありえるから。)
・ツリー全体表示

【4643】ありがとうです。
発言  カナ  - 05/3/18(金) 9:55 -

引用なし
パスワード
   2週間ほど、他部署にいたので、この作業はやってませんでした。
いつも本当にありがとうです。

とりあえず、また今日からこの作業に戻りますので、また
質問させてください。

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

【4642】クエリの違い
発言  初心者  - 05/3/18(金) 9:34 -

引用なし
パスワード
   普通のクエリとパススルークエリの違いを教えてください。
・ツリー全体表示

【4641】Re:抽出条件
回答  Gin_II  - 05/3/18(金) 9:22 -

引用なし
パスワード
   3月の場合だけで説明します。

> 月=3
> IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
>     IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,

これはどういった意味ですか?

> 月が"3"の時は、今月の数値が"50"以上だった場合
> もしくは今月,1ヶ月前,2ヶ月前,3ヶ月前,4ヶ月前,5ヶ月前の値を参照して、
> "50"以上が2回以上あれば"1"を設定、そうでなければ"0"を設定

この日本語での説明と変わっていません??

[月]が3であれば、[今月] の数値だけを確認すればいいですよね?
3月じゃなかった場合、[今月]〜[5ヶ月]までの中で、50以上が2つあれば
いいってことですよね?


とりあえず、試してみて、結果が違っているのなら、どう違うのかを
説明してください。
・ツリー全体表示

【4640】Re:抽出条件
質問  [名前なし]  - 05/3/18(金) 8:55 -

引用なし
パスワード
   わかりずらくてすみません。

月=3
IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
    IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,
月=2
IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
    IIF([4ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,    
月=1
IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
    IIF([今月]>50,1,0)>=2,
月=12
IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,
  
月=11
IIF(IIF([1ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,

みないな感じがいいのですが・・・
度々すみません。


▼Gin_II さん:
>うーんと。。よく意味が理解できないのですが。。。^_^;
>とりあえず、この部分の解説をしておきます。
>
>> IIF([月] In(1,2,3,12,11) AND [今月]>=50,
>
>これは、
>IIF([月] = 1 Or [月] = 2 Or [月] = 3 Or [月] = 12 Or [月] = 11) AND [今月]>=50,
>という意味です。
>
>なので、月が 1,2,3,11,12 のどれかで、今月 が 50以上なら、必ず 1 になるはずです。
>
>
>あと、
>>   IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
>>     IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)>=2,
>これじゃ、やっぱりダメですね (^^ゞ
>
>[今月] も含めてやる必要があります。
>
>  IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
>    IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,
・ツリー全体表示

【4639】Re:抽出条件
回答  Gin_II  - 05/3/18(金) 2:58 -

引用なし
パスワード
   うーんと。。よく意味が理解できないのですが。。。^_^;
とりあえず、この部分の解説をしておきます。

> IIF([月] In(1,2,3,12,11) AND [今月]>=50,

これは、
IIF([月] = 1 Or [月] = 2 Or [月] = 3 Or [月] = 12 Or [月] = 11) AND [今月]>=50,
という意味です。

なので、月が 1,2,3,11,12 のどれかで、今月 が 50以上なら、必ず 1 になるはずです。


あと、
>   IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
>     IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)>=2,
これじゃ、やっぱりダメですね (^^ゞ

[今月] も含めてやる必要があります。

  IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
    IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)+IIF([今月]>50,1,0)>=2,
・ツリー全体表示

【4638】Re:抽出条件
質問  初心者です。  - 05/3/18(金) 1:41 -

引用なし
パスワード
   どうもありがとうございます。
ただ疑問な点があるのですが、
下記の場合だと、月が"3"の時は良いと思うのですが、
月がその他の場合でも5ヶ月前まで計算してしまうのではないでしょうか?
例えば、月が"11"の時は、

IIF([月]11) AND [今月]>=50,
  1,
  IIF(IIF([1ヶ月前]>=50,1,0)))

みたいな感じにしなくてよいのでしょうか?
もし間違ったことを言っていたらすみません。


▼Gin_II さん:
>>「テーブルA」から「テーブルB」のテーブルを作りたいのですが、「テーブルB」の
>> フラグの設定の条件で悩んでいます。
>
>IIF([月] In(1,2,3,12,11) AND [今月]>=50,
>  1,
>  IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
>    IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)>=2,
>    1,
>    0
>    )
>  )
>
>で、どうでしょうか?
>#見検証です ^_^;
> 実際には、1行で記述してください。
・ツリー全体表示

【4637】Re:抽出条件
回答  Gin_II  - 05/3/18(金) 1:07 -

引用なし
パスワード
   >「テーブルA」から「テーブルB」のテーブルを作りたいのですが、「テーブルB」の
> フラグの設定の条件で悩んでいます。

IIF([月] In(1,2,3,12,11) AND [今月]>=50,
  1,
  IIF(IIF([1ヶ月前]>=50,1,0)+IIF([2ヶ月前]>=50,1,0)+IIF([3ヶ月前]>=50,1,0)+
    IIF([4ヶ月前]>=50,1,0)+IIF([5ヶ月前]>=50,1,0)>=2,
    1,
    0
    )
  )

で、どうでしょうか?
#見検証です ^_^;
 実際には、1行で記述してください。
・ツリー全体表示

【4636】抽出条件
質問  初心者です。  - 05/3/17(木) 23:49 -

引用なし
パスワード
   はじめまして、わからないことがあるので教えて下さい。
「テーブルA」から「テーブルB」のテーブルを作りたいのですが、「テーブルB」のフラグの設定の条件で悩んでいます。
フラグの設定の条件は、
    月が"3"の時は、今月の数値が"50"以上だった場合
    もしくは今月,1ヶ月前,2ヶ月前,3ヶ月前,4ヶ月前,5ヶ月前の値を参照して、"50"以上が2回以上あれば"1"を設定、そうでなければ"0"を設定

    月が"2"の時は、今月の数値が"50"以上だった場合
    もしくは今月,1ヶ月前,2ヶ月前,3ヶ月前,4ヶ月前の値を参照して、"50"以上が2回以上あれば"1"を設定、そうでなければ"0"を設定

    月が"1"の時は、今月の数値が"50"以上だった場合
    もしくは今月,1ヶ月前,2ヶ月前,3ヶ月前の値を参照して、"50"以上が2回以上あれば"1"を設定、そうでなければ"0"を設定

    月が"12"の時は、今月の数値が"50"以上だった場合
    もしくは今月,1ヶ月前,2ヶ月前の値を参照して、"50"以上が2回以上あれば"1"を設定、そうでなければ"0"を設定

    月が"11"の時は、今月の数値が"50"以上だった場合
    もしくは今月,1ヶ月前の値を参照して、"50"以上が2回以上あれば"1"を設定、そうでなければ"0"を設定

    月が"10"の時は、今月の数値が"50"以上だった場合は"1"を設定、そうでなければ"0"を設定

    ※「テーブルA」の項目の「月」の値は全レコード一緒
    処理を行う月が3月なら"3"、4月なら"4"

以上です。
よろしくお願いします。


テーブルA                                        
月 社員ID 氏名 今月 1ヶ月前 2ヶ月前 3ヶ月前 4ヶ月前 5ヶ月前    
3   1  前野  0    35    35    40    10    20    
3   2  井沢  60    5    15    40    45    35    
3   3  田中  20    15    40    55    15    90    
3   4  田辺  30    35    20    15    80    35    
3   5  竹田  40    20    50    40    70    65    
3   6  木下  50    55    65    70    60    55    
3   7  岩下  10    95    60    60    50    60    
3   8  神谷  30    65    45    35    10    40    
3   9  柴崎  60    0    20    60    40    65    
3   10  増田  30    40    60    20    70    40    
                                        
    ↓            
                                        
テーブルB
ID    氏名    フラグ                        
1    前野    0
2    井沢    1
3    田中    1
4    田辺    0
5    竹田    1
6    木下    1                        
7    岩下    1
8    神谷    0                        
9    柴崎    1
10   増田    1
・ツリー全体表示

【4635】Re:AccessVBAからExcelの標準モジュールを...
回答  Gin_II  - 05/3/17(木) 23:24 -

引用なし
パスワード
   > wkb.Excel4MacroSheets.Application.ExecuteExcel4Macro ("Sheet1マクロ名")
>
> Call wkb.Application.ActiveWorkbook.SaveAs _
>       (Filename:=ファイルB)

ここらへんがおかしいような。。

Application = xlsApp ですよね。

wkb.Excel4MacroSheets.ExecuteExcel4Macro ("Sheet1マクロ名")

とかじゃないのかな?
#見検証です。
・ツリー全体表示

【4634】AccessVBAからExcelの標準モジュールを呼...
質問  VBA初心者  - 05/3/17(木) 22:44 -

引用なし
パスワード
   Accessで抽出したデータをExcelに貼り付け、それをグラフ化するモジュールをExcelのVBAで作成しています。
Excelへのデータ出力まではできますが、モジュールが呼び出し出来ていないようで、グラフができません。
手動でマクロを実行するとうまくいくのですが。。。

Set wkb = xlsApp.Workbooks.Open(Filename:=xlsFile)
wkb.Excel4MacroSheets.Application.ExecuteExcel4Macro ("Sheet1.マクロ名")

↑こんなふうに書いています

また、これを含め・・・
++++++++++++++++++++++++++++++
Set Rs1 = db.OpenRecordset(StrSql).Clone
Set xlsApp = CreateObject("Excel.Application")

xlsFile = ファイルA 'Excel File

Set wkb = xlsApp.Workbooks.Open(Filename:=xlsFile)


wkb.Worksheets("Sheet1").Range("A1") _
              .CopyFromRecordset Data:=Rs1


wkb.Excel4MacroSheets.Application.ExecuteExcel4Macro ("Sheet1マクロ名")

Call wkb.Application.ActiveWorkbook.SaveAs _
      (Filename:=ファイルB)

Let xlsApp.Visible = True
Let xlsApp.UserControl = True

Set wkb = Nothing
Set xlsApp = Nothing
Set Rs1 = Nothing
++++++++++++++++++++++++

このように実行すると、プロセス[EXCEL.EXE]がずっと残ってしまいます。
何か足りないものがあるのでしょうか?
おしえてください。
よろしくお願いします。

以上
・ツリー全体表示

【4633】Re:条件付の自動採番について
回答  小僧  - 05/3/17(木) 20:52 -

引用なし
パスワード
   ▼CONDOR さん:
こんばんわー。

あまり綺麗なやり方ではないので、
他の方の意見も参考にしてくださいな。

やり方は先ほどと同じく、
SQLビューに貼り付けるやり方です。

SELECT A_TBL.伝票No, DCount("*","A_TBL","行No <= " & [行No] & " And 伝票No =" & [伝票No]) AS New行No
FROM A_TBL;

こんな感じでいかがでしょうか?
・ツリー全体表示

【4632】Re:条件付の自動採番について
質問  CONDOR  - 05/3/17(木) 19:31 -

引用なし
パスワード
   >小僧 さん

わかりにくいですよね。
申し訳ございません。

伝票No 行No
000000    01
000001    01
000001    02
000001    03
000001    04
000001    05
000001    06
000001    07
000003    01
000003    02
000003    03
000003    04
000006    01
000006    02
000006    03
000006    04
000006    05
000006    06
000006    07
000006    08
000006    09
000006    10
000006    11
000006    12
000009    01
000009    02
000009    03
000009    04
000009    05
000012    01
000012    02
000012    03
000012    04
000012    05
000012    06
000012    07
000012    08
000012    09
000012    10
000012    11
000012    12
000012    13

このようなテーブルがあり、
1.伝票Noが変わった際には行Noは01から
2.行Noは最大が13になるように
自動で採番したいのですが、
どのようにすればよろしいのでしょうか。
ちなみに伝票Noの行が13を超えることはないので
伝票Noを増やしたりすることはありません。

すみません。
こんなカンジでわかりますでしょうか
よろしくお願い申し上げます
・ツリー全体表示

【4631】Re:条件付の自動採番について
発言  小僧  - 05/3/17(木) 16:02 -

引用なし
パスワード
   ▼CONDOR さん:
こんにちは。

提示された内容ですと、どのようになさりたいかの
意図が伝わりにくいように思われます。
伝票Noに合わせて行Noを採番しなおせば良いのでしょうか…。

提示されたテーブルからどのような結果を望まれるのか、
実際の値を出して頂けると回答しやすくなるかと思います。
・ツリー全体表示

【4630】Re:自力で解決するにあたり。。。
質問  情シス初心者  - 05/3/17(木) 14:00 -

引用なし
パスワード
   出来ました!
この度も有難うございました。
また何かありましたら、よろしくお願いします。
・ツリー全体表示

【4629】条件付の自動採番について
質問  CONDOR  - 05/3/17(木) 13:54 -

引用なし
パスワード
   教えていただけますでしょうか。

伝票No    行No
000000    06
000001    07
000001    08
000001    09
000001    10
000001    11
000001    12
000001    13
000003    02
000003    03
000003    04
000003    05
000006    01
000006    02
000006    03
000006    04
000006    05
000006    06
000006    07
000006    08
000006    09
000006    10
000006    11
000006    13
000009    01
000009    02
000009    03
000009    04
000009    06
000012    01
000012    02
000012    03
000012    04
000012    05
000012    07
000012    09
000012    10
000012    11
000012    12
000012    13


このようなテーブルがあり、
1.伝票Noが変わった際には行Noは01から
2.行Noは最大が13になるように
自動で採番したいのですが、
どのようにすればよろしいのでしょうか。

ご教授お願いいたします。
・ツリー全体表示

【4628】Re:LOOKUPみたいな関数ありませんか?
お礼  CONDOR  - 05/3/17(木) 13:17 -

引用なし
パスワード
   >小僧 さん

ありがとうございます。
早速試してみます。
お聞きするものですね
こんなに早く回答いただけるものとは思ってませんでした。
ありがとうございました。
・ツリー全体表示

【4627】レポートの集計結果の表示
質問  ひろ  - 05/3/17(木) 13:01 -

引用なし
パスワード
    初心者です。いきずまったので誰か教えてください。
集計結果を次のページのページヘッダーに表示したいと思うのですが
できるでしょうか。
・ツリー全体表示

【4626】Re:dcount関数について
発言  クロ  - 05/3/17(木) 10:44 -

引用なし
パスワード
   >クロさん:
>自分のSQLはテーブルBは表示してないので、
>グループ化する必要はないかな…?

そうですね...スミマセンm(..)m
間違えました...(鬱
・ツリー全体表示

【4625】Re:自力で解決するにあたり。。。
回答  クロ  - 05/3/17(木) 10:40 -

引用なし
パスワード
   まずは、単純にテーブルBのフィールド[1]に対してだけの選択クエリを
作ってみます。
以下のようになると思います。

SELECT テーブルB.PC名, テーブルB.[1], テーブルA.アプリID
FROM テーブルB LEFT JOIN テーブルA ON テーブルB.[1] = テーブルA.アプリ名
WHERE [1] Is Not Null

これをUNION ALLで繋げればいいと思いますがどうでしょうか?
・ツリー全体表示

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