過去ログ

                                Page     151
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼値集合ソースをVBAで変更するには?  ただし 02/12/17(火) 16:09
   ┗Re:値集合ソースをVBAで変更するには?  イケガミ 02/12/17(火) 16:14
      ┗Re:値集合ソースをVBAで変更するには?  ただし 02/12/17(火) 17:14
         ┗Re:値集合ソースをVBAで変更するには?  イケガミ 02/12/17(火) 18:04
            ┗Re:値集合ソースをVBAで変更するには?  ただし 02/12/17(火) 18:29
               ┗Re:Me.Requery  イケガミ 02/12/17(火) 18:33
                  ┗Re:Me.Requery  こうちゃん 02/12/17(火) 18:39
                     ┗Re:Me.Requery  ただし 02/12/19(木) 19:49
                        ┗Re:Me.Requery  こうちゃん 02/12/19(木) 21:15
                           ┗できた♪  ただし 02/12/25(水) 11:54

 ───────────────────────────────────────
 ■題名 : 値集合ソースをVBAで変更するには?
 ■名前 : ただし
 ■日付 : 02/12/17(火) 16:09
 -------------------------------------------------------------------------
   こんにちは。ただしといいます。よろしくお願いします。
WIN2000のACCESS2000です。

値集合ソースをイベントボタンクリック時に変更したいのですが可能でしょうか?

if テキスト1 = 1 then
docmd.openform "form"
値集合ソース = クエリ1
endif

if テキスト1 = 2 then
docmd.openform "form"
値集合ソース = クエリ2
endif

みたいな感じにしたいのですがどうVBAで記述していいのかわからなくて(汗

 ───────────────────────────────────────  ■題名 : Re:値集合ソースをVBAで変更するには?  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/17(火) 16:14  -------------------------------------------------------------------------
   開くフォームのオープン時イベント?で

Select Case Forms!フォーム名!テキスト1
  Case 1
    Me.RecordSource = "クエリ1"
  Case 2
    Me.RecordSource = "クエリ2"
End If

でどうでしょうか?

 ───────────────────────────────────────  ■題名 : Re:値集合ソースをVBAで変更するには?  ■名前 : ただし  ■日付 : 02/12/17(火) 17:14  -------------------------------------------------------------------------
   >開くフォームのオープン時イベント?で
>
>Select Case Forms!フォーム名!テキスト1
>  Case 1
>    Me.RecordSource = "クエリ1"
>  Case 2
>    Me.RecordSource = "クエリ2"
>End If
>
>でどうでしょうか?

イケガミさん早いレスありがとうございます^^
If Me!MM = "01" Then
nentuki1 = Me!YY & Me!MM
DoCmd.OpenForm "フォーム"

[Forms]![フォーム]![テキスト1] = Me!KUBUN
[Forms]![フォーム]![テキスト2] = Me!YY
[Forms]![フォーム]![テキスト3] = Me!MM
[Forms]![フォーム]![テキスト4] = nentuki1
[Forms]![フォーム]![テキスト5] = nentuki1 + 99
Me.RecordSource = "クエリ1"
End If

としたのですがうまく値がわたりません(><)
疑問に思ったことで1、2点なんですが
値集合ソースにはデフォルトのときには空白にするのでしょうか?

また(書いてなかったのですが。。。)、
フォームを開いたときに
非連結オブジェクトフレームが貼ってあり、
その非連結OLE0(名前)の値集合ソースの内容を変えたいのですが。。。


 ───────────────────────────────────────  ■題名 : Re:値集合ソースをVBAで変更するには?  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/17(火) 18:04  -------------------------------------------------------------------------
   何をしたいのかを箇条書きで書いていただけますか?
#コードだけでは、やりたいことが分からないので。。

と、コードをどのフォームの何のイベントに書いているのかも教えてください。


>値集合ソースにはデフォルトのときには空白にするのでしょうか?
どちらでも大丈夫だと思いますよ。
#空白でも設定しておいても。


>非連結オブジェクトフレームが貼ってあり、
>その非連結OLE0(名前)の値集合ソースの内容を変えたいのですが。。。
同じように記述すればいいと思いますけど。。

 ───────────────────────────────────────  ■題名 : Re:値集合ソースをVBAで変更するには?  ■名前 : ただし  ■日付 : 02/12/17(火) 18:29  -------------------------------------------------------------------------
   イケガミさんレスありがとうございます^^
すいません、わかりにくくかいてしまって(汗

あるフォーム上で
区分と年月を入力しましてボタンを押すことにより
そこで入力した値を
別フォームに値をわたします。

そのときに年月が01(月)ならば
別フォームの非連結オブジェクトフレームの値集合ソースの
内容をクエリ01に変化させて表示(グラフ)したいと思っています。

If Me!MM = "01" Then  
nentuki1 = Me!YY & Me!MM 
DoCmd.OpenForm "フォーム"
[Forms]![フォーム]![テキスト1] = Me!KUBUN  
[Forms]![フォーム]![テキスト2] = Me!YY
[Forms]![フォーム]![テキスト3] = Me!MM
[Forms]![フォーム]![テキスト4] = nentuki1
[Forms]![フォーム]![テキスト5] = nentuki1 + 99
end if

ここでやっているのは区分(KUBUN)、年月(nentuki1)などの情報を
それぞれのテキストボックスにいれることにより
クエリの抽出条件に反映されるようにしています。

非連結オブジェクトルームの内容というのはグラフを表示したいものですから
年月の開始月によって値集合ソースの内容を変化させ
順番を日付順になるようにと考えています。
(07月からとしても01月から並んでしまうため)
条件によってフォームをそのたんびに作るのはめんどうなので
値集合ソースの値を変化できるようにしたいとおもいまして・・・
まだわかりにくいかとも思うのですが(汗

 ───────────────────────────────────────  ■題名 : Re:Me.Requery  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/17(火) 18:33  -------------------------------------------------------------------------
   >そのときに年月が01(月)ならば
>別フォームの非連結オブジェクトフレームの値集合ソースの
>内容をクエリ01に変化させて表示(グラフ)したいと思っています。

別のフォームを開いた後に、別のフォームから値を取得した方がいいような。。
コードの最後に、

Me.Requery
と入れれば、抽出条件を反映した結果がフォームに表示されますよ。

 ───────────────────────────────────────  ■題名 : Re:Me.Requery  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/12/17(火) 18:39  -------------------------------------------------------------------------
   ただしさん、こんにちは

イケガミさん、横レス失礼します。

イケガミさんのおっしゃるように、なにをしたいかが把握できていませんが、コントロールの値集合ソースでしたら

Me.非連結OLE0.RowSource = "クエリ1"

ではいかがでしょう?

#ただ、非連結のOLEオブジェクトフレームで値集合ソースがクエリというのはよくわかってなかったりしますが・・^^;
ぜんぜん的外れでしたらごめんなさい。

 ───────────────────────────────────────  ■題名 : Re:Me.Requery  ■名前 : ただし  ■日付 : 02/12/19(木) 19:49  -------------------------------------------------------------------------
   イケガミさん、こうちゃんさんレスありがとうございます^^
返事が遅くなりましてすいません(><)

あるフォームからボタンを押して別フォームのOPEN時イベントのほうで
RecordSourceなどをするほうがいいのでしょうか?

どちらにしてもエラーがでてしまうのですが・・・あ
ちょっと後日に内容を詳しく書きたいと思います(><)
違う仕事がいそがしいものですからなかなかさわれなくて。。。

RecordSourceとRowSourceの違いっていうのだけ気になったのですが・・・?
ヘルプをみたくてもなんか壊れていて見えないので気になったのですが。
お時間があるときに教えてください。

 ───────────────────────────────────────  ■題名 : Re:Me.Requery  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/12/19(木) 21:15  -------------------------------------------------------------------------
   ただしさん、こんばんは

>RecordSourceとRowSourceの違いっていうのだけ気になったのですが・・・?
>ヘルプをみたくてもなんか壊れていて見えないので気になったのですが。
>お時間があるときに教えてください。

フォームのソースが RecordSource、コントロール(リストボックス、コンボボックス)のソースが RowSource です。
だから今回のケースではRowSourceなのかなとおもいまして横レスしました・・

 ───────────────────────────────────────  ■題名 : できた♪  ■名前 : ただし  ■日付 : 02/12/25(水) 11:54  -------------------------------------------------------------------------
   こうちゃんさんレスありがとうございます^^
大変遅くなりもうしわけありませんでした(><)

>フォームのソースが RecordSource、コントロール(リストボックス、コンボボックス)のソースが RowSource です。
>だから今回のケースではRowSourceなのかなとおもいまして横レスしました・・

ただいま動作確認を行ってみたところうまく値集合ソースの内容を
変化させることができました^^

if テキスト1 = "1" then
[Forms]![フォーム名]![非連結OLE0].RowSource = "クエリのクロス集計1"
end if

if テキスト1 = "2" then
[Forms]![フォーム名]![非連結OLE0].RowSource = "クエリのクロス集計2"
end if

としましたらできました^^
みなさんありがとうございました。
遅くなりましてすいませんでした(汗

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 151