カテゴリー名: [ADOによるデータベースの新規作成]
// Excelファイル(xls)をデータベース用として作成。ADOを利用
// データの書き込みにはレコードセットを利用
var DbName, TableName, TypeStr;
var fso, DbPath, ShellObj, DriverStr;
var CN, ConnStr, RS, sql;
DbName = "test.xls";
TableName = "Sheet1";
TypeStr = "氏名 varchar,身長 float";
fso = WScript.CreateObject("Scripting.FileSystemObject");
DbPath = fso.GetAbsolutePathName(DbName);
if (fso.FileExists(DbPath)) fso.DeleteFile(DbPath);
fso = null;
ShellObj = WScript.CreateObject("Wscript.Shell");
if (ShellObj.Environment("Process").Item(
"PROCESSOR_ARCHITECTURE") == "x86") { // 32bit版の場合
DriverStr = "Provider=Microsoft.Jet.OLEDB.4.0;";
} else { // 64bit版の場合
DriverStr = "Provider=Microsoft.ACE.OLEDB.12.0;";
}
ShellObj = null;
ConnStr = DriverStr + "Data Source=" + DbPath + ";" +
"Extended Properties=\"Excel 8.0;HDR=Yes;\"";
CN = WScript.CreateObject("ADODB.Connection");
CN.Open(ConnStr);
sql = "create table " + TableName + " (" + TypeStr + ");";
CN.Execute(sql); // テーブル(つまりワークシート)作成
RS = WScript.CreateObject("ADODB.Recordset");
sql = "select * from " + TableName + ";";
RS.Open(sql,CN,0,2,1);
RS.AddNew();
RS.Fields("氏名").Value = "鈴木xls";
RS.Fields("身長").Value = 172.3;
RS.Update();
RS.AddNew();
RS.Fields(0).Value = "高橋xls";
RS.Fields(1).Value = 168.5;
RS.Update();
RS.AddNew(["氏名", "身長"], ["田中xls", 183.6]);
RS.Update();
RS.Close();
CN.Close();
RS = null;
CN = null;
// Excelファイル(xlsx)をデータベース用として作成。ADOを利用
// データの書き込みにはレコードセットを利用
var DbName, TableName, TypeStr;
var fso, DbPath;
var CN, ConnStr, RS, sql;
DbName = "test.xlsx";
TableName = "Sheet1";
TypeStr = "氏名 varchar,身長 float";
fso = WScript.CreateObject("Scripting.FileSystemObject");
DbPath = fso.GetAbsolutePathName(DbName);
if (fso.FileExists(DbPath)) fso.DeleteFile(DbPath);
fso = null;
ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + DbPath + ";" +
"Extended Properties=\"Excel 12.0 XML;HDR=Yes;\"";
CN = WScript.CreateObject("ADODB.Connection");
CN.Open(ConnStr);
sql = "create table " + TableName + " (" + TypeStr + ");";
CN.Execute(sql); // テーブル(つまりワークシート)作成
RS = WScript.CreateObject("ADODB.Recordset");
sql = "select * from " + TableName + ";";
RS.Open(sql,CN,0,2,1);
RS.AddNew();
RS.Fields("氏名").Value = "鈴木xlsx";
RS.Fields("身長").Value = 172.3;
RS.Update();
RS.AddNew();
RS.Fields(0).Value = "高橋xlsx";
RS.Fields(1).Value = 168.5;
RS.Update();
RS.AddNew(["氏名", "身長"], ["田中xlsx", 183.6]);
RS.Update();
RS.Close();
CN.Close();
RS = null;
CN = null;
// Excelファイル(xls)をデータベース用として作成。ADOを利用
// データの書き込みにはSQL命令のinsertを利用
var DbName, TableName, TypeStr;
var fso, DbPath, ShellObj, DriverStr;
var CN, ConnStr, sql;
DbName = "test.xls";
TableName = "Sheet1";
TypeStr = "氏名 varchar,身長 float";
fso = WScript.CreateObject("Scripting.FileSystemObject");
DbPath = fso.GetAbsolutePathName(DbName);
if (fso.FileExists(DbPath)) fso.DeleteFile(DbPath);
fso = null;
ShellObj = WScript.CreateObject("Wscript.Shell");
if (ShellObj.Environment("Process").Item(
"PROCESSOR_ARCHITECTURE") == "x86") { // 32bit版の場合
DriverStr = "Provider=Microsoft.Jet.OLEDB.4.0;";
} else { // 64bit版の場合
DriverStr = "Provider=Microsoft.ACE.OLEDB.12.0;";
}
ShellObj = null;
ConnStr = DriverStr + "Data Source=" + DbPath + ";" +
"Extended Properties=\"Excel 8.0;HDR=Yes;\"";
CN = WScript.CreateObject("ADODB.Connection");
CN.Open(ConnStr);
sql = "create table " + TableName + " (" + TypeStr + ");";
CN.Execute(sql); // テーブル(つまりワークシート)作成
sql = "insert into Sheet1 (氏名,身長) values('鈴木xls', 172.3);";
CN.Execute(sql);
sql = "insert into Sheet1 (氏名,身長) values('高橋xls', 168.5);";
CN.Execute(sql);
sql = "insert into Sheet1 (氏名,身長) values('田中xls', 183.6);";
CN.Execute(sql);
CN.Close;
CN = null;
// Excelファイル(xlsx)をデータベース用として作成。ADOを利用
// データの書き込みにはSQL命令のinsertを利用
var DbName, TableName, TypeStr;
var fso, DbPath;
var CN, ConnStr, sql;
DbName = "test.xlsx";
TableName = "Sheet1";
TypeStr = "氏名 varchar,身長 float";
fso = WScript.CreateObject("Scripting.FileSystemObject");
DbPath = fso.GetAbsolutePathName(DbName);
if (fso.FileExists(DbPath)) fso.DeleteFile(DbPath);
fso = null;
ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + DbPath + ";" +
"Extended Properties=\"Excel 12.0 XML;HDR=Yes;\"";
CN = WScript.CreateObject("ADODB.Connection");
CN.Open(ConnStr);
sql = "create table " + TableName + " (" + TypeStr + ");";
CN.Execute(sql); // テーブル(つまりワークシート)作成
sql = "insert into Sheet1 (氏名,身長) values('鈴木xlsx', 172.3);";
CN.Execute(sql);
sql = "insert into Sheet1 (氏名,身長) values('高橋xlsx', 168.5);";
CN.Execute(sql);
sql = "insert into Sheet1 (氏名,身長) values('田中xlsx', 183.6);";
CN.Execute(sql);
CN.Close();
CN = null;
' Excelファイル(xls)をデータベース用として作成。ADOを利用
' データの書き込みにはレコードセットを利用
Option Explicit
Dim DbName, TableName, TypeStr
Dim FSO, DbPath, ShellObj, DriverStr
Dim CN, ConnStr, RS, sql
DbName = "test.xls"
TableName = "Sheet1"
TypeStr = "氏名 varchar,身長 float"
Set FSO = CreateObject("Scripting.FileSystemObject")
DbPath = FSO.GetAbsolutePathName(DbName)
If (FSO.FileExists(DbPath) = True) Then FSO.DeleteFile(DbPath)
Set FSO = Nothing
Set ShellObj = CreateObject("Wscript.Shell")
If ShellObj.Environment("Process").Item( _
"PROCESSOR_ARCHITECTURE") = "x86" Then ' 32bit版の場合
DriverStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
Else ' 64bit版の場合
DriverStr = "Provider=Microsoft.ACE.OLEDB.12.0;"
End If
Set ShellObj = Nothing
ConnStr = DriverStr & "Data Source=" & DbPath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"""
Set CN = CreateObject("ADODB.Connection")
CN.Open ConnStr
sql = "create table " & TableName & " (" & TypeStr & ");"
CN.Execute(sql) ' テーブル(つまりワークシート)作成
Set RS = CreateObject("ADODB.Recordset")
sql = "select * from " & TableName & ";"
RS.Open sql,CN,0,2,1
RS.AddNew
RS.Fields("氏名").Value = "鈴木xls"
RS.Fields("身長").Value = 172.3
RS.Update
RS.AddNew
RS.Fields(0).Value = "高橋xls"
RS.Fields(1).Value = 168.5
RS.Update
RS.AddNew Array("氏名", "身長"), Array("田中xls", 183.6)
RS.Update
RS.Close
CN.Close
Set RS = Nothing
Set CN = Nothing
' Excelファイル(xlsx)をデータベース用として作成。ADOを利用
' データの書き込みにはレコードセットを利用
Option Explicit
Dim DbName, TableName, TypeStr
Dim FSO, DbPath
Dim CN, ConnStr, RS, sql
DbName = "test.xlsx"
TableName = "Sheet1"
TypeStr = "氏名 varchar,身長 float"
Set FSO = CreateObject("Scripting.FileSystemObject")
DbPath = FSO.GetAbsolutePathName(DbName)
If (FSO.FileExists(DbPath) = True) Then FSO.DeleteFile(DbPath)
Set FSO = Nothing
ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & DbPath & ";" & _
"Extended Properties=""Excel 12.0 XML;HDR=Yes;"""
Set CN = CreateObject("ADODB.Connection")
CN.Open ConnStr
sql = "create table " & TableName & " (" & TypeStr & ");"
CN.Execute(sql) ' テーブル(つまりワークシート)作成
Set RS = CreateObject("ADODB.Recordset")
sql = "select * from " & TableName & ";"
RS.Open sql,CN,0,2,1
RS.AddNew
RS.Fields("氏名").Value = "鈴木xlsx"
RS.Fields("身長").Value = 172.3
RS.Update
RS.AddNew
RS.Fields(0).Value = "高橋xlsx"
RS.Fields(1).Value = 168.5
RS.Update
RS.AddNew Array("氏名", "身長"), Array("田中xlsx", 183.6)
RS.Update
RS.Close
CN.Close
Set RS = Nothing
Set CN = Nothing
' Excelファイル(xls)をデータベース用として作成。ADOを利用
' データの書き込みにはSQL命令のinsertを利用
Option Explicit
Dim DbName, TableName, TypeStr
Dim FSO, DbPath, ShellObj, DriverStr
Dim CN, ConnStr, sql
DbName = "test.xls"
TableName = "Sheet1"
TypeStr = "氏名 varchar,身長 float"
Set FSO = CreateObject("Scripting.FileSystemObject")
DbPath = FSO.GetAbsolutePathName(DbName)
If (FSO.FileExists(DbPath) = True) Then FSO.DeleteFile(DbPath)
Set FSO = Nothing
Set ShellObj = CreateObject("Wscript.Shell")
If ShellObj.Environment("Process").Item( _
"PROCESSOR_ARCHITECTURE") = "x86" Then ' 32bit版の場合
DriverStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
Else ' 64bit版の場合
DriverStr = "Provider=Microsoft.ACE.OLEDB.12.0;"
End If
Set ShellObj = Nothing
ConnStr = DriverStr & "Data Source=" & DbPath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"""
Set CN = CreateObject("ADODB.Connection")
CN.Open ConnStr
sql = "create table " & TableName & " (" & TypeStr & ");"
CN.Execute(sql) ' テーブル(つまりワークシート)作成
sql = "insert into Sheet1 (氏名,身長) values('鈴木xls', 172.3);"
CN.Execute(sql)
sql = "insert into Sheet1 (氏名,身長) values('高橋xls', 168.5);"
CN.Execute(sql)
sql = "insert into Sheet1 (氏名,身長) values('田中xls', 183.6);"
CN.Execute(sql)
CN.Close
Set CN = Nothing
' Excelファイル(xlsx)をデータベース用として作成。ADOを利用
' データの書き込みにはSQL命令のinsertを利用
Option Explicit
Dim DbName, TableName, TypeStr
Dim FSO, DbPath
Dim CN, ConnStr, sql
DbName = "test.xlsx"
TableName = "Sheet1"
TypeStr = "氏名 varchar,身長 float"
Set FSO = CreateObject("Scripting.FileSystemObject")
DbPath = FSO.GetAbsolutePathName(DbName)
If (FSO.FileExists(DbPath) = True) Then FSO.DeleteFile(DbPath)
Set FSO = Nothing
ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & DbPath & ";" & _
"Extended Properties=""Excel 12.0 XML;HDR=Yes;"""
Set CN = CreateObject("ADODB.Connection")
CN.Open ConnStr
sql = "create table " & TableName & " (" & TypeStr & ");"
CN.Execute(sql) ' テーブル(つまりワークシート)作成
sql = "insert into Sheet1 (氏名,身長) values('鈴木xlsx', 172.3);"
CN.Execute(sql)
sql = "insert into Sheet1 (氏名,身長) values('高橋xlsx', 168.5);"
CN.Execute(sql)
sql = "insert into Sheet1 (氏名,身長) values('田中xlsx', 183.6);"
CN.Execute(sql)
CN.Close
Set CN = Nothing
〜 以上 〜