• ベストアンサー

AccessのVBAでExcel同様の計測データ処理できますか?

 これまでExcelのVBAで計測データの処理を行っていました。 数千~数万行のデータを指定したXLSファイルから読み取り、 対象期間内の平均や分散を求めたり、後処理(累乗や対数あ り)を行うような処理です。  今回、新たに処理するデータが、Accessのファイル形式で 保存されています。提供元の都合でこちらからファイル形式 の指定はできません。  いままで通りの処理は、VBAさえ使こなせばAccess上でも可 能でしょうか? Accessの経験はないに等しいですが、可能 なら勉強して取り組んでみようと思います。  ファイルをXLSに変換してこれまでのようにExcel上で処理 という手も考えられますが、行数が多くファイルを分割する など手間が増えそうなので、可能ならばAccess上で処理でき ればと考えています。

  • KAKU
  • お礼率46% (19/41)

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

  • ベストアンサー
noname#95859
noname#95859
回答No.2

小生、Accessを実験データ処理に使っています。その観点から、経験からのコメントです。 (1)データは、100万行を超えることもありますから、Accessは必要不可欠 (2)GroupByで、必要なところをまとめて(平均であったり、合計であったり)行数を少なくして、Excelにexportして、グラフ化しています。 -------- 基本的に、データベースですから、貴兄の必要とする、分散、等、できるものと考えます。しかし、何が何でも、Access,或いはExcelと言うのは、 きっと良くないと思います。Accessが得意とするところ、Excelが得意とすることを使い分けることが大切だと思います。

KAKU
質問者

お礼

調べてみましたが、最終的にはグラフも欲しいので、Excelで扱える量を抽出してエクスポートするのがよさそうです。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

エクセル2007が発売されました。これを購入する手が考えられます。 ワークシートは今まで最大「6万5536行」「256列」だったのが、今度のエクセルはなんと「104万8576行」「1万6384列」に増えるそうです。 それに伴いメモリも増設する必要があるのかもしれませんが。 ーー アクセスVBAでアクセスのテーブル・レコードを読み、平均や標準偏差を出すことはできますし、関数もDSUM,DCOUNT、DAVG、DMIN,DMAX、DFIRST、DLAST、StDev,StDevpなど有ります。 あとSQLにもSQL関数でそれらがあります。標準偏差も求められます(StDevPなど)。 ーー 問題は>後処理(累乗や対数あり)を行うような処理です。 がどんなものか、部外者にはわからないし、このカテより理系のカテに質問されるほうが良い。 また自身で使っているエクセルの関数と、アクセスではそれがないか、少しの計算を加えて代替できないか調べてください。 >きますか 文字・数値の計算程度なら、究極の所スキル次第のところがあって 質問者のスキルはわからず、今後の勉強次第で伸びるから、この質問は意味が少ない。

関連するQ&A

  • AccessからExcelへエクスポートするVBA

    いつもお世話になっております。 AccessのクエリからデータをExcelにエクスポートします。 形式はMicrosoft Excel97-2003です。 フォーム"F_全データ"にボタンを付けて、クリックするとファイル名を自分で付けて保存する。というVBAを作成したいです。 1つ目のVBAは DoCmd.OutputTo acForm, "F6_全データ", "MicrosoftExcelBiff8(*.xls)", "", False, "", 0 これだと、ファイルの種類が、Microsoft Excel5-7になってしまい困ります。 この形式になってしまうと、Excelデータを開くと、文字数が多いところが保存されていません。これだと困ります。 2つ目が DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "F_全データ", "○○○.xls" こちらですと、ファイルの種類は97-2003になりまして、問題はないのですが、ファイル名は自分で指定したいのです。 ご指導よろしくお願いします。

  • <ACCESS VBA -> EXCEL>getObjectしたEXCELファイルのシートを指定したい

    ACCESSのVBAマクロでEXCELファイルを指定してデータを取得しようとしています。 GetObject("C:\ファイル名.xls", "Excel.Sheet") でEXCELファイルを取得するまでは良いのですが、そのファイルのシートを指定する方法がわかりません。 基本かもしれませんが、ご教示をお願いします。

  • アクセス2003・VBA

    アクセス2003を使っています。 アクセスのVBAを使って下記のやり方を教えて下さい。 (1)ファイル名を指定して、エクセルファイルを開く。 (VBA構文上でファイル名を入力し、固定するのではなく、そのVBAを実行すると、ファイルをダイアログで選択する方法です。) (2)その開いたファイルで2行目からデータが入っている行までをコピーし、そのVBAを実行しているアクセスファイルの特定のテーブルに貼り付ける。 上記の方法がお分かりの方、是非教えて下さい。 よろしくお願いします。

  • Excel → Access データをインポート

    OS WinXP Pro SP2 Office 2000 SP3 はじめまして。 マクロ(Excel VBA)を記述しているExcelファイル(Xls_Macro.xls)とインポート用データのExcelファイル(Xls_Data.xls)は別々のファイルになっていて、マクロを実行するとExcelファイルとインポート用データのExcelファイルのデータをAccessファイル(Access.mdb)にインポートする仕組みを開発しています。 インポート用データのExcelファイル(Xls_Data.xls)をADOで接続しレコードセットでデータを取得し、Accessファイル(Access.mdb)もADOで接続しレコードセットの「.AddNew」でAccessファイル(Access.mdb)に更新しようと考えています。 この考え方で問題ないのでしょうか!? もっと簡単な方法があるという方や、何か良い方法をお持ちの方 いらっしゃいましたら、よろしくお願いいたします。

  • ACCESS VBA xlsファイルのインポート  

    accessのVBAでxls形式のファイルを既存のテーブルにインポートしたいんですが、インポートするファイルがテーブル形式になっていない状態(要望票みたいな感じなので不規則にデータが状態)なのでセルをひとつづつ指定して、テーブルに取り込んでいくことは可能なんでしょうか? どこのサイトを探してもCSV形式からのインポートの方法しか記述されておらずこちらで教えていただければ助かります。 またセルを結合しているのでその場合でもテーブルにインポートは可能なんでしょうか? よろしくお願いします。

  • Access VBAからExcelシートの削除

    お世話になります。 Access VBA から指定したExcelシートの削除を行うプログラムを下記の通りに記載しています。 Set oApp = CreateObject("Excel.Application") oApp.Workbooks.Open FileName:="エクセル.xls" oApp.DisplayAlerts = False oApp.Sheets("シート名1").Delete oApp.DisplayAlerts = True この場合において、"シート名1"が存在していれば問題なく処理されますが、 このシートが存在していなければエラーが起きます。 指定したExcelブックにこのシートが存在するかどうかのチェックを事前に行い、 存在する場合のみ削除処理を行うにはどうすればよいでしょうか? よろしくお願いします。 環境は、Access2007です。

  • 【ACCESS】 VBA

    accessのVBAからエクセルファイルを参照する仕組みを作成しています。 エクセルファイルのシート名は数字になっており 下記のように記述するとエラーとなります。対応方法を教えてください。 STR_sheetは1 Set Xls_sheet = Xls_book.Worksheets(STR_sheet) こうしてみてもダメ Set Xls_sheet = Xls_book.Worksheets(Format(STR_sheet)) ちなみに、エクセルのシート名は変更不可です。

  • MATLABの変わりにExcel VBAを使う

    表データをプログラムにて自動処理やシミュレーションしたいと思った時、 MATLABを使えばだいたいの事はできると思うのですが、 変わりにVBAマクロを使うメリットはありますでしょうか? 読み込めるファイル形式の多様性など、Excel VBAがMATLABより勝っている部分を教えていただきたいです。

  • EXCEL2007でワークブックのクローズ処理

    教えてください。 EXCEL2003形式ファイルのVBAに、 Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Close SaveChanges:=False End Sub を記述してファイルを保存します。(作成は、EXCEL2003で保存します。) (仮にBook1.xlsとします。) このファイル(Book1.xls)をEXCEL2007で開きます。 このとき、別のファイル(仮にBook2.xlsとします。形式は、EXCEL2003です)をEXCEL2007で開きます。 で、Book1.xlsを×ボタンで終了すると、 EXCEL2007が異常終了します。 環境依存でしょうか? PCの環境に、EXCEL2003とEXCEL2007が混在しています。

  • AccessのVBAの教本を探しています

    VBAはEXCELで結構使うのですが、データ量がEXCELでは処理しきれないので、AccessのVBAでデータ処理をやりたいのですが、基本事項とコマンドを解説した適当な教材を探しています。どなたか紹介いただけないでしょうか。

専門家に質問してみよう