Access VBA質問箱 IV

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

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


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

【8104】Re:テーブルの作り方を教えてください
発言  たけし  - 06/6/30(金) 14:22 -

引用なし
パスワード
   ▼クロ さん:
こんにちは
できれば2次元テーブルみたいな形をとりたいと思います。
クエリーでは処理できました。
ありがとうございます。
・ツリー全体表示

【8103】Re:テーブルの作り方を教えてください
発言  クロ  - 06/6/30(金) 13:23 -

引用なし
パスワード
   こんちには
明細テーブルのフィールドはこれ以上増えませんか?
現行のままでしたら
出力テーブルに書き込むのでなくクエリで

SELECT 明細テーブル.集計添字 As 添字, Sum(明細テーブル.前月残) AS 前月残, Sum(明細テーブル.今月残) AS 今月残
FROM 明細テーブル
GROUP BY 明細テーブル.集計添字
HAVING (((明細テーブル.集計添字)<>0)) UNION SELECT 明細テーブル.集計添字1, Sum(明細テーブル.前月残) AS 前月残の合計, Sum(明細テーブル.今月残) AS 今月残の合計
FROM 明細テーブル
GROUP BY 明細テーブル.集計添字1
HAVING (((明細テーブル.集計添字1)<>0));

で、集計添字でグループ化し合計を算出と言う意味では
>出力テーブルには  3   30   40
>            6   100   120
の結果は出ると思います。

もし、明細テーブルのフィールドが増えるようでしたら、別の方のレスを
お待ちください。

※どうしても「出力テーブル」に出力するなら、上記を利用して追加クエリに
 書き込んでは如何でしょうか?
・ツリー全体表示

【8102】具体的に知りたいこと
発言  しんいち  - 06/6/30(金) 13:10 -

引用なし
パスワード
   アドバイスありがとうございます。

アクセスのシステムウインドウの内側の枠(濃い灰色)の大きさです。
・ツリー全体表示

【8101】Re:アクセスのページ設定について
お礼  2HD  - 06/6/30(金) 13:06 -

引用なし
パスワード
   ▼Gin_II さん:
ありがとう御座いました。
参考にさせていただきます。
・ツリー全体表示

【8100】Re:小僧さんへ
回答  小僧  - 06/6/30(金) 12:06 -

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

> これはデザインビューにしてはいけなかったのでしょうか??

当方の環境でも再現しました。
何か自動修正が入ってしまうようですね…。

という事でまず下記SQLを保存して下さい。

TRANSFORM Max(P.金額) AS 金額の最大
SELECT P.名前
FROM [
SELECT T_給付内容.名前, T_給付内容.項目 & "_金額" AS 集計,
T_給付内容.金額, T_給付内容.日付 AS 抽出
FROM T_給付内容
UNION ALL SELECT T_給付内容.名前,T_給付内容.項目 & "_日付" AS 集計,
T_給付内容.日付, T_給付内容.日付 AS 抽出
FROM T_給付内容
WHERE T_給付内容.日付
]. AS P
WHERE (((P.抽出)=#2006/06/01#))
GROUP BY P.名前
PIVOT P.集計;

保存したクエリをクエリデザインで開き、
フィールド名:[集計] の行で右クリックから [プロパティ]
[クエリの列見出し] に 改行せずに

"学期1_A_金額","学期1_A_日付","学期1_B_金額","学期1_B_日付",
"学期2_金額","学期2_日付","学期3_金額","学期3_日付"

と記入し実行されてみて下さい。


あとはWhere条件を
[Forms]![F_振込データ作成]![振込年月日]
に変えればうまくいく…はずです。
・ツリー全体表示

【8099】クエリ難題です
質問  アッピア  - 06/6/30(金) 11:15 -

引用なし
パスワード
   現在仕事で委員会役員名簿たるものを作っています。

メインフォームに「氏名」
サブフォームに「委員会名」「役職名」「就任/再任」(←ルックアップで選べる)
       「就任年月日」「辞任年月日」があり、
        いわゆるその「氏名」の役員就任履歴一覧となっています。

クエリで
1.辞任年月日空欄のもののみ抽出
2.委員会ごと並べ替え
して
現在就任中の委員会名簿を
委員会ごとに氏名、役職名、就任年月日が表示されるように 
レポート作成しました。

ここで問題が生じたのですが
1人の氏名が
1つの委員会を
一番最初に就任した年月日が就任年月日
次に、一旦辞任されて再任されることが多いのですが
その時の処理の仕方は辞任年月日を入力して
次のレコードで
翌日の日付が「再任」ということで同じフィールドに再任年月日を入力するので
現在就任中の委員会名簿の就任年月日の欄には再任年月日の掲載も混ざってしまうのです。
これを避けるために
いわゆる正しい就任年月日を掲載させるために
(そのためにも、就任・再任のルックアップを設定)
なにかよい抽出方法がないでしょうか?
どれだけ脳みそ絞ってもアイデアが浮かんできません。
どなたかお願いします。
・ツリー全体表示

【8098】小僧さんへ
質問  あおぎん  - 06/6/30(金) 10:56 -

引用なし
パスワード
   ▼小僧 さん:
おはようございます。
お礼が遅くなって申し訳ありません。

ご提示の方法をやってみました。
これだと、項目が増えていく場合に便利なんですね!
教えていただいてありがとうございます。

少し質問させてください。

ご提示のクエリを実行したところ、うまくいって、名前ごとに学期ごとの金額や日付が表示されて、こういう形のデータが出せることに驚いたのですが、それから、該当の日付のデータだけを抽出したい場合はどうすればよいのでしょうか??

さらにクエリの条件を入れるのかと考え、デザインビューにしてみたのですが、そののちまたデザインビューに戻そうとすると、
『列見出しとして使うフィールドでは集計行をグループ化に設定する必要あり』
というエラーが出てしまいました。

これはデザインビューにしてはいけなかったのでしょうか??

クロス集計クエリを殆ど使いこなせてない状態なので、まだまだ勉強しないとですね。


>※ フィールド名の先頭に半角数字があると、たまに誤作動の元になります。
> (不自然な 学期_1 という名前はそのためです。)
>
> ミオナさんという方のサイトが解り易くまとまっていますので
> ご参考にされてみてください。
>
> Miona's Square
> フィールド、コントロール、オブジェクトや変数などに付ける「名前」について
> http://ww3.tiki.ne.jp/~kaya/Ac_tips.html#Tips0_001

ありがとうございます。参考にいたします。
アクセス初心者用の本から勉強を始めたけど、こういう名前の付け方のことってあまり頭に入ってなかったりしています^^;
・ツリー全体表示

【8097】Re:クエリの式
お礼  あおぎん  - 06/6/30(金) 10:30 -

引用なし
パスワード
   ▼クロ さん:
おはようございます。
お礼が遅くなって申し訳ありません。

>支出額の算出の仕方が
>[振込1A額]+[振込1B額]+[振込2額]+[振込3額]
>のようになってませんか?
>これはクエリ内で仮想的に出来ているフィールド名なので
>パラメータを聞いてくるのではないかと思います。

そのようにしていました。
通常の式で作ったフィールドとは違うのですね。
勉強になりました。

ご提示のとおり書き換えてみましたら、>0 で抽出できました!
ほんとうにありがとうございました。
・ツリー全体表示

【8096】テーブルの作り方を教えてください
質問  たけし  - 06/6/30(金) 10:00 -

引用なし
パスワード
   2次元テーブルを作成したいのですが作り方、記述がよくわかりません。
また2次元テーブルは作成可能なのでしょうか?

読込んだテーブル集計添字ごとに溜め込んで書き出したいのですが?
明細テーブルには 添字 前月残 今月残 集計添字 集計添字1
          1   10   15     3     6
          2   20   25     3     6
          3    0    0     0     0
          4   30   35     0     6
          5   40   45     0     6
          6    0    0     0     0
結果
出力テーブルには  3   30   40
            6   100   120
にしたいのですが。
1次元で読込みテーブル開いて閉じて求める添字分だけやるしか方法はないのでしょうか?
今はクエリーでひとつずつ集計添字ででグループ化し合計を算出しています。
あまりにもクエリーが多すぎてしまいます。
教えてください。よろしくお願いします。
・ツリー全体表示

【8094】Re:BeforeUpdateイベントで変更前の値に戻...
お礼  迷える子羊  - 06/6/30(金) 9:21 -

引用なし
パスワード
   ▼Gin_II さん:
>Me.Undo
>とかで、どうでしょう?
早速上記の方法でやってみたら、うまく行きました。
いやぁー,こんな便利なメソッドを今まで知らなかったとは・・・
ありがとうございました。
・ツリー全体表示

【8093】Re:領域サイズを知りたい
回答  YU-TANG WEB  - 06/6/29(木) 22:07 -

引用なし
パスワード
   こんばんは。

▼しんいち さん:
>アクセスのVBAヘルプを調べたら
>
>
>UsableHeight/UsableWidthプロパティ の使い方

それは Access ではなく OWC(Office Web Components)のライブラリです。
もっと細かく言うと、Office Spreadsheet(Web ページ用の Excel みたい
なもの)コンポーネントのプロパティで、Access は関係ないです。

>したがって、アクセスでのVBAでユーザフォームを表示するときの
>領域サイズを取得するコードの書き方を知りたいです。

具体的に何を指していらっしゃるのかよく分かりませんが、下記あたりに
参考情報があるかもしれませんので、一度確認してみてはどうでしょう。

http://support.microsoft.com/kb/206641/ja
・ツリー全体表示

【8092】Re:Access フォームでのGIFアニメ表示
回答  YU-TANG WEB  - 06/6/29(木) 21:30 -

引用なし
パスワード
   こんばんは。

▼sim さん:
>フォーム上でGIFアニメーションを表示させたく情報を集めているのですが
>参考にできるものが見つからず、投稿させていただきました。

何も考えずに答えるなら、Access では Web ブラウザコントロールを使う
方法があります(他にもありますが)。

たまたまウチのサンプルに、そのままの例があります。

http://x7net.com/~access/AcTipsMovableImage.html

これは別件用のサンプルなので、本題で他のことをゴチャゴチャやって
ますが、GIF アニメの表示も、結果的にやってます。


で、そもそもの目的、

>処理中ということをユーザにアピールし、不用意な操作を防止したい

に照らし合わせて考えるなら、実行環境へのセットアップさえ問題
なければ、こういうのを使うのが一番手っ取り早いかもしれません。

http://www.tomtittot.co.jp/3TCancel.htm
・ツリー全体表示

【8091】Re:BeforeUpdateイベントで変更前の値に戻...
回答  Gin_II  - 06/6/29(木) 21:19 -

引用なし
パスワード
   >ところが値はそのままで
>エスケープキーを押さないと、変更前の値に戻りません。

Me.Undo
とかで、どうでしょう?
・ツリー全体表示

【8090】BeforeUpdateイベントで変更前の値に戻す
質問  迷える子羊  - 06/6/29(木) 19:05 -

引用なし
パスワード
   現在、表形式のフォームで、ある明細行項目を変更すると、
「本当に変更しますか?」というメッセージで
YESNOダイアログを表示し、NOが選択された場合は
イベントをキャンセルしています。
ところが値はそのままで
エスケープキーを押さないと、変更前の値に戻りません。

これだと少々使い勝手が悪いので
NOが選択された時点で変更前の値に戻す為に
OldValueプロパティをセットしたりしているのですが
うまく行きません。

変更前の値に戻す、うまいやり方はあるのでしょうか?
ご教授の程よろしくお願い致します。
・ツリー全体表示

【8089】Re:Access フォームでのGIFアニメ表示
回答  たん  - 06/6/29(木) 16:51 -

引用なし
パスワード
   余所の検索結果ですが。

「フォーム 動画」
http://www.accessclub.jp/search1/namazu.cgi?query=%83t%83H%81%5B%83%80%81@%93%AE%89%E6

ただ、素直に、砂時計表示だけさせておくのが、シンプルで一番負担が
少なくて済みますが。

# 動画に余計な労力取られて、余計時間がかかる気がします。
・ツリー全体表示

【8088】Re:オーバーフロー
お礼  hiro  - 06/6/29(木) 16:30 -

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

返信ありがとうございました。

教えていただいたアップデートやってみました。

結果はやはり同じでした。
アップデートの方法は間違ってないと思う?のですが…。

やはりAccessのバージョンも関係するのかもしれませんね。
もう少しいろいろ試してみます。
確かAccess2003を購入すれば、CDにMSDE2000が付属されて
る?らしいのでそちらも試してみます。
(これで動けば、全てのマシンAccess2003にしないとまずい・・・、ですねよ)

助言いただきありがとうございました。
・ツリー全体表示

【8087】Access フォームでのGIFアニメ表示
質問  sim  - 06/6/29(木) 16:26 -

引用なし
パスワード
   初めまして。simと申します。

フォーム上でGIFアニメーションを表示させたく情報を集めているのですが
参考にできるものが見つからず、投稿させていただきました。

1.DBからデータをダウンロード
2.一旦CSVファイルに落とす
3.CSVファイルをインポートする
4.帳票作成
5.帳票印刷

この一連の処理を自動化しています。そんなに複雑なものではないのですが、
処理件数が少し多いため(レコード1〜2万件、出力帳票3000ページほど)処理に
時間がかかります。このため、処理中ということをユーザにアピールし、不用意な操作を防止したいと考えております。

始めはインジケータの使用を考慮したのですが、1.〜5.の処理について具体的な
進捗率を得る手段が得られない(2.3.5.)ため断念しました。
次案として、1.〜5.の各処理の終了時にテキストボックスの値を変え(ダウンロード中です⇒インポート中です⇒帳票作成中です⇒帳票印刷中です、という具合に。)、なんらかのGIFアニメを動かしておけばユーザにアピールできると考えました。

ですが、フォーム上でGIFアニメを表示させても、最初のコマしか表示されず
困っております。VBのフォームでは実現できる(Picture Box?)らしいのでaccess
でもできるだろうと考え、情報を探しております。

環境はAccess 2003, WinXPです。

方法をご存知の方ご教示ください。
・ツリー全体表示

【8086】Re:オーバーフロー
発言  小僧  - 06/6/29(木) 14:17 -

引用なし
パスワード
   ▼hiro さん、みなさま:
こんにちは。

一応確認です。
Office のアップデートはされていますでしょうか。

MS技術情報より

SQL Server 2000 にアップサイズすると
エラー メッセージ "オーバーフローしました" が表示される

http://support.microsoft.com/kb/272384/ja

エラーメッセージが気になったもので…。
既にSPを充てているようでしたら申し訳ありません。
・ツリー全体表示

【8085】領域サイズを知りたい
質問  しんいち  - 06/6/29(木) 14:10 -

引用なし
パスワード
   アクセスのVBAヘルプを調べたら


UsableHeight/UsableWidthプロパティ の使い方

機能
アプリケーション ウィンドウ領域内で、ウィンドウが使うことのできる
範囲の最大限の高さ/幅をポイント単位で返します。値の取得のみ可能です。
倍精度浮動小数点型 (Double) の値を使用します。

とありました。
これをアクセスコードで書くと
プロパティ/メソッドがありません。エラーメッセージ。
もしかして、エクセル用VBAのプロパティのようにも思えます。

したがって、アクセスでのVBAでユーザフォームを表示するときの
領域サイズを取得するコードの書き方を知りたいです。

失敗したコード例)

  Dim X As Long, Y As Long
  X = Application.UsableWidth
  Y = Application.UsableHeight
・ツリー全体表示

【8084】Re:オーバーフロー
お礼  hiro  - 06/6/29(木) 10:27 -

引用なし
パスワード
   たんさま

返信ありがとうございます。

試しにと思って空mdbファイルをアップサイジングウィザードで
変換した時も同じエラーメッセージでした。
空なのになにがオーバーフローか解りませんが、とにかくダメ
ってことですね…。
それもマシン再起動後は一番初めの書き込みに記載したような
エラーメッセージが表示されるのです。

3回ほどインストールやり直してますが、結果は同じでした。

今日もトライしてみます。
助言いただきありがとうございました。
・ツリー全体表示

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