|
.AddNew を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードは.AddNew です。
<%@LANGUAGE=VBScript%>
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<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>
|
|