30246kiku の回答履歴

全943件中1~20件表示
  • 3つのテーブルの画面表示

    Access 2013 vba リレーションが貼ってある親子関係の3つのテーブルがあったとして・・・ A table: ・ID1(主キー) ・依頼会社ID ・依頼内容 ・金額総合計(Bの会社毎の金額の合計) B table: ・ID2(主キー) ・ID1(外部キー) ・会社ID ・金額計(Cの明細の金額の合計) ・完了日 ※AのID1 : BのID1 = 1 : 多 C table: ・ID3(主キー) ・ID2(外部キー) ・項目名 ・単位 ・数量 ・金額 ※BのID2 : CのID2 = 1 : 多 このようなテーブル構成がある場合に まず、AとBの画面を作りそこでBの情報を入力して 次に、Bの帳票のどれかを選ぶと、 BとCのメイン・サブフォームが表示され、そこでCの明細を入力するというやり方も考えていますが、もう一つ、1つの画面で、BとCを両方サブフォームとして配置し、Bの方のレコードを選択すると、Cの方でそれに対応する明細が表示できるようなものを作りたいです。 このような方法が可能か教えていただきたいのと、その場合のやり方を教えて下さい。 宜しくお願いします。

  • 3つのテーブルの画面表示

    Access 2013 vba リレーションが貼ってある親子関係の3つのテーブルがあったとして・・・ A table: ・ID1(主キー) ・依頼会社ID ・依頼内容 ・金額総合計(Bの会社毎の金額の合計) B table: ・ID2(主キー) ・ID1(外部キー) ・会社ID ・金額計(Cの明細の金額の合計) ・完了日 ※AのID1 : BのID1 = 1 : 多 C table: ・ID3(主キー) ・ID2(外部キー) ・項目名 ・単位 ・数量 ・金額 ※BのID2 : CのID2 = 1 : 多 このようなテーブル構成がある場合に まず、AとBの画面を作りそこでBの情報を入力して 次に、Bの帳票のどれかを選ぶと、 BとCのメイン・サブフォームが表示され、そこでCの明細を入力するというやり方も考えていますが、もう一つ、1つの画面で、BとCを両方サブフォームとして配置し、Bの方のレコードを選択すると、Cの方でそれに対応する明細が表示できるようなものを作りたいです。 このような方法が可能か教えていただきたいのと、その場合のやり方を教えて下さい。 宜しくお願いします。

  • サブフォームの新規レコードに移動したい アクセス

    親フォームのコマンドボタンをクリックしたら 親フォームにはまっているサブフォームの新規レコードに移動したいのですが、 うまくできません。 サブフォームのオブジェクト名は、"F_SubForm"です。 サブフォームはデータシートビューです。 VBAコードは Private Sub cmd_test_Click() DoCmd.SelectObject acForm, "F_SubForm" DoCmd.GoToRecord , , acNewRec End Sub です。 上記コードを実行すると DoCmd.SelectObject acForm, "F_SubForm" の部分で、 「実行時エラー 2489  オブジェクトが開いていません。」 となります。 だからと言って、 DoCmd.GoToRecord , , acNewRec だと、何も起こりません。(新規レコードに移動しません) 解決方法をご教授ください。

  • ACCESS 前年比

    下記のようなテーブルがあります。 検収日 品名 数量 クエリにて、下記の様に月別数量の合計を出したいと思います。 どの様にすればよいでしょうか。 月    今年の数量合計 前年の数量合計 前年比(%) 4月   1,000         2,000         50% 5月   2,000         2,000         100% 6月   3,000         1,500         200% ・ ・ ・ 2月 3月 合計   6,000         5,500        109% ※例えば、今年度の7月~3月までの数量合計はまだ出ていないので今年度の7月~3月までの欄は空欄、前年比も空欄、合計は今年度の数字が入力してあるところまでの前年比を出したいです。 ACCESS 2013です。

    • noname#224171
    • 回答数2
  • ACCESS 前年比

    下記のようなテーブルがあります。 検収日 品名 数量 クエリにて、下記の様に月別数量の合計を出したいと思います。 どの様にすればよいでしょうか。 月    今年の数量合計 前年の数量合計 前年比(%) 4月   1,000         2,000         50% 5月   2,000         2,000         100% 6月   3,000         1,500         200% ・ ・ ・ 2月 3月 合計   6,000         5,500        109% ※例えば、今年度の7月~3月までの数量合計はまだ出ていないので今年度の7月~3月までの欄は空欄、前年比も空欄、合計は今年度の数字が入力してあるところまでの前年比を出したいです。 ACCESS 2013です。

    • noname#224171
    • 回答数2
  • アクセス クロス集計クエリ→テーブル作成クエリ

    クロス集計クエリは、 そのままテーブル作成クエリを使って クロス集計クエリのままテーブルにすることはできないのでしょうか? クロス集計クエリの時は、行見出し・列見出しがあるのに、 そのままテーブルにはなりません。

  • ACCESS クエリの抽出項目をEXCELから

    Access2000のクエリの抽出項目をExcel2013の内容を抽出項目として指定するにはどうすればよいでしょうか。 Excelには、 佐藤 田中 鈴木 ......... のように縦に名前が最大18名分入っています。 この(最大)18名の名前をAccessの抽出項目とします(フィールドは10あってその6番目に抽出項目を18名分入力したいのです)。 18名を一人一人コピペしていたのですが、何とか簡素化できないものかな?と思っています。 できれば、マクロで一発で抽出項目を貼り付けたいのですが。 よろしくお願いします。

  • ACCESS クエリの抽出項目をEXCELから

    Access2000のクエリの抽出項目をExcel2013の内容を抽出項目として指定するにはどうすればよいでしょうか。 Excelには、 佐藤 田中 鈴木 ......... のように縦に名前が最大18名分入っています。 この(最大)18名の名前をAccessの抽出項目とします(フィールドは10あってその6番目に抽出項目を18名分入力したいのです)。 18名を一人一人コピペしていたのですが、何とか簡素化できないものかな?と思っています。 できれば、マクロで一発で抽出項目を貼り付けたいのですが。 よろしくお願いします。

  • ACCESS クエリの抽出項目をEXCELから

    Access2000のクエリの抽出項目をExcel2013の内容を抽出項目として指定するにはどうすればよいでしょうか。 Excelには、 佐藤 田中 鈴木 ......... のように縦に名前が最大18名分入っています。 この(最大)18名の名前をAccessの抽出項目とします(フィールドは10あってその6番目に抽出項目を18名分入力したいのです)。 18名を一人一人コピペしていたのですが、何とか簡素化できないものかな?と思っています。 できれば、マクロで一発で抽出項目を貼り付けたいのですが。 よろしくお願いします。

  • 他のMDBのテーブルに追加したい

    Access2010のADOについてご質問します。 以下のようにして、データを追加しています。 Dim SQL As String Dim cn As ADODB.Connection Set cn = CurrentProject.Connection ' SQL = "INSERT INTO テーブルA ( 勤務時間 ) " SQL = SQL & "SELECT [テーブルA ].[勤務時間] " SQL = SQL & "FROM テーブルA ; " cn.Execute SQL ご質問したいのは、 当MDB(PC)から社内サーバーにあるMDBのテーブルに追加したいのです。 違うテーブル名でしたら、リンクをすれば済む話とは思いますが 同じテーブル名の「テーブルA」なので どのようにすればいいのか困っています。 ご指導の程をよろしくお願いします。

  • Access クロス集計クエリについて

    お世話になります。 クロス集計クエリの結果が以下の内容になっているとします。 項目   2013年10月  2014年07月  2014年08月  2014年09月 商品数  100        150       120        130 顧客数  2000       2200      2100       2200 ※2013年11月~2014年6月までのデータ無し 上記クエリで、データの無い期間の商品数及び顧客数を0とし、また見出しも 埋めたいところです。 項目   2013年10月  2013年11月 ・・・2014年08月  2014年09月 商品数  100        0         120        130 顧客数  2000       0         2100       2200 このように表示したい場合、やはり元データにレコードを作成し各数量は0で 登録しなければなりませんでしょうか。 それとも、実際にレコードが無くても、上記表示は可能でしょうか。 ************ 当該クエリの内容は最終的にExcelファイルに貼り付けします。 現状、左詰めで貼り付けられてしまう為、可能であれば1年分の 体裁を整えた状態で貼り付けしたいところです。 ご教示の程、宜しくお願い致します。

  • Access Excelへ出力時にエラー

    お世話になります。 下記にてローカルクエリの抽出結果をExcelへ出力しております。  Dim obj As Object  Dim MyDB As DAO.Database  Dim MyRs As DAO.Recordset  Dim qdf As DAO.QueryDef  Dim out_path as String  Dim sheet_name as String  out_path = "出力先ファイルのフルパス(ファイル名含む)"  sheet_name = "出力先シート名" Set MyDB = CurrentDb Set obj = GetObject(out_path, "Excel.Sheet") obj.Application.Visible = False obj.Parent.Windows(1).Visible = True Set qdf = MyDB.QueryDefs("ローカルクエリ名") With qdf .Parameters("[forms]![test]![id]") = Forms!test!id Set MyRs = .OpenRecordset .Close End With obj.Worksheets(sheet_name).Select   ← (注) obj.Application.Cells(24, 1).CopyFromRecordset MyRs ※ローカルクエリの抽出条件としてフォーム上のテキストボックスを  参照しているため、Parametersを使ってます。 とりえあず上記で抽出結果は出力されます。 但し、適当なExcelファイルを開いた状態で実行すると、(注)の箇所で 「実行時エラー1004 WorksheetクラスのSelectメソッドが失敗 しました」となってしまいます。 なお、Selectの箇所をActiveにすると「実行時エラー438 オブジェクトは このプロパティまたはメソッドをサポートしていません。」と表示されます。 また、obj.Application.Visible = False の箇所で開いていた Excelファイルが閉じてしまうのですが、そういうものなのでしょうか。 勉強不足で大変恐縮ですが、ご教授の程、宜しくお願い足します。

  • Access Excelへ出力時にエラー

    お世話になります。 下記にてローカルクエリの抽出結果をExcelへ出力しております。  Dim obj As Object  Dim MyDB As DAO.Database  Dim MyRs As DAO.Recordset  Dim qdf As DAO.QueryDef  Dim out_path as String  Dim sheet_name as String  out_path = "出力先ファイルのフルパス(ファイル名含む)"  sheet_name = "出力先シート名" Set MyDB = CurrentDb Set obj = GetObject(out_path, "Excel.Sheet") obj.Application.Visible = False obj.Parent.Windows(1).Visible = True Set qdf = MyDB.QueryDefs("ローカルクエリ名") With qdf .Parameters("[forms]![test]![id]") = Forms!test!id Set MyRs = .OpenRecordset .Close End With obj.Worksheets(sheet_name).Select   ← (注) obj.Application.Cells(24, 1).CopyFromRecordset MyRs ※ローカルクエリの抽出条件としてフォーム上のテキストボックスを  参照しているため、Parametersを使ってます。 とりえあず上記で抽出結果は出力されます。 但し、適当なExcelファイルを開いた状態で実行すると、(注)の箇所で 「実行時エラー1004 WorksheetクラスのSelectメソッドが失敗 しました」となってしまいます。 なお、Selectの箇所をActiveにすると「実行時エラー438 オブジェクトは このプロパティまたはメソッドをサポートしていません。」と表示されます。 また、obj.Application.Visible = False の箇所で開いていた Excelファイルが閉じてしまうのですが、そういうものなのでしょうか。 勉強不足で大変恐縮ですが、ご教授の程、宜しくお願い足します。

  • accessで移動平均する方法

    会社コード、品目コード、月度、出荷数の入った明細テーブルがあります これを過去3ヶ月で出荷数を移動平均したいのです 例 元データ 会社コード、品目コード、月度、出荷数 A00000001,AAAAAAA,201410,10 A00000001,AAAAAAA,201410,10 A00000001,AAAAAAA,201408,10 B00000002,BBBBBBB,201408,10 出力したい値 会社コード、品目コード、月度、出荷数 A00000001,AAAAAAA,201410,10←出荷数は同じ会社コード、品目コードの(10月+9月+8月)÷3) A00000001,AAAAAAA,201409,3.33←出荷数は同じ会社コード、品目コードの(9月+8月+7月)÷3) A00000001,AAAAAAA,201408,3.33←出荷数は同じ会社コード、品目コードの(8月+7月+6月)÷3) B00000002,BBBBBBB,201408,3.33←出荷数は同じ会社コード、品目コードの(8月+7月+6月)÷3) このような事がしたいのですがどのようにしたら実現できるでしょうか 月度で移動平均なんて良く使いそうな気がしますが・・簡単なようで難しく悩んでおります どうかよろしくお願い致します

    • h0712
    • 回答数17
  • Access 抽出結果をExcelへ出力

    お世話になります。 VBAより抽出結果をExcelへ出力したいと思います。 とりあえず、抽出結果をExcelの特定の箇所へ出力することは 出来たのですが、今回は見出し(フィールド名)もあわせて出力 したいところです。 見出しの部分を出力するにはどうすればよいのでしょうか。 恐らく見出し部分と抽出結果部分はそれぞれ別々に出力 しなければならないとは思うのですが。。 なお、見出し部分は固定の文字列ではないため、毎回フィールド名を 取得し、それを見出しとして出力する必要があります。 抽出結果(集計クエリ)は、 項目 yyyy年mm月 ・・・・ yyyy年mm月 数量A      500   ・・・・    1200        数量B      200   ・・・・     800 というような感じで、現在は 数量A      500   ・・・・    1200        数量B      200   ・・・・     800 の部分だけ出力できている状況です。 Dim obj As Object Dim MyDB As DAO.Database Dim MyRs As DAO.Recordset MySQL = SQL文(集計クエリ) Set MyRs = MyDB.OpenRecordset(MySQL) obj.Worksheets(シート名).Select obj.Application.Cells(23, 1).CopyFormRecordset MyRs 上記でExcelへ出力してます。 ご教授の程、宜しくお願い致します。

  • Access VBAよりシート名を取得したい

    お世話になります。 現在、Accessにてツールを作成しておりますが、VBAより 特定のパスにあるExcelファイルのシート名を取得する必要が あります。 ※当該ツールはRuntime環境にて利用するため、CreateObject  が利用できません。 取得はDAO.Tabledefs を使って取得できましたが、GetObjectを 使って取得する方法をご教授頂けると幸いです。 シート名を取得するExcelファイルが、 C:\test\テスト.xlsxの場合 どのような記述になりますでしょうか。 勉強不足で大変恐縮ですが、ご教授のほど宜しくお願い致します。

  • ACCESSを活用して商品変動を追いたい(別続)

    達人様 http://okwave.jp/qa/q8783133.html についての続きです。。 No.3 のSQL記述により、 こちらのテーブルデータが、、 受付日 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/04/02 大島太陽 34567890 55555 魔法瓶 1 2980 2014/05/01 山田花子 12345678 33333 御茶碗 1 1280 2014/05/14 大島太陽 34567890 55555 魔法瓶 2 5960 2014/07/15 山田花子 12345678 22222 洗面器 1 980 2014/08/19 佐藤一郎 56789870 11111 お箸 1 580 2014/09/10 佐藤一郎 56789870 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 2014/09/29 鈴木次郎 89089089 11111 お箸 1 580 2014/09/29 鈴木次郎 89089089 22222 洗面器 1 980 以下のようになりました。 受付日 切り替え 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/05/01 30 山田花子 12345678 33333 御茶碗 1 1280 2014/07/15 75 山田花子 12345678 22222 洗面器 1 980 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 この場合、鈴木次郎も佐藤一郎のように変動なし(非表示)とはできないのでしょうか。 ↓↓↓ 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 2014/09/29 鈴木次郎 89089089 11111 お箸 1 580 2014/09/29 鈴木次郎 89089089 22222 洗面器 1 980 ●希望の表示(前回からの変動だけを抑えたい) 受付日 切り替え 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/05/01 30 山田花子 12345678 33333 御茶碗 1 1280 2014/07/15 75 山田花子 12345678 22222 洗面器 1 980 スイッチングをしていないものは非表示としたい(複数行も同じ)、矛盾していますでしょうか。 ↓↓↓ >> というのは、6/1 の「御茶碗」の表示を確認する際、5/1 に「御茶碗」以外があるか・・・ 「魔法瓶」があるので、表示する様に・・・ もう1つの 6/1 の「魔法瓶」の表示を確認する際、5/1 に「魔法瓶」以外があるか・・・ 「御茶碗」があるので、表示する様に・・・ つまり、1日の受付が複数の個数で、その個数が一致し、内容も一致したものが連続する場合、 表示されます。 必要であれば、考えてみますが 仮に、「1日の受付が複数の個数で、その個数が一致し、内容も一致したものが連続する場合」は スイッチングをしていないので、これは連続する後ろの方は変動なしとして非表示とできるもの なのでしょうか???? むずかしいでしょうか。

    • mcdone
    • 回答数3
  • ACCESSを活用して商品変動を追いたい(別続)

    達人様 http://okwave.jp/qa/q8783133.html についての続きです。。 No.3 のSQL記述により、 こちらのテーブルデータが、、 受付日 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/04/02 大島太陽 34567890 55555 魔法瓶 1 2980 2014/05/01 山田花子 12345678 33333 御茶碗 1 1280 2014/05/14 大島太陽 34567890 55555 魔法瓶 2 5960 2014/07/15 山田花子 12345678 22222 洗面器 1 980 2014/08/19 佐藤一郎 56789870 11111 お箸 1 580 2014/09/10 佐藤一郎 56789870 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 2014/09/29 鈴木次郎 89089089 11111 お箸 1 580 2014/09/29 鈴木次郎 89089089 22222 洗面器 1 980 以下のようになりました。 受付日 切り替え 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/05/01 30 山田花子 12345678 33333 御茶碗 1 1280 2014/07/15 75 山田花子 12345678 22222 洗面器 1 980 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 この場合、鈴木次郎も佐藤一郎のように変動なし(非表示)とはできないのでしょうか。 ↓↓↓ 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 2014/09/29 鈴木次郎 89089089 11111 お箸 1 580 2014/09/29 鈴木次郎 89089089 22222 洗面器 1 980 ●希望の表示(前回からの変動だけを抑えたい) 受付日 切り替え 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/05/01 30 山田花子 12345678 33333 御茶碗 1 1280 2014/07/15 75 山田花子 12345678 22222 洗面器 1 980 スイッチングをしていないものは非表示としたい(複数行も同じ)、矛盾していますでしょうか。 ↓↓↓ >> というのは、6/1 の「御茶碗」の表示を確認する際、5/1 に「御茶碗」以外があるか・・・ 「魔法瓶」があるので、表示する様に・・・ もう1つの 6/1 の「魔法瓶」の表示を確認する際、5/1 に「魔法瓶」以外があるか・・・ 「御茶碗」があるので、表示する様に・・・ つまり、1日の受付が複数の個数で、その個数が一致し、内容も一致したものが連続する場合、 表示されます。 必要であれば、考えてみますが 仮に、「1日の受付が複数の個数で、その個数が一致し、内容も一致したものが連続する場合」は スイッチングをしていないので、これは連続する後ろの方は変動なしとして非表示とできるもの なのでしょうか???? むずかしいでしょうか。

    • mcdone
    • 回答数3
  • クロス集計クエリ

    クロス集計クエリは、行の合計しか表示する事が出来ないのでしょうか? 列の合計(縦の合計)もクロス集計クエリで表示するには どうすればいいですか? サブクエリとか使わないとダメでしょうか? もうひとつ合計行のクロス集計クエリを作るのが楽ですか?

  • ACCESSを活用して商品変動を追いたい(別続)

    達人様 http://okwave.jp/qa/q8783133.html についての続きです。。 No.3 のSQL記述により、 こちらのテーブルデータが、、 受付日 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/04/02 大島太陽 34567890 55555 魔法瓶 1 2980 2014/05/01 山田花子 12345678 33333 御茶碗 1 1280 2014/05/14 大島太陽 34567890 55555 魔法瓶 2 5960 2014/07/15 山田花子 12345678 22222 洗面器 1 980 2014/08/19 佐藤一郎 56789870 11111 お箸 1 580 2014/09/10 佐藤一郎 56789870 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 2014/09/29 鈴木次郎 89089089 11111 お箸 1 580 2014/09/29 鈴木次郎 89089089 22222 洗面器 1 980 以下のようになりました。 受付日 切り替え 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/05/01 30 山田花子 12345678 33333 御茶碗 1 1280 2014/07/15 75 山田花子 12345678 22222 洗面器 1 980 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 この場合、鈴木次郎も佐藤一郎のように変動なし(非表示)とはできないのでしょうか。 ↓↓↓ 2014/09/12 鈴木次郎 89089089 11111 お箸 1 580 2014/09/12 鈴木次郎 89089089 22222 洗面器 1 980 2014/09/29 鈴木次郎 89089089 11111 お箸 1 580 2014/09/29 鈴木次郎 89089089 22222 洗面器 1 980 ●希望の表示(前回からの変動だけを抑えたい) 受付日 切り替え 氏名 電話番号 商品コード 商品名 数量 価格 2014/04/01 山田花子 12345678 55555 魔法瓶 1 2980 2014/05/01 30 山田花子 12345678 33333 御茶碗 1 1280 2014/07/15 75 山田花子 12345678 22222 洗面器 1 980 スイッチングをしていないものは非表示としたい(複数行も同じ)、矛盾していますでしょうか。 ↓↓↓ >> というのは、6/1 の「御茶碗」の表示を確認する際、5/1 に「御茶碗」以外があるか・・・ 「魔法瓶」があるので、表示する様に・・・ もう1つの 6/1 の「魔法瓶」の表示を確認する際、5/1 に「魔法瓶」以外があるか・・・ 「御茶碗」があるので、表示する様に・・・ つまり、1日の受付が複数の個数で、その個数が一致し、内容も一致したものが連続する場合、 表示されます。 必要であれば、考えてみますが 仮に、「1日の受付が複数の個数で、その個数が一致し、内容も一致したものが連続する場合」は スイッチングをしていないので、これは連続する後ろの方は変動なしとして非表示とできるもの なのでしょうか???? むずかしいでしょうか。

    • mcdone
    • 回答数3