
No.3ベストアンサー
- 回答日時:
逐次ではなく、最後に(ボタンとかを押して)まとめて書き込むとして、
・Excelを開く
(データの入力)
(記入終了のボタンを押す)
・SQLサーバーに接続
・テーブルへのデータの挿入(SQL文でのINSERT)
・SQLサーバーの切断
(・Excelに関する終了処理)
個々に分けて考えれば、検索すれば事例はたくさん出てくると思います。
具体的につまずいたところがあれば、また。
No.5
- 回答日時:
※1みなさんが、言われている方法
・エクセルに書く
・各行[A/B/C/・・・]と対応するSQLサーバのフィールドに対し、INSERT文を発行する
アプリケーションとして、王道の流れです。
※2それ以外の方法としてはSQLサーバなので
・エクセルに書く
・エクセルのデータを、テーブル単位でテキスト形式で保存
・BCPコマンドで、テキストファイル(テーブル)単位まとめてSQLサーバにぶっこむ
アプリケーションとしては非常に不向きです。
トリガやリレーショナルを無視して、データを作成できちゃいます。
ただ、テストをするためのデータ管理などであれば、ツールとして非常に便利です。
あなたは、どの部分がききたいのですか?
>かなり困ってます
あなたがした行動が全く見えません。
ここの掲示板にExcel関係の履歴は異常なほどいっぱいあります。
・Excel関係全般(Excel.Application)
・開く(Workbooks.Open)
・保存(Save)
・書く(Value)
・読む(Value)
ただ、Excelを介する理由もよくわかりません。
Excelシートを各事業所から収集して、それをサーバのDBにアップするのであれば、
・EXCELのデータを読む
・EXCELデータからDB更新
で良いと思うのですが、
・元ネタを読む
・元ネタをEXCELに書く
・EXCELのデータを読む
・EXCELデータからDB更新
ならば、EXCEL処理が邪魔なだけに思うのですがいかがでしょう?
パーツを質問しているのであれば、メソッド一つの回答で済みますが、流れを質問するのであれば、背景も一緒に書きましょう。
http://www.geocities.co.jp/SiliconValley/5656/#C …
No.4
- 回答日時:
お世話になります。
私の場合は,PostgreSQLですが,
似たような事やっています。
ご参考になれば。
#3さんと若干かぶりますが…
■外部ファイル
(1)DB接続情報を記述したファイル
(2)Excelの何番目の列が,PostgreSQLのどのテーブル
のどのFieldに該当するかのマッピング情報
を記述したファイル
■手順
1.(1)・(2)を読みこんで内容をメモリ上に保持。
2.ユーザーにExcelファイルをUIで指定させる。
3.Excelファイルのシート群を取得。
4.ユーザーにどのシートかを選択させる。
5.確認画面の表示。
6.Excelのデータと(2)を元に,メモリ内に
SQL文の配列を生成。
7.ユーザーはボタンを押して実行。
8.(1)に基づいてDB接続し,
begin transaction
SQL文の配列の実行
commit transaction
No.2
- 回答日時:
すみません。
補足です。私はSQLサーバーではなくOracle使用ですが、ほぼ同じことをしています。
KOHEI_JAPANさんが現在どこまでできていて、なにをしたいのかもう少し具体的に教えていただければ幸いです。
VBからEXCELを開くとこまではOKとか、SQLサーバーとの接続はできてるのかとか、データは逐次か入力後まとめてエクスポートしたいのかとか、そのあたりよろしく。
この回答への補足
早速のご回答ありがとうございます!
まだ作っていませんが、できそうなことは、
VBからエクセルを開くことはできそうなのですが、
その後がどうしたらいいのか想像がつきません???
イメージとしては、SQLサーバにすでにテーブルがあって、
そのテーブルに毎日データを追加する作業があるので、
エクセルから直接サーバにアップできればと思ったのです。
エクスポートのタイミングはいつもでもいいので、
簡単な方がいいと思っています。
どうぞ、よろしくお願いしますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
ユーザーフォームのテキストボ...
-
配列でデータが入っている要素...
-
DataGridViewのデータの引渡し...
-
【エクセル】測定時間がバラバ...
-
多量のSUMIF式を軽くしたい
-
特定のデータの抽出方法を教え...
-
メモ帳(テキストデータ)をExc...
-
【プログラム】プログラミング...
-
VBA & easycomm で長時間測定の...
-
ビットシフトについて
-
VBA 空白セルを削除ではない方...
-
【VBA】データを入力後に,同一...
-
[C言語] コメント文字列を無視...
-
Excel VBAでのオートフィルター...
-
Accessで該当データにフラグを...
-
エクセルで2つの時系列のデー...
-
COBOL数値転記をCOPY句内での仕様
-
VBA 円グラフ 特定条件に一致し...
-
C言語の度数分布の問題
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報