Excel(*.xls)とADOで接続、.Addnewしてみた


三流君(TOP) /ASPで遊ぶ /記事一覧 test056-1.asp
ASPからADOを使用してExcel(*.xls)と接続して、
.AddNewでレコードを追加する。

接続文字列は
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\users\ken3_org\Cgi-bin\test\test056.xls;Extended Properties=Excel 8.0
です
その次はレコードセット
Select * from FIELD_RANGE, db, 〜
開いたレコードセットに対して.AddNew
フィールドにアクセスする
.Updateで更新(レコード確定)
rs.Close でレコードセットを閉じる
db.Close でxlsとの接続を閉じる

時刻、IPアドレス(頭つぶして)ユーザーのブラウザ情報を書き込みました
[書き込んだtest056.xlsを開く]
↑書き込まれたデータの確認

↑がExcel表のレイアウトと名前の定義(FIELD_RANGE)です。

コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[Blogで商品紹介] ← 足跡から人気を判断?
[本日発売の商品] ← 発売日が当日の商品を紹介、、、するが効果が無いので → [先週発売の商品] ← を作成して、先走らないで、少し落ち着いてみます(笑)

.AddNewを使用したサンプル(ソースの紹介)

詳細解説は[http:/asp/backno/asp056.html]を見てください
下記、/cgi-bin/test/test056-1.aspのソース(中身)です

.AddNew を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードは.AddNew です。 <%@LANGUAGE=VBScript%> <html> <head> <title>Excel(*.xls)とADOで接続、.Addnewしてみた</title> </head> <body> <h1 style="color:black;background-color:#e0ffe0"> Excel(*.xls)とADOで接続、.Addnewしてみた</h1> <hr> test056-1.asp<br> ASPからADOを使用してExcel(*.xls)と接続して、<br> .AddNewでレコードを追加する。<br> <hr> <% '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- LockTypeEnum Values ---- Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 '---- CursorLocationEnum Values ---- Const adUseServer = 2 Const adUseClient = 3 'ADO DB Connection オブジェクトを作成する、英文そのままじゃん Set db=Server.CreateObject("ADODB.Connection") '接続文字列 strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath("test056.xls") & ";" & _ "Extended Properties=Excel 8.0" Response.Write "接続文字列は<br><b>" Response.Write strCon & "</b><br>です<br>" 'データベース(xls)を開く db.open strCon Response.Write "その次はレコードセット<br>" 'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん Set rs=Server.CreateObject("ADODB.Recordset") rs.CursorLocation = adUseServer 'カーソルはサーバーの指定 Response.Write "Select * from FIELD_RANGE, db, 〜<br>" rs.Open "Select * from FIELD_RANGE", db, adOpenStatic, adLockOptimistic Response.Write "開いたレコードセットに対して.AddNew<br>" rs.AddNew Response.Write "フィールドにアクセスする<br>" '↓フィールド名でアクセス rs.Fields("F_HIZUKE").Value = Now() rs.Fields("F_IP").Value = "XXX" & Mid(Request.ServerVariables("REMOTE_ADDR"), 4) '↓番号でアクセスも出来るよ rs.Fields(2).Value = Request.ServerVariables("HTTP_REFERER") rs.Fields(3).Value = Request.ServerVariables("HTTP_USER_AGENT") Response.Write ".Updateで更新(レコード確定)<br>" rs.Update Response.Write "rs.Close でレコードセットを閉じる<br>" rs.Close Set rs = Nothing 'オブジェクト変数を開放する Response.Write "db.Close でxlsとの接続を閉じる<br>" db.Close Set db = Nothing 'オブジェクト変数も開放する %> <hr> 時刻、IPアドレス(頭つぶして)ユーザーのブラウザ情報を書き込みました<br> [<a Href="test056.xls" TARGET="_blank">書き込んだtest056.xlsを開く</a>]<br> ↑書き込まれたデータの確認<br> <img src="http://www.ken3.org/backno/gif/asp056-01.gif"><br> ↑がExcel表のレイアウトと名前の定義(FIELD_RANGE)です。<br> </body> </html>

最近発売の雑誌を紹介する

たまには、パズルなとで頭を柔らかくしておくと、プログラミングのひらめきもUPするかなぁ・・・
  1. オールクロスワード 2008年 06月号
  2. スケルトンくらぶ 2008年 06月号
  3. アロー & スケルトンパル 2008年 06月号
  4. お絵かきメイト 2008年 06月号
  5. デラックスクロスワード 2008年 06月号
  6. まちがいさがしミュージアム 2008年 06月号
  7. まちがいさがしメイト 2008年 06月号
  8. クロスワード in (イン) 2008年 06月号
  9. 漢字ナンパラ DX (デラックス) 2008年 06月号

SQL総合の書籍を紹介します

  1. [4774117552]- 改訂新版 SQLポケットリファレンス (Pocket reference)
  2. [4797335459]- プロとしてのOracle PL/SQL入門
  3. [4891005114]- ひと目でわかるMicrosoft SQL Server 2005 (マイクロソフト公式解説書)
  4. [4873112818]- 初めてのSQL
  5. [4781910246]- リレーショナルデータベース入門―データモデル・SQL・管理システム (Information&Computing)
  6. [4798014958]- PostgreSQL完全機能リファレンス―実行例を通して「理解」を深める。

Googleで関連項目を検索する

LANGUAGE=VBScript + [キーワード:.AddNew] Sub|Function プログラム|プログラミング
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

ASPでExcel(*.xls)を使用する
(ADOで*.xlsと接続, xlsファイルの作成など)

テスト実行とサンプルソース

ASP系、ADO使用、Excel(*.xls)接続、SQL発行、メルマガ解説リンク

[No.53 ADOでExcelファイル(*.xls)とやっと接続できた(ほっ)]
[No.54 ADOでSQL Select * INTO文発行でExcel(*.xls)を作成する]
[No.56 Excel(*.xls)とADOで接続、.Addnewしてみた]
[No.57 Excelグラフ付の雛形シートにASPからADOを使用してデータセット]
[No.59 結果をExcelで返すならresponse.ContentType=application/vnd.ms-excel]

[No.79 文字列9-30をExcelに移すと日付と誤解される・・・]
[No.84 ADO Excel(*.xls)接続 [Sheet1$]でシート指定、列名無しで遊ぶ]
[No.85 ADOでExcel(*.xls)に接続 .GetRowsで全件読み込んでみた]
[No.103 ADOでExcel(*.xls)に接続 指定したセルを更新する ]

三流解説とリンクページを紹介

ASP系の解説を項目ごとにまとめてみました

[ASP Form等を使用したデータのやり取り]
[ASP その他処理サンプル]
[ASP テキストファイル処理]
[ASP VBScript関数関係の説明]
[ASP ADOでMdbファイルを使う]
[ASP ADOでExcelと接続してみた]

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[三流なプログラムコード]← 恥ずかしいのであまり載せてないけど・・・
[通販商品の足跡を紹介] ←通販商品などを紹介してます


現在時刻は、2008/05/17 17:27:54です。
[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]