OpenDB
データベース、Excelブックをオープンします。
書式
OpenDB #データベース番号, データベース種別 [, SQLサーバー名],データベース名
パラメーター
- データベース番号
- 501から508の整数を指定します。
- データベース種別
- オープンするデータベースの種別を[SQL], [Access], [Excel]の中から選択します。
- SQLサーバー名
- データベース種別に[SQL]を指定した場合、SQLサーバー名を指定します。省略した場合 (LOCAL)サーバーを指定したことになります。ネットワーク上のSQLサーバーは指定できません。
データベース種別に[Access]または[Excel]を指定した場合、SQLサーバー名は指定しません。 - データベース名
-
- データベース種別に[SQL]を指定した場合、SQLサーバー上のデータベース名を指定します。
- [Access]を指定した場合、Accessファイル名を指定します。Accessファイル名のパスを省略した場合、カレントフォルダーを検索します。詳細は、ChDiskを参照してください。
- [Excel]を指定した場合、Excelファイル名を指定します。Excelファイルに指定できる形式は、Excel 2007ブック、Excel 97-2003ブックファイルです。Excelファイル名のパスを省略した場合、カレントフォルダーを検索します。詳細は、ChDiskを参照してください。
解説
指定したデータベースを指定したファイル番号でオープンします。
指定したデータベースは、RC+がインストールされているPCのディスク上に存在しなければなりません。存在しない場合、エラーとなります。指定したファイル番号はデータベースをオープンしている間、そのデータベースを識別するために使われ、CloseDBコマンドでデータベースをクローズするまで別のデータベースを参照するために使うことはできません。ファイル番号は、データベース操作命令 (SelectDB, Print#, Input#, CloseDB)で使用します。
Microsoft office 2010 64 bit版のAccessとExcelファイルは使用できません。
注意
RC+ がインストールされているPCの接続が必要です
参照
SelectDB関数, CloseDB, UpdateDB, DeleteDB, Input #, Print #
OpenDB使用例
SQLデータベースを使用した例
下記に、SQL サーバー2000のサンプルデータベースNorthwindを使用した、テーブルからデータを読み込む簡単な例を示します。
Integer count, i, eid
String Lastname$, Firstname$, Title$
OpenDB #501, SQL, "(LOCAL)", "Northwind"
count = SelectDB(#501, "Employees")
For i = 0 To count - 1
Input #501, eid, Lastname$, Firstname$, Title$
Print eid, ",", Lastname$, ",", Firstname$, ",", Title$
Next
CloseDB #501
Accessデータベースを使用した例
下記に、Microsoft Access 2007のサンプルデータベース生徒名簿を使用した、テーブルからデータを読み込む簡単な例を示します。
Integer count, i, eid
String Lastname$, Firstname$, dummy$
OpenDB #502, Access, "c:\MyDataBase\生徒名簿.accdb"
count = SelectDB(#502, "生徒")
For i = 0 To count - 1
Input #502, eid, dummy$, dummy$, Lastname$, dummy$, Firstname$
Print eid, ",", Lastname$, ",", Firstname$
Next
CloseDB #502
Excelブックを使用した例
下記に、RC+8.0に付属するサンプルプロジェクト「DrawEpsonLogo」内のExcelブックEPSON_LOGO.xlsのLOGOシートからデータを読み込む簡単な例を示します。
例で使用しているExcelブックは、以下を参照してください。
サンプルファイル
Integer count, i, p, x, y
String desc$
OpenDB #501, Excel, "C:\EpsonRC80\projects\Samples\Database\DrawEpsonLogo\EPSON_LOGO.xls"
count = SelectDB(#501, "[LOGO$]")
For i = 0 To count - 1
Input #501, p, x, y, desc$
Print "Point", p, ", X:", x, ", Y:", y, ", Descripption:", desc$
Next
'出力結果
'Point 1, X: 0, Y: 51, Descripption:E1
'Point 2, X: 38, Y: 51, Descripption:E2
'Point 3, X: 38, Y: 42, Descripption:E3
'Point 4, X: 10, Y: 42, Descripption:E4
'Point 5, X: 10, Y: 30, Descripption:E5
' 続く…