アクセスVBAでの出力設定について

このQ&Aのポイント
  • 初めての質問投稿となります。アクセステーブルデータを、フィールドキー毎にエクセルテンプレートへ出力しようと試みています。
  • 様々なサイトを参考に下記の対応は作成してみたのですが、組み合わせ方が上手く理解できずに行き詰っております。
  • クエリにてフィールドキー毎のデータを作成し、都度エクセルへコピペする作業工数を減らすべくご教示いただけますと幸いです。
回答を見る
  • ベストアンサー

アクセスVBAでの出力設定について

初めての質問投稿となります。 アクセステーブルデータを、フィールドキー毎にエクセルテンプレートへ出力しようと試みています。 様々なサイトを参考に下記の対応は作成してみたのですが、組み合わせ方が上手く理解できずに行き詰っております。 ①テーブルのレコードをフィールドキー毎に ②エクセルのテンプレート(B3セルから)へレコード出力し ③シート名・ファイル名にフィールドキーをつけて保存 テーブル名:報告リスト (ブロック/支店名/社員コード/etc...) フィールドキー:ブロック クエリにてフィールドキー毎のデータを作成し、都度エクセルへコピペする作業工数を減らすべくご教示いただけますと幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

こちらの解釈でコードを組み立ててみました。 たとえば、「報告リスト」が以下のような テーブルとします。IDは便宜上補充した フィールドです。今のところデータの 取り出しに必要なものではないので、 以降のコードの中では用いていません。 ID----ブロック----支店名----社員コード 1-------東京----池袋支店--------123 2-------埼玉----川口支店--------211 3-------埼玉----所沢支店--------221 4-------群馬----高崎支店--------311 5-------千葉----松戸支店--------412 6-------東京----新宿支店--------111 7-------千葉----野田支店--------413 8-------群馬---伊勢崎支店-------312 ブロックごとのデータをExcelの雛型ファイルに 送り出し、データを受けた雛型のファイルを ブロック別のファイル名と、データのあるシート をブロック名の入ったシート名にして 別ファイルとして保存する、ということでいいですか。 コードの内容は、 (1) テーブルの「ブロック名」の名寄せをして、     「ブロック」のテーブルをメモリ上に     作成。 (2) (1)のデータを元に「報告リスト」に     ブロック毎にフィルタをかけ、ブロック     別のデータを取り出す。このとき、     コード上ではSQLで必要なフィールドだけに     焦点を合わせたデータを対象としています。     この場合は「ID」のフィールドを除外     しています。 (3) (2)で取り出したデータをExcelの雛型     ファイルに送り出し、所定の位置に     貼り付ける。 (4) 雛型ファイルをそれぞれのブロック名で     保存し、そのときシート名もブロック名に     し、同じフォルダに保存。 (5) 順次、それぞれのブロックについても     同様にファイルを保存していく。 と、 このような感じです。以下がそのコードです。 Sub test()   Dim db As DAO.Database   Dim rs1 As DAO.Recordset   Dim rs2 As DAO.Recordset   Dim strPath As String   Dim strSQL1 As String   Dim strSQL2 As String   Dim qdf1 As DAO.QueryDef   Dim strKey As String   Dim objExcel As Object   Dim wkb As Object   Dim strFileName As String   Dim objSheetName As Object   strSQL1 = "SELECT 報告リスト.ブロック FROM 報告リスト GROUP BY 報告リスト.ブロック;"   strSQL2 = "SELECT 報告リスト.ブロック, 報告リスト.支店名, 報告リスト.社員コード " & _        "FROM 報告リスト;"   strPath = CurrentProject.Path   'Set objExcel = CreateObject("Excel.Application")   Set objExcel = GetObject("", "Excel.Application")   Set wkb = objExcel.Workbooks.Open(Filename:=strPath & "\報告用雛型.xls")   Set objSheetName = wkb.Worksheets("Sheet1")   Set db = CurrentDb   Set qdf1 = db.CreateQueryDef("", strSQL1)    'Set rs1 = db.OpenRecordset("Qブロック")   Set rs1 = qdf1.OpenRecordset()   rs1.MoveFirst   Do Until rs1.EOF     strKey = rs1!ブロック     Dim qdf2 As DAO.QueryDef     Set qdf2 = db.CreateQueryDef("", strSQL2)     Set rs2 = qdf2.OpenRecordset()     rs2.Filter = "ブロック = '" & strKey & "'"     Set rs2 = rs2.OpenRecordset()     If rs2.RecordCount > 0 Then       With objSheetName         .Range("B3").CopyFromRecordset rs2         .Name = strKey       End With     End If     strFileName = strPath & "\" & "" & strKey & "" & "報告書" & ".xls"     objExcel.DisplayAlerts = False     wkb.SaveAs strFileName     objExcel.DisplayAlerts = True     rs2.Close: Set rs2 = Nothing     qdf2.Close: Set qdf2 = Nothing   rs1.MoveNext   If rs1.EOF Then     wkb.Close   End If   Loop     Set objSheetName = Nothing     Set wkb = Nothing     objExcel.Quit     Set objExcel = Nothing     qdf1.Close: Set qdf1 = Nothing     rs1.Close: Set rs1 = Nothing     db.Close: Set db = Nothing End Sub こうした処理は、どこかでタスクの残存が生じて 一部のファイルが読み取り専用になったりして あたふたするんですが、やはりタスクの残存が 生じてあたふたしましたが、タスクの強制終了の コードを走らせることは何とか回避できたようです。 ただし、こちらの環境での話で、もしかしたら 別の環境ではそういったことが生じるかも しれません。 なお、データをSQL文のクエリで抽出していますが、 これは必要に応じて、クエリを作成してそれを テーブルにしてもいいですし、フィールド数が 多ければそのほうが運用するうえで楽かも しれません。そのときはコードの変更で わからないことがあれば補足などを してください。

koji_hg
質問者

お礼

おはようございます。質問に目を留めて下さり感謝致します。 回答内容のご認識の通りとなります。 テーブル全レコードを雛形の所定セルへ全件出力は叶ったので、for~nextやDo~loopを組み合わせてチャレンジしていたのですがなかなか。。。 早速動作確認させていただきます。

koji_hg
質問者

補足

度々の補足失礼致します。 出力データの確認をしておりましたところ、データ量(行数)の多いブロックの次のブロック以降に不具合が見つかりました。 [例] 東京ブロック・・20行 埼玉ブロック・・50行 群馬ブロック・・30行➡30行まで群馬、31~50行まで埼玉のデータ 神奈川ブロック・20行➡20行まで神奈川、21~30行群馬、31~50行埼玉 雛形シートをcopyなど対応しておりますが解決に至っておりません。解決方法などご教示いただけますでしょうか。

その他の回答 (5)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.6

piroin654様  あなたの予測が的中したようですね  〈ブロック〉が何を意味するのか理解できませんでしたが  ご回答中横から入り、失礼します。 koji_hg様回答に入ります >都度エクセルへコピペする作業工数を減らす  ★添付図はT_報告リストをレコードソースとした選択クエリです ・ブロックと支店名に並べ替えを設定します ・オートナンバー型の主キーのIDは必要ありません ・〈F_報告リスト〉を開いたときに  1.データのエキスポート  2.エクセルファイルを開く  3.〈F_報告リスト〉閉じる  この処理のコードです -------------------------------------------------------------- Private Sub Form_Load() Dim エクセル名 As String エクセル名 = "C:\倉庫\報告用雛型.xlsx" 'エクセルへ転送 DoCmd.TransferSpreadsheet acExport, , "Q_報告リスト", エクセル名, True, "報告リスト" 'エクセルファイルを開く Call Shell("Excel.exe " & エクセル名, vbMaximizedFocus) 'フォームを閉じる DoCmd.Close End Sub --------------------------------------------- エキスポートのセル位置はA1からで、別のsheetに式で設定します エクセル名 = "C:\倉庫\報告用雛型.xlsx" 拡張子が.xltの雛形ファイルの保存場所が分かりません  

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.5

このようなエラーは実際のコードを見ないと わからないのですが。 コード中のどこかで構造的な変更あるいは 書き加えはありますか。 たとえば、以下のIf文はそのまま存在していますか。   rs1.MoveNext   If rs1.EOF Then     wkb.Close   End If >しかしながら、最後の objExcel.Quit 部で、 >「オブジェクト変数またはwith ブロック変数が >設定されていません。」エラーとなり、 >雛形Excelが読取のままとなってしまいます。 これはたぶん雛型ファイルを閉じるときに何らかの 操作を加えたりした場合に起こります。 あるいは何らかの理由でファイルが開いたまま なっている場合です。 あるいは、     objExcel.Quit     Set objExcel = Nothing の上下が入れ替わっているとか。 コードの最後のあたりで、   End If   Loop     On Error Resume Next     Set objSheetName = Nothing     wkb.Close     Set wkb = Nothing     objExcel.Quit     Set objExcel = Nothing     qdf1.Close: Set qdf1 = Nothing     rs1.Close: Set rs1 = Nothing     db.Close: Set db = Nothing のように、     On Error Resume Next と     wkb.Close を加えてみてください。 また、   Set objExcel = GetObject("", "Excel.Application") を   Set objExcel = CreateObject("Excel.Application") に切り替えてみてみてください、 それでもExcelのタスクが残るようであれば 強制的にExcelを終了させるコードを走らせる ことにします。 一度は https://www.google.co.jp/search?q=ms+access+%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%A4%89%E6%95%B0%E3%81%BE%E3%81%9F%E3%81%AFwith+%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E5%A4%89%E6%95%B0%E3%81%8C%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93&ei=AAB_Y_DaF7O32roPiNyx4AY で、確認してみてください。

koji_hg
質問者

お礼

回答ありがとうございます。 「On Error Resume Next」と「wkb.Close」の追加でエラー&Excelタスク終了確認致しました!(10回実施)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

投稿した後で気が付いたのですが、コード中の SQL文の乱れ   コメントアウトしたままのコード   Excelファイルの拡張子が xls になっている    などがあります。そのあたりは確認しながら試してみて ください。 なお、コメントアウトしたままの、 'Set rs1 = db.OpenRecordset("Qブロック") は、名寄せをするために作成したクエリを レコードセットとする一文です。投稿したコードでは 使用していません。

koji_hg
質問者

お礼

お世話になっています。下記現象の対応は次ブロック書き込え前にobjsheetname内の書込み行以降のデータをクリアする一文で対応致しました。(.Borders.LineStyle = xlLineStyleNoneが上手く機能せず、一番多いデータの範囲まで罫線が出てしまうのですが、ひとまず、都度担当者に削除してもらうこととします。) <出力ファイル内のデータ内容>******************** 1ファイル目/東京・・20データ(行) 2ファイル目/埼玉・・50データ(行) 3ファイル目/群馬・・30行データ(行)➡30行まで群馬、31~50行まで埼玉のデータ 4ファイル目/神奈川・・20行データ(行)➡20行まで神奈川、21~30行群馬、31~50行埼玉 雛形シートcopyなど対応しておりますが解決に至っておりません。解決方法などご教示いただけますでしょうか。 ****************************************************** こちらのサイトへの投稿は初めてで、使い勝手が分からず、初期段階回答へのお礼となりますこと、ご容赦願います。 データ増大やキーとなるフィールド増となっても、こちらのVBAを使いボタン一つで作業が完結します。 他案件時にも応用させていただきます。本当にありがとうございました。

koji_hg
質問者

補足

動作確認し、思い通りのリストが出力できました! 現在、データ範囲への罫線設定で苦戦中ですが、出力先の指定(変更)とセル幅の自動調整はできました。 しかしながら、最後の objExcel.Quit 部で、「オブジェクト変数またはwith ブロック変数が設定されていません。」エラーとなり、雛形Excelが読取のままとなってしまいます。 こちらの回避につき補足いただけますと幸いです。 よろしくお願い致します。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

的外れならゴメン ①テーブルのレコードをフィールドキー毎に 例えば〈特定の日付と支店名〉 ②エクセルのテンプレート(B3セルから)へレコード出力し  デザインされた伝票の項目と解釈します ③シート名・ファイル名にフィールドキーをつけて保存  Accessからエキスポートすると新規にSheetが生成されますがセル内の式も記述せねば  ならないため 〈シート名・ファイル名〉を変更する事は自動では不可能 テーブル名:報告リスト (ブロック/支店名/社員コード/etc...)  〈ブロック〉とはテーブル内の1つのレコードと解釈しました。 フィールドキー:ブロック  〈フィールドキー〉とは日付、商品等の組み合わせの抽出keyと解釈しました ----------------------------------------------------------------------- 〈テンプレート〉  Accessの価格が高額だったころ、業務はExcelでやっていました  Excelの式は行、列、sheetのどのアドレスでも対象と出来るので良いが、  表示されるので、式のあるセルも、実数のセルも表示されるので、式のあるセルの値が  期待と違うとき、期待値を入力してしまい、せっかくの式が潰れてしまい。  拡張子が〈*.xltx〉形式のテンプレートを開いて入力の必要なセルへ入力して保存すると  新規ファイル.xlsとなる。 ★Excelからのエキスポートを試みましたがうまくいきません 因みにコロナ感染者数の新聞情報をAccessに入力して、グラフ化のためExcelへ  エキスポートしています 添付図をご覧下さい A,B,C列がエキスポートされた項目で保健所毎に縦にンランでいます。 D,E,F列がグラフ作成用に式で配置しました ★Accessでは項目毎に入力、数値、文字、入力ロック、スキップ、コンボの定義できるので  入力のスピードと精度が上がります

koji_hg
質問者

お礼

回答ありがとうございました。 やりたいことはとてもシンプルで、テーブルのレコードをブロック別に雛形のExcelにレコード出力するというものです。 回答いただきました内容は、今後のAccess活用法として参考にさせていただきます。 質問に目を留めていただき大変嬉しく、感謝しております。ありがとうございました。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

自分ならExcelでAccessをインポートするより Accessでクエリを作成し、Excelへエキスポートします。 添付図参照 --------------------------------------- 補足願います ①テーブルのレコードをフィールドキー毎に  〈フィールドキー〉どのようなものですか ②エクセルのテンプレート(B3セルから)へレコード出力し  〈テンプレート〉とは雛形のエクセルファイル   〈*.xltx〉の事ですよね   通常は〈*.xlsx〉、〈*.xlms〉で運用しますが   敢えて〈テンプレート〉にした狙いは何ですか 〈レコード出力〉B3セルの値を含むテーブルのレコードを対象と  することですか ③シート名・ファイル名にフィールドキーをつけて保存  テーブル名:報告リスト (ブロック/支店名/社員コード/etc...)  フィールドキー:ブロック  このSheetの数はおおよそ何件ぐらいですか

koji_hg
質問者

補足

回答ありがとうございました。 何点か補足させていただきます。 Accessフォーム上の出力ボタン押下により、所定のフォルダ内に、ブロック毎のリストを出力しようとしています。 こちらのリストはクライアントへの納品物となります。 ①フィールドキーとは、リスト内の1項目(ブロック)を指します。 ②テンプレートとは.xlsxで作成した雛形です。 ③現在シート数(ブロック数)は12です。 いずれも紛らわしい表示で申し訳ありませんでした。よろしくお願い致します。

関連するQ&A

  • アクセスからエクセルのテンプレートへの出力

    お世話になっております。 アクセス(クエリ)から テンプレートファイル(エクセル)へ ユーザー単位で出力するには どのようにすれば良いでしょうか? QRY_出力: ユーザー名|ユーザーID|商品|単価|数量|日付 という表示クエリがあり、 このクエリから ユーザー名毎(もしくはユーザーID毎)に テンプレートファイル(エクセル)の「出力Sheet」へ出力した上で、 [ユーザー名]_出力日.xlsx という名前で別名保存したいです。 ※商品×1のユーザーは1レコード  商品×2のユーザーは2レコード・・・の出力のイメージです。 初心者につき、つたない説明かもしれませんが、 ご教示のほどよろしくお願い致します。

  • アクセス 複数条件の抽出~出力について

    ■アクセスのフォームにて、複数の条件を入力し、合致するリストをエクセルで出力する   データベースを構築しようとしています。  ⇒この複数の条件を入力する件に関し質問です。 ■目的は、顧客からのアンケート回答結果をDBから取出し、エクセルにて解析を行う事です。  情報量が膨大であるため、セグメントした形で出力し効率を上げたいと考えています。 ○テーブルのフィールド構造:   支店(テキスト型)、顧客No(数値型)、顧客名(テキスト型)、質問1(数値型)、質問2、・・・   ○フォーム「データ抽出」の構造: [支店名1][支店名2] [顧客No1][顧客No2] [顧客名1][顧客名2]       【出力ボタン】 ※上記テキストボックスいずれかに入力された条件に合致するデータが          【出力ボタン】を押すとエクセルに出力されるという構造です。          ※ボタンのイベントに「抽出マクロ」を設定。 ○抽出クエリ: 支店 [Forms]![データ抽出]![支店名1]  Is Null [Forms]![データ抽出]![支店名2]  Is Null 顧客No [Forms]![データ抽出]![顧客No1]  Is Null [Forms]![データ抽出]![顧客No2]  Is Null 企業名 like "*" &[Forms]![データ抽出]![顧客名1]& "*" Is Null like "*" &[Forms]![データ抽出]![顧客名2]& "*" Is Null               ○マクロ(抽出マクロ):  クエリを開く (抽出クエリ)  コマンドの実行(エクセルに出力)  閉じる (抽出クエリ) と設定しました。そこで実行確認すると・・・・  (例)     (1)支店名1だけに入力して、他は空欄で出力ボタンを押下。     ⇒条件セグメントされず、全てのデータがエクセル出力されてしまう。     (2)全ての項目に入力して出力ボタンを押下     ⇒条件セグメントされたデータがエクセル出力される。  という現象が起こりました。  例示(2)は良いとして、(1)の様な空欄がある状態でも、条件にマッチした出力をしたいのですが上手くいいかず困っています。    尚、クエリの抽出条件を支店フィールドだけにした所・・ 支店  [Forms]![データ抽出]![支店名1]   Is Null  [Forms]![データ抽出]![支店名2]   Is Nul 支店名1に入力して支店名2は空欄であっても条件にマッチした出力結果が得られました。 長文恐縮でございますが、どなたか解決法をご教授いただきたく存じます。よろしくお願いいたします。

  • Access VBA Excel エクスポート

    Access VBAにてExcel エクスポートの処理を記述しました。 現在の記述だと、出力対象のテーブル(クエリ)ごとに1つのファイルとなっており、ファイルの管理が大変なため、1つのExcelファイルで、複数シートに出力したいのですが、どこを修正すればよろしいでしょうか? ’出力対象のクエリ名が入っている配列の要素数(出力対象のクエリ数)を取得する j = UBound(QName) ’出力するクエリの分だけ繰り返す For i = 0 To j   ’同じファイル名のExcelファイルが見つかった場合 If Dir(Path & EName(i)) <> "" Then 'データ更新のため、見つかったファイルを削除する Kill Path & EName(i) End If   ’出力対象のクエリにデータ(レコード)が存在する場合 If Count(i) > 0 Then 'Excelファイルを再度作成する   ’Qname(i)が出力するクエリ名、Pathが出力先のパス、Ename(i)が出力ファイル名です。 DoCmd.TransferSpreadsheet acExport, 10, QName(i), Path & EName(i), True, "" End If End If Next

  • AccessからのExcel出力

    お世話になります。 Access2010 フォームに「Excel出力」ボタンを設置し、押すとクエリの内容を Excelに出力するツールを作成しました。 具体的には、ボタンを押すと出力先を指定するダイアログを表示し、 フォルダが選択されたら、そのパスを取得し、そこにExcelファイルが 作成されます。 出力されるファイル名は「情報_yyyymmdd.xlsx」です。 DoCmd.TransferSpreadsheet acExport, 10, "Q_Dummy", strFolder & "情報_" & Format(Date, "yyyymmdd") & ".xlsx", True, "" strFolderは、ダイアログで選択されたパス Q_Dummyは出力するクエリ <質問1> 上記にて問題無く出力はされますが、例えば今日だと「情報_20160704.xlsx」 というファイルをデスクトップに作成したとします。 で、再度デスクトップに作成しようとした場合「既に同じ名前のファイルが あります、上書きしますか?」というメッセージは表示されず そのまま上書きされてしまいます。 DoCmd.TransferSpreadsheet acExportを実行する前に、事前に出力先の パスに同ファイル名が存在していないかチェックした上で、手動で 「上書きしますか?」のメッセージを表示させる必要があるのでしょうか。 <質問2> 「そのまま上書きされてしまいます。」と書きましたが、実際には マージされてしまうようです。 例えば、2レコード抽出されたクエリの内容を出力し、そのExcelを開いて 表外に「ああああ」と入力します。 次に条件を変えて3レコード抽出されたクエリの内容を出力します。 そうすると、ちゃんと3レコードの内容が出力されていますが 表外に入力した「ああああ」は残ってます。 ※画像1 また、表内のセルに「AAAA」と入力し、そのセルに色付けした状態で、 再度出力すると、「AAAA」は上書きされますが、色は付いたままです。 ※画像2 という結果から、  ・ファイル自体が作成し直される訳ではない。  ・上書きされる部分はあくまでもクエリの内容(表内)の部分だけ   であり、書式や表外の部分については上書きされない。 ということになるかと思います。 その認識で問題ありませんでしょうか。 上書きされないように(そもそも同じファイル名にならないように) ファイル名を「情報_yyyymmdd_hhmmss.xlsx」にすればいいかとは 思うのですが。。 ご教示の程、宜しくお願い致します。

  • accessのvbaでの質問です。

    クエリやテーブルから全件でわなくて、フォームで検索し引っかかったレコードの分だけエクセルに出力させたいんです。 指定したセルにはこの値。 ってな感じで出力させたいです。 でも、いろいろとがんばって見たんですけど・・・。 どーしても、複数行ってのは無理でした・・・。 複数行だと、検索に引っかかった最後のレコードの情報しかそれぞれのセルに入らず、全部入らなかったんです。 どなたかこれを解決できる方いませんか?

  • accessからExcelテンプレートへの出力

    お世話になります。 accessのクエリ内データをテンプレExcel内の指定セルに出力したいです。accessVBAで以下の流れで作成したく。 ①accessでクエリ抽出(複数レコードに顧客ID、所属、売上げ額) ②テンプレExcel内の顧客ID、所属、売上げ額をそれぞれのセルに入力 ③1人分が出来たら、ファイル名「顧客ID+"売上表".xlsx」で保存先「フォルダA」へ保存したい。 ④同様にクエリ内の他の対象者もExcelファイル作成し、「フォルダA」へ蓄積したい。 ⑤可能であれば、「フォルダA」内のファイルをメールで一括送信したく、ファイルパス名リストも別エクセルに出力したい。 説明が拙い部分もあるかと思いますが、何卒お力をお貸しいただけないでしょうか。

  • SSMSEを使ったクエリ結果をエクセルで出力したい

    SSMSE(SQLServerManagementStudioExpress)を使用してクエリを作成し、問題なく結果が出ました。そのデータをエクセルなどで出力する方法はあるのでしょうか。現在はコピペでやっています。宜しくお願いいたします。

  • アクセス出力date()の0:00:00を無くす

    アクセス2010を使っています。 http://support.microsoft.com/kb/291245/ja http://www.accessclub.jp/bbs/0244/beginers79891.html 上記の2サイトを参考にして CSV出力時にdate()で求めた当日の日付データの時間0:00:00が出ないようにしたいのですが、 サイト内の解説がいくつかわからない点がありますので教えてください。 まずテーブルを作成してクエリを作りました。 テーブルは テーブル名:testdate フィールド名:日付 データ型:日付/時刻型 書式:日付(s)  …例2010/06/06 としました。 クエリはテーブルは上記の一つで、 フィールドは一つで フィールド名:日付2: Format([日付],"yyyy/mm/dd") としました。 両サイトとも、クエリをエクスポートする、と書いてあるのですが、エクスポートというのは外部へ行うものだと思うのですが、別のクエリのフィールド内に「エクスポート」するのでしょうか。 またdate()の要素がないのですが、どこに入れるべきでしょうか。 上記の手順に間違いはないか、その後のエクスポートの仕方はどこにどうやることを指しているのか、上級者の方にアドバイス願いたいです。 不足があれば補足します。どうぞよろしくお願いいたします。

  • Access操作について

    クエリにレコードの追加をしたいのですが、テーブルと1対多のリレーションの設定がされているため、クエリにレコードを追加できません。 そこでお聞きしたいのですが、(1)クエリにレコードを追加する方法を教えて下さい。(2)そもそも、クエリからデータを追加する必要性は、一般的にあるのか。(最近、勉強をはじめたからなのですが、)レコードを追加することは通常テーブルからのみすることなのですか。それとも、テーブルとクエリ双方からレコード(データ)を追加できるようにした方がいいのですか? 別の質問ですが、クエリ等を開いて、それを閉じるときには、やっぱり右上にある、×印をクリックするほかに方法は無いのですか。やや、エクセルなどと比べると、マウスポインタを右上まで持っていくことが面倒なのですが。しょうがないのでしょうか? 宜しくお願いします。

  • AccessでExcelに出力

    クエリで抽出したデータをエクセルに出力すると、左上から(セルA1)から詰めて表示されますが、たとえばAの行に任意の文、データはBの行から表示させる方法はあるでしょうか。 また、出力するデータを自分で作成した表にはめ込む、もしくははめ込んだ状態で出力させるということは可能でしょうか? よろしくお願いします。

専門家に質問してみよう