SelectDB関数

オープンしているデータベース内のテーブルからデータを検索する関数です。

書式
SelectDB(#データベース番号,テーブル名,Select条件,Sort方法)

パラメーター

データベース番号
OpenDBで指定したデータベース番号 (501~508の整数値)を指定します。
テーブル名
データ検索を行うテーブル名を指定します。ファイル番号で指定されたデータベースの種別がExcelブックの場合、Excelシートまたは名前をつけたテーブルを指定します。Excelシートを指定する場合、シート名の後ろに$をつけ、[]で囲みます。Excelシート内の名前で指定した領域を指定する場合、名前を[]で囲みます。
Select条件
検索条件を指定します。AND, ORを使用して複合条件を指定できます。検索条件を指定しない場合、テーブルの全データが検索されます。
Sort方法
検索したデータを抽出する順番を指定します。SortキーとSort順番(昇順[ASC]/降順[DESC])を指定します。Sort順番を省略した場合、Sortキーの昇順を指定したことになります。Sort方法を省略した場合、オープンされているデータベースにより、順番は決定されます。

戻り値
検索された行の総数を返します。

解説
オープンされたデータベースの指定されたテーブルからSelect条件に一致するデータをSort条件によりSortします。

Input#, Print#によりデータの読み込み、書き込みを行う前に必ず実行する必要があります。

オープンされたデータベースがExcelブックの場合、シートおよび名前で定義された領域の1行目に検索に使用する列名を記述してください。

また、Excel 2007 ブックの場合、シート名を指定してください。名前で定義された領域へのアクセスは行えません。

注意


RC+ がインストールされているPCの接続が必要です


参照
OpenDB, CloseDB, UpdateDB, DeleteDB, Input #, Print #

SelectDB関数使用例
SQLデータベースを使用した例

下記に、SQL サーバー2000のサンプルデータベースNorthwindのテーブルEmployeesからTitleOfCourtesyがMs.のデータをEmployeeIDの降順に読み込む簡単な例を示します。

  Integer count, i, eid
  String Lastname$, Firstname$, Title$

  OpenDB #501, SQL, "(LOCAL)", "Northwind"
  count = SelectDB(#501, "Employees", "TitleOfCourtesy = 'Ms.'", "EmployeeID DESC")
  For i = 0 To count - 1
    Input #501, eid, Lastname$, Firstname$, Title$
    Print eid, ",", Lastname$, ",", Firstname$, ",", Title$
  Next
  CloseDB #501

Accessデータベースを使用した例

下記に、Microsoft Access 2007のサンプルデータベース生徒名簿のテーブル生徒から役職が組長のデータをIDの昇順に読み込む簡単な例を示します。

  Integer count, i, eid
  String Lastname$, Firstname$, dummy$

  OpenDB #502, Access, "c:\MyDataBase\生徒名簿.accdb"
  count = SelectDB(#502, "生徒", "役職 = '組長'", "ID")
  For i = 0 To count - 1
    Input #502, eid, dummy$, dummy$, Lastname$, dummy$, Firstname$
    Print eid, ",", Lastname$, ",", Firstname$
  Next
  CloseDB #502

Excelブックを使用した例

下記に、Microsoft Excelブック生徒名簿の生徒シートからAgeが25未満のデータをIDの昇順に読み込む簡単な例を示します。

  Integer count, i, eid
  String Lastname$, Firstname$

  OpenDB #503, Excel, "c:\MyDataBase\生徒名簿.xls"
  count = SelectDB(#503, "[生徒$]", "Age < 25", "ID ASC")
  For i = 0 To count - 1
    Input #503, eid, Lastname$, Firstname$
    Print eid, ",", Lastname$, ",", Firstname$
  Next
  CloseDB #503