Access VBA質問箱 IV

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

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


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

【4166】2項目で並べ替え!!
質問  のりかわ  - 05/1/14(金) 18:12 -

引用なし
パスワード
    お世話になります。
下記のようなクエリーがあるんですが、[ID]と[日付]の2項目で並べ替えをしたいんです(2つとも昇順)

 ID 日付 売上 収入金額 支出金額 差引金額 計算式

 4  1/2 500                  500
 10  1/2          300        -300
 11  1/3 1200                 1200
 15  1/3      500             500
  9  1/4          600        -600
 17  1/4 500                  500
 18  1/4          500         500

今現在は、[日付]を「昇順」にしているんですが、時々[ID]が、前後してしまうことがあるんです。ようするに、同日内の[ID]は必ず「昇順」になるよう出来るでしょうか?
よろしくお願いします!!

                 Windows XP   Access 2000
・ツリー全体表示

【4165】Re:日付→日付(英記)
お礼    - 05/1/14(金) 18:08 -

引用なし
パスワード
   Gin_II さんありがとうございました。

VBA知識が乏しいためにお手数お掛けしました。

Gin_IIさんの言う通りにテーブルを変えて、クエリにて
試してみたところできました。


また、同データだと言われる意味もこれでハッキリと
認識しました。


本当にありがとうございました。m(__)m

これからも、度々お願いするかと思いますがそのときは
よろしくお願いします。
・ツリー全体表示

【4164】Re:日付→日付(英記)
回答  Gin_II  - 05/1/14(金) 17:57 -

引用なし
パスワード
   >今回、私は「入力日」に入力されたデータを「入力日(英記)」へ
>自動的に反映させたいということなのです。

反映させるというのがよく分からないです (^^ゞ

> 入力日
> 入力日(英記)
見た目が違うだけで、値自体は同じものです。
なので、テーブルには、この2つのフィールドは必要ないです。

というのは、理解いただけましたか?


これを理解したうえで、[入力日(英記)] は、どこで使いたいのでしょうか?
例えば、レポートに表示するときに、英語表記を使いたいということでしたら、
テキストボックスの
 コントロールソース:入力日
 書式:dd-mmm-yy

のようにすればいいと思います。
・ツリー全体表示

【4163】Re:日付→日付(英記)
お礼    - 05/1/14(金) 17:45 -

引用なし
パスワード
   Gin_II さん再々ありがとうございます。

再度、初歩的な質問をさせていただきたいのですが
よろしいでしょうか。


書式プロパティにて書式を設定すると入力フォーマットが
指定できるのはわかりました。

今回、私は「入力日」に入力されたデータを「入力日(英記)」へ
自動的に反映させたいということなのです。

なので、「入力日」に入力された値の取り扱いのVBAを教えて
頂きたいのです。(質問自体間違っていたらすみません)

教えて頂いた「format(Now(),"dd-mmm-yy")」をいろいろな
場所で使用してみたのですが、エラーが返されるだけで
表示できませんでしたので…


大変申し訳ありませんがお願いします。
・ツリー全体表示

【4162】Re:日付→日付(英記)
回答  Gin_II  - 05/1/14(金) 17:03 -

引用なし
パスワード
   >テーブルは以下のようになります。
>
>・入力日
>・入力日(英記)

日付/時刻型なら、書式プロパティを変更するだけで、対応できますので、
そもそもテーブルに2つのフィールドを持つ必要がありません。
・ツリー全体表示

【4161】Re:日付→日付(英記)
お礼    - 05/1/14(金) 16:58 -

引用なし
パスワード
   >Format(Now(),"dd-mmm-yy")

早々の回答ありがとうございます。

VBAについて初心者なのでもう少し教えていただきたいのですが
よろしいでしょうか。

Accessを使用しております。

テーブルは以下のようになります。

・入力日
・入力日(英記)

現在フォーム上には「入力日」「入力日(英記)」が並んだ状態に
なっているのですが、この「入力日」に日付を入れた時に
「入力日(英記)」に自動的に日付が指定フォーマットにて
反映されるようにしたいのです。

この場合、どこのイベントプロシージャーとして登録するのでしょうか。

基本中の基本かとは思いますが検討がつきません。

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

【4160】Re:日付→日付(英記)
回答  Gin_II  - 05/1/14(金) 16:38 -

引用なし
パスワード
   >この「入力日」の日付を以下の形式にて別欄に出力したいのです。
>
>・入力日(英記)(例:2005/01/14 → 14-Jan-05)
>
>
>この英記表記の入力をどうにか省きたいのです。
>VBAを使用して出力できるのでは?と考えましていろいろ探してたのですが
>なかなか見つかりません。

クエリでもできますよ。

Format(Now(),"dd-mmm-yy")
・ツリー全体表示

【4159】日付→日付(英記)
お礼    - 05/1/14(金) 16:37 -

引用なし
パスワード
   はじめまして。
皆さん、どうか力を貸してください。

入力を簡素化しようと思いまして以下のような事を
考えてますが可能でしょうか?

入力欄
・入力日(形式:yyyy/mm/dd)

この「入力日」の日付を以下の形式にて別欄に出力したいのです。

・入力日(英記)(例:2005/01/14 → 14-Jan-05)


この英記表記の入力をどうにか省きたいのです。
VBAを使用して出力できるのでは?と考えましていろいろ探してたのですが
なかなか見つかりません。

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

【4158】Re:オブジェクト一覧
回答  Gin_II  - 05/1/14(金) 16:37 -

引用なし
パスワード
   >作成されている全てのテーブルやクエリー、レポート、フォーム等の名前です。
>
>T_在庫  とか R_月次レポート とかです。
>
>どんなものが入っているかVBAで調べる処理をしたいのです。

VBAではないですが。。

SELECT Switch([Type]=1,"Table",
       [Type]=4,"Link_Table",
       [Type]=5,"Query",
       [Type]=6,"Link_Table",
       [Type]=-32761,"Module",
       [Type]=-32764,"Report",
       [Type]=-32766,"Macro",
       [Type]=-32768,"Form") AS OjbType,
   MsysObjects.Name
FROM MsysObjects
WHERE (Left$([Name],1)<>"~")
 AND (Left$([Name],4)<>"MSys")
 AND ([Type] In(1,4,5,6,-32761,-32764,-32766,-32768))
ORDER BY MsysObjects.Name;

クエリのSQLビューで、上記をコピーしてみてくださ。
・ツリー全体表示

【4157】Re:テーブルの有無を調べる方法?
質問  山田  - 05/1/14(金) 16:05 -

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

>オブジェクトの名前とは一体何の事でしょうか?

説明不足ですみません。

作成されている全てのテーブルやクエリー、レポート、フォーム等の名前です。

T_在庫  とか R_月次レポート とかです。

どんなものが入っているかVBAで調べる処理をしたいのです。
よろしくお願いします。
・ツリー全体表示

【4156】できました!
お礼  ゴン太  - 05/1/14(金) 16:00 -

引用なし
パスワード
   できました!

こんな簡単に出来るとは

ずーと難しく考えていました

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

【4155】Re:並べ替えをしたい(追伸)
回答  クロ  - 05/1/14(金) 15:59 -

引用なし
パスワード
   コマンドボタンよりはトグルボタンの方がいいかも?
更新後処理イベントに

If Me.トグルボタン名 = True Then
  Me.サブフォーム名.Form.OrderBy = "日付"
  Me.サブフォーム名.Form.OrderByOn = True
Else
  Me.サブフォーム名.Form.OrderBy = ""
  Me.サブフォーム名.Form.OrderByOn = False
End If
・ツリー全体表示

【4154】Re:並べ替えをしたい
回答  クロ  - 05/1/14(金) 15:32 -

引用なし
パスワード
   Me.サブフォーム名.Form.OrderBy = "日付"
でどうでしょうか?
・ツリー全体表示

【4153】並べ替えをしたい
質問  ゴン太  - 05/1/14(金) 15:08 -

引用なし
パスワード
   また質問させてください。

テーブルAにコンボボタンのイベントで、クリックした時に、
サブフォーム内の "日付" と言うフィールドを"昇順"で並べ替えをしたいのですが、
何か良い方法が、ありましたらアドバイスをお願いします。
・ツリー全体表示

【4152】Re:クエリについて
回答  クロ  - 05/1/14(金) 15:00 -

引用なし
パスワード
   Set rs = db.OpenRecordset("勤務状況(クエリ)", dbOpenDynaset)
ではどうでしょうか?
・ツリー全体表示

【4151】クエリについて
質問  ROMI  - 05/1/14(金) 14:36 -

引用なし
パスワード
   クエリをレコードセットで読み出すことは可能でしょうか?

Set rs = db.OpenRecordset("勤務状況", dbOpenTable)
                     ↑
               ここをクエリの名前にしても
                やっぱりダメですよね?

他に、テーブルを複数のフィールドを基準に自動整列できるやり方があれば教えてください。

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

【4150】Re:テーブルの有無を調べる方法?
回答  Hanahana  - 05/1/14(金) 14:19 -

引用なし
パスワード
   DCount("*","MSysObjects","Name='xxx' And Type=1")

オブジェクトの名前とは一体何の事でしょうか?
・ツリー全体表示

【4148】Re:テーブルの有無を調べる方法?
質問  山田  - 05/1/14(金) 14:04 -

引用なし
パスワード
   ▼Hanahana さん:
>横槍失礼します。
>
>MSysObjectsにはフォーム、レポートも含まれています。
>
>テーブルだと条件に Type = 1 が必要だと思います。


type をどこに入れるのでしょうか?
また、ついでで申し訳ありませんが
オブジェクトの名前を取得する方法も分かったら教えてもらえないでしょうか?
・ツリー全体表示

【4147】Re:テーブルの有無を調べる方法?
回答  Hanahana  - 05/1/14(金) 12:45 -

引用なし
パスワード
   横槍失礼します。

MSysObjectsにはフォーム、レポートも含まれています。

テーブルだと条件に Type = 1 が必要だと思います。
・ツリー全体表示

【4146】有難うございます
お礼  山田  - 05/1/14(金) 11:58 -

引用なし
パスワード
   ▼Gin_II さん:
「DCount」関数のこんな使い方があったんですね!!
助かりました。
有難うございます。
・ツリー全体表示

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