Access VBA質問箱 IV

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

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


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

【3491】Re:フォームで指定した条件をクエリの抽出...
お礼  かもねぎ  - 04/9/13(月) 12:36 -

引用なし
パスワード
   ▼クロ さん:
>処理日付フィールドのデータ型と書式を教えてください。
お返事有難うございます。
処理日付フィールドはテキスト型です。

>>指定条件のみがオンだった場合は [処理条件]= 2004/09
>この条件下で2004/09のすべてのレコードが抽出されますか?
はい、抽出されています。

あれからさらに試行錯誤をし、
テキスト型で >=を入れてもクエリ方では演算子として認識しないということ
ではないかとおもい、
DoCmd.OpenReport "レポート名", acViewPreview, ,"日付" & Me.処理条件
とし、処理条件に >='2004/09'など入れるようにしたらできました。

お返事も遅くなった上に、自己解決ですが・・・
お返事を下さった皆様、誠に有難うございました!!
・ツリー全体表示

【3490】Re:フォームで指定した条件をクエリの抽出...
回答  クロ  - 04/9/13(月) 9:09 -

引用なし
パスワード
   処理日付フィールドのデータ型と書式を教えてください。

>指定条件のみがオンだった場合は [処理条件]= 2004/09
この条件下で2004/09のすべてのレコードが抽出されますか?
・ツリー全体表示

【3489】フォームの最小化の判定
質問  狸里  - 04/9/13(月) 9:09 -

引用なし
パスワード
   フォームを最小化した際に、フォームが最小化しているか否かを判断する方法というのはどうすれば宜しいのでしょうか?

例えば、VBでしたら、フォームにWindowStateというプロパティがあり、その値でフォームがどのような状態なのかを取得する事が出来ますが、Accessの場合はこれと同じようなものはあるのでしょうか?
・ツリー全体表示

【3488】Re:追伸
回答  こもれび  - 04/9/11(土) 21:20 -

引用なし
パスワード
   こもれびです

DCountのヘルプを読まれればわかるとおもいますが、津波警報さん
が示されたテーブルと式を見比べられましたらすぐわかると思います。

オートナンバーでIDをふっていますよね。
「IDが同じかそれ以下」のレコード数を数えているわけです。
・ツリー全体表示

【3487】Re:フォームで指定した条件をクエリの抽出...
発言  こもれび  - 04/9/11(土) 21:04 -

引用なし
パスワード
   こもれびです

テキストボックスに yyyy/mmを入力されているのでしょうか?

試しに yyyy/mmが入力された後に、「yyyy/mm/01」のように
条件に合うように日データを付け加えてクエリに送ってみては
いかがでしょうか。
・ツリー全体表示

【3486】Re:追伸
お礼  津波警報  - 04/9/11(土) 20:31 -

引用なし
パスワード
    皆さん有難うございました。
早速実践してみましたが上手く行きそうです。
 お礼が遅くなり申し訳ありません。

ところで
  "部品コード='" & 部品コード & "' AND ID <=" & ID
の記述なんですが、これはどんなことを意味しているんでしょうか?
 もしよろしければご教授ください。

 
・ツリー全体表示

【3485】フォームで指定した条件をクエリの抽出条...
質問  かもねぎ  - 04/9/11(土) 15:55 -

引用なし
パスワード
   OS:win_XP
Access Version:2002

毎度お世話になっております。
早速本題です。よろしくお願いします。

フォーム上で、選択クエリに使用する条件(日付:yyyy/mm)を指定した場合に
クエリがうまくいきません。
フォームでは、指定条件のみと指定条件以降全てというオプションボタンを設定して
指定条件のみがオンだった場合は [処理条件]= 2004/09
指定条件以降全てがオンだった場合は [処理条件]= >=2004/09 となるようにしています。

選択クエリ上で、処理日付の抽出条件欄に
[Forms]![F_印刷_実績一覧表]![処理条件]と入力しているのですが、
指定条件以降全て(>=2004/09)の場合にクエリを実行してもデータが抽出されません。
確かにデータはありますし、#や’を使っていろいろしてみましたが
「複雑すぎるために評価できません」などが出てきてどうにもこうにも分からなくなりました。
また、フラグをたて、クエリ側でIIFを用いて判断させようとも試みましたが
やはり指定条件以降全てのほうでうまくいきません。
フォーム側で作成した処理条件をそのまま抽出条件にコピーすると抽出できるのですが何故でしょうか?
何か根本的なことを間違っているのではないかとおもうのですが
調べても調べても分かりません。
どなたかお知恵をおかしください。お願いいたします。
・ツリー全体表示

【3484】Re:メイン&サブフォームの非保存終了
お礼  mako  - 04/9/10(金) 13:47 -

引用なし
パスワード
   クロさま、YU-TANGさま本当にありがとうございました。
お礼が遅くなり申し訳ございません。

-非保存終了-
>主キーのある「T_料理名」の「レシピ番号」フィールドをドラッグアンドド
>ロップで「T_材料」の「レシピ番号」フィールドに落とすと「リレーション
>シップ」ダイアログが開きますので、「参照整合性」にチェックを入れて、
>「レコードの連鎖削除」にもチェックを入れて作成ボタンを押してください。
この処理で、ばっちりでした!
「参照整合性」にばかり目がいっていました。
リレーションシップの勉強をきちんとします。

-メッセージオフ-
>Private Sub キャンセル_Click()
>On Error Resume Next
>DoCmd.SetWarnings False
>  Echo False
>  RunCommand acCmdUndo
>  Echo True
>DoCmd.SetWarnings True
>End Sub
こちらもこの処理でばっちりでした!
でも丸写ししてしまいました。
この処理については、これから勉強したいと思っています。

このふたつの処理がわからなくて、何冊も本を買ったり
インターネットで調べたりと丸2週間を費やして、
最後にこちらにお邪魔しました。
本当にありがとうございました。
・ツリー全体表示

【3483】Re:欠番が・・・・・
回答  クロ  - 04/9/10(金) 8:12 -

引用なし
パスワード
   詳細Bフォームの開くときのイベントを以下に変更してください。

Me.ID.SetFocus
DoCmd.FindRecord OpenArgs, acEntire, , acDown, , acCurrent
・ツリー全体表示

【3482】欠番が・・・・・
質問  なお  - 04/9/9(木) 23:47 -

引用なし
パスワード
   出来ました!!

ただ、レコード数とIDナンバーが同じ時は良いのですが、
IDに欠番が出来てIDとレコード数が違うときは無理でしょうか?
・ツリー全体表示

【3481】Re:ファイル名(.txt)をACCESSから変更し...
お礼  ocha  - 04/9/9(木) 18:26 -

引用なし
パスワード
   ありがとうございます、なんとか出来そうです。
助かりました!!
・ツリー全体表示

【3480】Re:すいません
回答  クロ  - 04/9/9(木) 17:50 -

引用なし
パスワード
   ▼なお さん:
>すいません
>このようにコードを書けばいいのでしょうか?
>
>
>DoCmd.OpenForm "詳細Bフォーム", acNormal, "", "[ID]=[Forms]![一覧Aフォーム]![ID]", , acNormal
>
>DoCmd.GoToRecord , , acGoTo, OpenArgs
>
>
>すいません
>勉強不足で・・・・・

一覧Aフォームに「ID」というテキストボックスがありますね。
そこのダブルクリック時のイベントに

DoCmd.OpenForm "詳細Bフォーム", , , , , , Me.ID

と書くかコピペしてください。OpenArgsを利用して一覧Aフォームの「ID」を
詳細Bフォームに送ります。

こちらは↓は詳細Bフォームの開くときのイベントに書いてください。

DoCmd.GoToRecord , , acGoTo, OpenArgs

こちらではそのIDを受け取ってレコードを移動します。
・ツリー全体表示

【3479】すいません
質問  なお  - 04/9/9(木) 17:41 -

引用なし
パスワード
   すいません
このようにコードを書けばいいのでしょうか?


DoCmd.OpenForm "詳細Bフォーム", acNormal, "", "[ID]=[Forms]![一覧Aフォーム]![ID]", , acNormal

DoCmd.GoToRecord , , acGoTo, OpenArgs


すいません
勉強不足で・・・・・
・ツリー全体表示

【3478】Re:オプションボタン
お礼  saikoro  - 04/9/9(木) 16:43 -

引用なし
パスワード
   クロ様、こもれび様 返信ありがとうございます。
毎回ありがとうございます。

オプショングループで設定すれば、出来ました。。
最初に設定する項目があるのですね。。。

自分がやったのは、単体のオプションボタンで3つ作りました。
それで、起動時は、そのままだとオプションボタンが灰色みたいなのに
なっているので、それが気にいらなかったので、
最初にどれかひとつを選んでやろうと思ってやってみたのですが・・・

  Me.オプションボタン名.Value = Ture
  エラーメッセージ:このオブジェクトに値を代入する事はできません。

  Me.オプションボタン名 = True
  エラーメッセージ:このオブジェクトに値を代入する事はできません。
  
  Me!オプションボタン名.Value = True
  エラーメッセージ:このオブジェクトに値を代入する事はできません。

と、いう結果に。。。
オプションボタンとか、コンボボックスとか、付けては消してるので
そこら辺が、おかしくなってしまったのかも。。。

それでおかしいと思い新規のAccessを作り実行した結果、
エラーにならず、実行できたので、やはり沢山作りすぎたのかも。。。

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

【3477】Re:レコードが移動出来るようにしたいので...
回答  クロ  - 04/9/9(木) 16:17 -

引用なし
パスワード
   DoCmd.OpenForm "詳細Bフォーム", , , , , , Me.ID

として詳細Bフォームの開くときのイベントに

DoCmd.GoToRecord , , acGoTo, OpenArgs

ではどうでしょうか?

Me.IDをMe.CurrentRecordとして一覧Aフォームをフィルタ/並べ替えして
試してみては?
・ツリー全体表示

【3476】レコードが移動出来るようにしたいのですが
質問  なお  - 04/9/9(木) 16:02 -

引用なし
パスワード
   個体識別のようにIDで指定すると、
指定したフォームしか表示できないようになると思うのですが・・・・

私がやりたいのは指定したフォームを開いてその後レコードが移動できるようにしたいのですが・

 例:5番目のフォームを開いた後6・7・8・・・・とレコードが移動出来るようにしたいのですが
・ツリー全体表示

【3475】Re:オプションボタン
回答  こもれび  - 04/9/9(木) 15:46 -

引用なし
パスワード
   こもれびです

クロさんの記述であっていますし、もといsaikoroさんの記述で間違っていないと思いますけど…( うまくいかないのはなぜ? )

細かく言えば、 Me![オプションボタン名].value=true
で、Form_Load() イベントプロシージャに記述して私の環境では動いています。
・ツリー全体表示

【3473】Re:CurrentRecordの使い方を教えてほしい...
回答  クロ  - 04/9/9(木) 15:19 -

引用なし
パスワード
   CurrentRecordはレコードそのものの識別には使えないと思います。
現在表示されているレコードが何番目か返すので、フィルタなどがかかっていると
1を返すレコードがかわってきます。
ということは送った先のレコードナンバーとイコールではなくなります。

IDのような「個体識別」できるもので行った方がいいと思います。

簡単なのは一覧AフォームのIDテキストボックスのダブルクリック時の
イベントに
DoCmd.OpenForm "詳細Bフォーム", acNormal, ,"[ID]=" & Me.ID
とするのが簡単だと思うのですがどうでしょうか?
・ツリー全体表示

【3472】Re:レポートでグループ毎にページを表示
発言  安心  - 04/9/9(木) 14:54 -

引用なし
パスワード
   私の場合,少し違うことで止まってしまったのですが,
そのときは,テンプレートとして,
ウィザードを使用して簡易的にレポートを作成して
それを真似たりコピーしたりしてました。

その後はラベルはCaption,テキストはControlSourceを
変更して可変にしている最中です。

一度テンプレートを作ってみてもよいかもしれません。
・ツリー全体表示

【3471】複数キーでの検索について
質問  初心者  - 04/9/9(木) 14:50 -

引用なし
パスワード
   テーブル3つからリレーションを付けずに
複数キーでの検索はできるものなのでしょうか?

今は仮テーブルを作成して,
テーブルを1つ1つ開いて,
検索キーに当てはまるものを
仮テーブルに吐き出す作業を行なっています。

クエリを使用しようとすると
リレーションを付けてください。
となります。

最初にリレーションを付けていなかったため,
今はつけることができない情報が入ってしまっています。

簡単に複数キーでの検索をする方法を教えてください。
・ツリー全体表示

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