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
' 続く…