• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL作成ソフト(また、データベース)について)

SQL作成ソフト(また、データベース)について

このQ&Aのポイント
  • 他の質問で、CSVファイルをExcelで直接開いてしまうと最大行数を超えてしまうため、VBAでできないか質問したところメモリ不足や遅くなってしまうため、SQLでやれば簡単だと回答をいただきました。
  • CSVファイルをダイアログで開き、編集の際、1分間隔にし、その1分の間の「1分間隔の年月日と時刻」、「最初の数値」、「最大値」、「最小値」、「最後の数値」、「1分間のデータの個数」を1行とし、自動的にテキストファイル及びファイル名が作成され、保存する方法を探しています。
  • 質問する際の条件として、以下の条件を考慮しています。 - CSVファイルをダイアログで開ける - ポータブル版であること - 保存する場合もダイアログで開ける また、データベースソフトが必要な場合でも同様の条件でおすすめのソフトを教えていただきたいです。

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

  • ベストアンサー
回答No.5

【補足】2、3日で書けるプログラムなので・・・  質問者が欲しているプログラムは、多分、2、3日で書けると思いますよ。打ち合わせ、プログラミング、テストの全工程は10日もあれば十分かと思います。  内容としてはEXCELやAccessの固有機能を排除した純粋なVBAだけでのプログラミングになるかと。であれば、知り合いのVisaul Basicを書ける知人に頼まれたらどうでしょう。多分、A4で2ページは越さないと長さかと思います。

miya_HN
質問者

お礼

回答ありがとうございます。 プログラムを作るのにそんなに時間がかからないんですか。 他の質問でVBAで作る方法を質問したときには、VBAではメモリ不足になったり遅くなると聞いて、SQL+C#などのプログラム言語がよいと聞いたのですが・・・。 ただ、自分なりに考えてちょっといい方法を思いついたのでそれを試したいと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • catpow
  • ベストアンサー率24% (620/2527)
回答No.6

>>正直プログラム自体苦手なんですが、C#はプログラムの中でもかなり難しいんですね。 ええ、C#はオブジェクト指向が流行したあとに出てきた後発の言語です。 しかも、オブジェクト指向だけでは、ソフト開発の効率が大幅にアップできないことが分かりました。 そのため、C#は、オブジェクト指向をベースにしながらも、さらにメタ・プログラミングや関数型言など、さまざまなプログラミング思想を導入しています。 このあたりのプログラミング思想が理解できない開発者、例えばCOBOLプログラマとか、Windowsやっていても、VB6止まりのプログラマだと、C#のコードを視ても全く理解不能だと思います。 ただし、それらのことが理解できていると、C#でCSVやデータベースの処理するのは、極めてお手軽です。 これは、日本からアメリカに移動するのに、ジェット機の操縦免許があれば、とても楽だけど、その操縦免許を取得するのが大変だというのに似ている気がします。 ちなみに最近の仕事では、C#でCSVがらみでデータベースを使うことが多いです。 C#向けのCSVHelperとかFileHelperのパッケージがNuGetから導入可能ですが、これらのCSVサポートパッケージを使うと、本当に楽々でプログラムが作れます。 他チームのプロジェクト会議で、CSV開発やデータベース処理について「前回は、開発に時間がかかってしまった。」なんて声が聞こえてくることがあります。 「C#を使えば、楽ちんですよ」と言いたいこともあります。 が、その方たちは、C#使いではないので、何も言いませんけどね。 >>もう少し簡単に早くできるものがないか考えてみます。 私の場合は、大量のデータ処理(CSVを含む)だけと単純な処理、一回限りの使い捨て処理などを行なう場合、Perlを使っています。 インタプリタですので、コンパイルも不要。DBも不要。 走らせながら、エラーが出たらその都度修正してやればいいって感じです。

miya_HN
質問者

お礼

回答ありがとうございます。 やはり、C#は難しいんですね。 Perlというプログラム言語ですか。 自分が必要としているのは、プログラムでできたデータで、データベースは必要ないですね。 一回プログラムを作ってしまえば恐らく、当分プログラムを変える必要はないと思います。 ちょっといい方法を思いついたのでそれを試してみようと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.4

【完全など素人ですが・・・】 1、データベース(SQL系)は利用すべきではない。 2、ど素人でもチャッチャと1、2週間で済ます方法を選択すべし。  私事ですが、60歳定年後にJaveプログラミング学科(職業訓練)に通ってMySQLのコマンドラインツールを自作するのに4ヶ月の猛勉強を必要としました。かってはC言語の習得、Accessの習得にも6ヶ月を要しました。CPMからUNIXへ転身してC/Sシステムの設計とプログラミングを一人でやりきった経験を有していてもそんなもんです。データベースやC#の利用を模索するなんて泥棒を捕まえて縄をなうようなもの。ここは、ど素人でもチャッチャと1、2週間で済ますことができる方法を模索すべきかと思いますよ。

miya_HN
質問者

お礼

回答ありがとうございます。 SQLにしても他のプログラム言語にしても習得するのにかなり時間がかかるんですね。 作ろうとしているデータは重要なことは重要なんですが、本来の目的はそのデータを作ることではないため、回答者様がおっしゃるように他にもっと簡単で早く済ませられる方法を考えた方がよさそうですね。 参考になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • panacon
  • ベストアンサー率31% (214/679)
回答No.3

無料がネックですね。 有償でも良ければ、Accessを買って、 (1)テキストのインポート (2)更新クエリ (3)テキストへエクスポート 独学でできます。100万行でも動きますよ。 絶対無料なら、MySQLでできるかどうか。

miya_HN
質問者

お礼

回答ありがとうございます。 そうですね、無料が前提です。 Accessは聞いたことがあります。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • catpow
  • ベストアンサー率24% (620/2527)
回答No.2

直接CSVファイルを読み込んで、プログラムで処理してもいいんですけど、件数が多い場合は、 1)データベースにCSVファイルを取り込む。 2)作成したプログラムでデータベースに取り込んだデータを順番に読み出して必要な処理を行なう。 3)処理が終わったデータをテキストファイル、CSVファイルに書き出す。 こんな感じのプログラムを作成するほうが多いですね。 それは、間違ったデータがあった場合、データベースを使うと修正が楽だからです。 データーべースから読み込んだ後の処理が簡単であれば、SQL言語のみで可能です。 が、複雑な場合は、わりと作成が難しくなって、C#などでプログラムを作るほうがいいですね。 そして、お勧めなプログラム言語はC#ですが、初心者がマスターするのは、わりと(かなり?)大変かもしれません。 ちなみに、データベースで大量データの処理をSQL言語のみでやろうとした方がいました。 試してみると、24時間処理しても終わらないので、「これじゃあ運用にのせられない・・・」ということになりました。 それで、C#で同じような処理を作成したところ40分くらいで処理が終わりました。 もしかしたら、SQL言語でテストしたとき、データベースが変になっていたのかもしれませんが・・・。

miya_HN
質問者

お礼

回答ありがとうございます。 最初にCSVファイルを読み込むのではなく、通常は、データベースにCSVファイルを取り込んでから必要なプログラムを走らせるんですね。 他の質問のときにSQLのことを教えてくれた回答者の方もC#がよいと言っていました。 正直プログラム自体苦手なんですが、C#はプログラムの中でもかなり難しいんですね。 即できるものがいいんですが、かなり時間がかかりそうですね。 もう少し簡単に早くできるものがないか考えてみます。 ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.1

SQLというのは、RDBからデータを抽出する際に使う言語の事。 Wikiでは、データ操作や定義もSQLとされていますが、SQLと区別してDMLやDDLと呼ぶ事もあります。 https://ja.wikipedia.org/wiki/SQL 「SQLを作成する」=「SQLを自動生成する」ソフトは存在しますが、貴方がやろうとしている事とは全く異なる物です。 元の質問を見ていないのですが、VBA,CSV,SQLというキーワードから「ADOでCSVの読み込む」というアドバイスを貰ったのではないでしょうか。 http://excel-ubara.com/excelvba5/EXCEL118.html

miya_HN
質問者

お礼

回答ありがとうございます。 「ADOでCSVの読み込む」というアドバイスですか。 URLを参考にさせていただきます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A