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で記述していいのかわからなくて(汗 |
開くフォームのオープン時イベント?で Select Case Forms!フォーム名!テキスト1 Case 1 Me.RecordSource = "クエリ1" Case 2 Me.RecordSource = "クエリ2" End If でどうでしょうか? |
>開くフォームのオープン時イベント?で > >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(名前)の値集合ソースの内容を変えたいのですが。。。 |
何をしたいのかを箇条書きで書いていただけますか? #コードだけでは、やりたいことが分からないので。。 と、コードをどのフォームの何のイベントに書いているのかも教えてください。 >値集合ソースにはデフォルトのときには空白にするのでしょうか? どちらでも大丈夫だと思いますよ。 #空白でも設定しておいても。 >非連結オブジェクトフレームが貼ってあり、 >その非連結OLE0(名前)の値集合ソースの内容を変えたいのですが。。。 同じように記述すればいいと思いますけど。。 |
イケガミさんレスありがとうございます^^ すいません、わかりにくくかいてしまって(汗 あるフォーム上で 区分と年月を入力しましてボタンを押すことにより そこで入力した値を 別フォームに値をわたします。 そのときに年月が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月から並んでしまうため) 条件によってフォームをそのたんびに作るのはめんどうなので 値集合ソースの値を変化できるようにしたいとおもいまして・・・ まだわかりにくいかとも思うのですが(汗 |
>そのときに年月が01(月)ならば >別フォームの非連結オブジェクトフレームの値集合ソースの >内容をクエリ01に変化させて表示(グラフ)したいと思っています。 別のフォームを開いた後に、別のフォームから値を取得した方がいいような。。 コードの最後に、 Me.Requery と入れれば、抽出条件を反映した結果がフォームに表示されますよ。 |
ただしさん、こんにちは イケガミさん、横レス失礼します。 イケガミさんのおっしゃるように、なにをしたいかが把握できていませんが、コントロールの値集合ソースでしたら Me.非連結OLE0.RowSource = "クエリ1" ではいかがでしょう? #ただ、非連結のOLEオブジェクトフレームで値集合ソースがクエリというのはよくわかってなかったりしますが・・^^; ぜんぜん的外れでしたらごめんなさい。 |
イケガミさん、こうちゃんさんレスありがとうございます^^ 返事が遅くなりましてすいません(><) あるフォームからボタンを押して別フォームのOPEN時イベントのほうで RecordSourceなどをするほうがいいのでしょうか? どちらにしてもエラーがでてしまうのですが・・・あ ちょっと後日に内容を詳しく書きたいと思います(><) 違う仕事がいそがしいものですからなかなかさわれなくて。。。 RecordSourceとRowSourceの違いっていうのだけ気になったのですが・・・? ヘルプをみたくてもなんか壊れていて見えないので気になったのですが。 お時間があるときに教えてください。 |
ただしさん、こんばんは >RecordSourceとRowSourceの違いっていうのだけ気になったのですが・・・? >ヘルプをみたくてもなんか壊れていて見えないので気になったのですが。 >お時間があるときに教えてください。 フォームのソースが RecordSource、コントロール(リストボックス、コンボボックス)のソースが RowSource です。 だから今回のケースではRowSourceなのかなとおもいまして横レスしました・・ |
こうちゃんさんレスありがとうございます^^ 大変遅くなりもうしわけありませんでした(><) >フォームのソースが RecordSource、コントロール(リストボックス、コンボボックス)のソースが RowSource です。 >だから今回のケースではRowSourceなのかなとおもいまして横レスしました・・ ただいま動作確認を行ってみたところうまく値集合ソースの内容を 変化させることができました^^ if テキスト1 = "1" then [Forms]![フォーム名]![非連結OLE0].RowSource = "クエリのクロス集計1" end if if テキスト1 = "2" then [Forms]![フォーム名]![非連結OLE0].RowSource = "クエリのクロス集計2" end if としましたらできました^^ みなさんありがとうございました。 遅くなりましてすいませんでした(汗 |