• ベストアンサー

Access:データシート形式表示のフォームをそのままExcelへ

bonaronの回答

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

#1 さんの > データシートの左上四角部分をクリックしてコピー、Excelシート上で貼り付け、 > の方が確かかと思います。(項目部分がわかりやすい表示になるとか) これを VBA で実現してみました。 Private Sub コマンド1_Click()     Dim oApp As Object     Set oApp = CreateObject("Excel.Application")     oApp.Workbooks.Add     Me.サブフォーム名.SetFocus     DoCmd.RunCommand acCmdSelectAllRecords     DoCmd.RunCommand acCmdCopy     oApp.activesheet.Paste     oApp.Columns.EntireColumn.AutoFit     oApp.Visible = True     Set oApp = Nothing End Sub

yuky-4126
質問者

お礼

回答ありがとうございます! 参考に動かしてみたら、サブフォーム上では非表示にしているだけの列が出てしまったので、Excel側で消してみました。     Dim oApp As Object     Set oApp = CreateObject("Excel.Application")     oApp.Workbooks.Add     Me.サブフォーム名.SetFocus     DoCmd.RunCommand acCmdSelectAllRecords     DoCmd.RunCommand acCmdCopy     oApp.activesheet.Paste     oApp.Columns.EntireColumn.AutoFit '不要な列を削除 MaxCol = oApp.ActiveSheet.Cells.CurrentRegion.Columns.Count For i = 1 To MaxCol strTitle = oApp.ActiveSheet.Range("A" & i).value '本来は表示オプションボタンのTrueFalseを見てますが、仮に If strTitle = "ID" Then oApp.ActiveSheet.Range("A" & i).EntireColumn.Delete End If Next     oApp.Visible = True     Set oApp = Nothing まだいじり中ですが、思ったように動いているようです! ありがとうございます! 今の所特にエラーメッセージは無いのですが、本来の量のデータでも試してみようと思います。

yuky-4126
質問者

補足

あ、嘘です(汗)色々とコードをいじった後でした。 列と行を間違えていたり、まだ全然でした。。。 もぅ少しいじってみます。

関連するQ&A

  • Access:サブフォームにクエリ表示⇒フィールドを絞り込みたい

    Access2003 WinXP です。 フォームにサブフォームを置き、サブフォームのソースオブジェクトにクエリを参照しているデータシート形式のフォームを設定しています。 フォームに絞込み条件を選択するオプションボタン、表示するフィールドを選択するオプションボタンを配置し、 サブフォームへ表示するコマンドボタンを置いています。 この設定を選択した後コマンドボタンを押すと、クエリの中身を書き換えています。 で、実行すると、表示しない設定のフィールドには「Name?」という値が入ったフィールドがしっかり表示されてしまいます。 ソースオブジェクトにクエリ自体を設定すれば回避出来ますが、表示されたデータをダブルクリックするとその1レコードを表示する画面を更に開きたいと思っていますので、サブフォームにデータシート形式のフォームをセットするのがダブルクリックイベントを取得出来て良いかと思っています。 分かりにくい説明ですみません。 何か解決法を分かる方いらっしゃいましたら、お願いします。

  • サブフォームにデータが表示されない!

    サブフォームにデータが表示されない! フォーム(1)(非連結のtxt顧客コード) フォーム(1)にサブフォーム(2)(レコードソースはクエリ(3))を作り、 クエリ(3)顧客コードの抽出条件に[forms]![フォーム(1)].[form].[txt顧客コード]で選択しています。 フォーム(1)が開いた時にクエリ(3)は抽出しているのにそのデータがサブフォーム(2)に表示されません・・・ フォーム(1)を一度デザインビューにして開き直すとサブフォーム(2)に反映表示されます。 いろんな所にRequeryを入れたりしてみましたが、フォーム(1)を開いたときに一発で表示されません、教えてください!宜しくお願いいたします。

  • ACCESS 帳票フォームとデータシートをトグルボタンで切り替え

    フォーム上でサブフォームの帳票フォームとデータシートをトグルボタンかコマンドボタンで切り替えることはできないでしょうか? 現在、抽出したデータをサブフォーム(帳票フォーム)に表示させており、そのデータにある金額の合計を表示させています。 帳票フォームは見やすいのですが、データシートですと抽出したデータの一部をコピーしEXCELで使用したりできます。見やすさを諦めてデータシートに変更すると抽出したデータの合計が計算できません。 できれば、帳票フォームとデータシートどちらも使用したいのですが、いちいちデザインからサブフォームのプロパティで規定のビューから変更するのが面倒です。 上記にありますようにトグルボタンかコマンドボタンで切り替えることができれば便利なのですが・・・。 良い方法がありましたらお知恵を貸して下さい

  • フォームでクエリの一致したデータを一括表示したい

    こんばんは、初めまして。3z56uと申します。 標記の件で質問がありますので、どなたかご教授願います。 検索クエリで一致したデータをフォームで一度に表示したいのですが、 うまく行かず大変困っています。 イメージとしてはサブフォームのデータ表示なのですが、 これではない方法を教えてほしいのです。 今の状況はクエリにて抽出条件にスタッフコードを入力すると そのコードが対象になるデータが出てくるという状況です。 このデータをそのままフォームで表示されるようにしたいのですが…。 ちなみにバージョンはアクセス2000です。 そしてアクセスに関しては基礎ぐらいしか理解しておりませんので、 出来ればわかりやすい方法で教えて頂きたいです。 大変困っていますので、よろしくお願いします。

  • 【Access2007】データシートからデータの追加ができない。

    環境  Windows Xp Pro sp3 Access 2007 Accessのフォームにサブフォームがあり、テキストボックスを配置し、 データシート形式で表示しています。 RecordSourceはクエリを使用しています。 このデータシートより新規データを追加したいのですが、新規追加行が表示されません。 他の、正常に動作しているフォームと比較してみましたが、これといった差異はありませんでした。 フォームの更新・追加プロパティは「はい」にしてあり、更新はできています。 何か盲点的な原因はあるのでしょうか? また、上記現象時の確認すべき点を教えてください。 ご教示よろしくお願いします。

  • Accessのフォームのデータシート形式について

    Accessのフォームには、単票形式や表形式などがありますが、 そのうちの一つの「データシート形式」とはテーブルと何が 違うのでしょうか。 データが保存されないことはわかるのですが、見た目は全く一緒だし レイアウトをコントロールで変えるわけでもないし。 また、各形式には「データシートビュー」で一応データシート形式で フォームを見ることができるのになぜわざわざ「データシート形式」で作成する 必要があるのでしょうか ご存知の方教えて頂けますか。

  • アクセスのパラメータクエリをフォームからレポートに表示するには

    どなたかわかる方、教えてください! アクセスで、サブフォームにパラメータクエリ設置し、パラメータに抽出条件を入れるとサブフォームに一覧が表示するように設定しました。 この、いったんサブフォームに抽出したものを今度はそのままレポートにしてプリントアウトしたいと思っています。 同じパラメータクエリをフォームに設定すると、もう一回パラメータを入れなければならなくなってしまいます。 すぐにフォームからレポート表示に切り替えてプリントアウトする方法はありますか? よろしくお願いします。

  • AC2000でフォームから入力したデータをサブフォームに表示

    ID 商品名 単位 単価で商品マスタフォームを作っています。このフォーム内にサブフォームを作っておいて データが入力するたびにサブフォームへ表示させたいのですが、このときの条件としてID(オートナンバー)を降順(最新のデータが一番上になる)・データシート形式にしたいと思います。 T_商品(テーブル名) Q_商品(IDを降順としたクエリ) MF_商品(各入力テキストボックスがあるフォーム) SF_商品(MF_商品に貼り付けるサブフォーム) 降順にすると一番若いIDのデータだけがサブフォームに 表示されるのです。 requeryは必要なのでしょうか? よろしくお願い致します。

  • アクセス メインフォームの条件指定にてサブフォームを表示

    アクセス初心者です。 現在アクセス2000、MEにてシステム作成中です。 業務報告書を作っています。 メインフォームに2つのタブを作成。 1つのタブに3種類のサブフォーム(別々のクエリ)を表示しています。 現在は全てのデータ件数を表示していますが、これを期間指定して、その期間だけの件数を表示させるようにしたいのです。 今まで試してみた結果です。 考え方(1)パラメータとして入力  各クエリにbetweenパラメータとして入力  ⇒これは、3つのクエリ×2があるので入力を促す同じ処理が何回も表示され、とても使えませんでした。 考え方(2)メインフォームに非連結テキストボックスを作成して、それを参照  ⇒まず、終了年月日のイベント(更新後処理)にサブフォームを再クエリ(サブフォームのクエリには、メインフォームの開始と終了範囲をbetweenにて抽出)   ⇒⇒すると、そのままでは表示されず、デザインビューの切り替えなどを行うと表示されます。 そのために、マクロ(再クエリの後)に「オブジェクトの再描画」でこのサブフォームを再表示するようにしましたが、結果は同じです。 現在このような状態です。 マクロは分りますが、VBAはほとんど分らない状態です。 質問1 パラメータ指定の場合、各クエリに1回のパラメータを伝えられる方法があるのでしょうか? 質問2 再クエリしたこのデータをきちんと表示する方法は? どんな操作方法が良いのかはわかりません。 他に簡単でわかりやすい方法があれば、教えてください。どなたかよろしくおねがいします。 また、同じようにレポートも出力します。 同様の形式です。こちらも変更の予定です。 ですから、そのことを考えると、1回のパラメータで各クエリに伝えられるのがいいのですが・・・

  • データシート(サブフォーム)の複数条件抽出について。

    データシート(サブフォーム)の複数条件抽出について。 データシート(サブフォーム)の複数条件抽出について。 環境:ACCESS2000 DAO利用  現在メインフォーム上に、オートフォーム:データシート(基となるテーブル(マスターA)選択) をサブフォームとして置き、メインフォーム上にコンボボックス2個(コンボ1、コンボ2)&コマンドボタン1個設置してあります。 基テーブル(マスターA)には 種類    サイズ    商品名 の3フィールドがあります。 やりたい事は、コンボ1(対応フィールド:種類)及びコンボ2(対応フィールド:サイズ)で選択し コマンドボタンを押下で、サブフォーム内データの抽出です。 上記をクエリ使用でも、vba利用でもどちらでも大丈夫です。 先日この質問板で丁寧に教えて頂いたのですが、 回答して下さった方もおっしゃってたのですが、 動的に動かないとの事で、やっているうちにやはり 動的でないと難があるようなので 再度ご質問させて頂きました。 何卒ご教授の程宜しくお願い致します。 先日の質問板は下記です。 http://okwave.jp/qa/q5845718.html また、質問させて頂いている間も引き続き自分で調べながら やっていこうと思います。