SelectDB

用作从打开数据库内的表格中检索数据的函数。

格式
SelectDB (#数据库编号, 表格名, Select条件, Sort方法)

参数

数据库编号
指定利用OpenDB指定的数据库编号(501~508的整数值)。
表格名
指定要进行数据检索的表格名。由文件编号指定的数据库类型为Excel工作簿时,指定Excel表单或加名的表格。指定Excel表单时,在表单名之后附加 $ 并用 [] 括起。指定由Excel表单内的名称指定的区域时,用[]括起名称。
Select条件
指定检索条件。可使用AND、OR指定复合条件。未指定检索条件时,检索表格中的所有数据。
Sort方法
指定提取已检索数据的顺序。指定Sort键和Sort顺序(升序 [ASC] /降序 [DESC] )。省略Sort顺序时,说明已指定Sort键的升序。省略Sort方法时,根据已打开的数据库确定顺序。

返回值
返回检索列的总数。

说明
根据Sort条件,从已打开数据库的指定表格中对符合Select条件的数据进行分类(Sort)。

务必在利用Input#、Print#读入、写入数据之前执行。

已打开的数据库为Excel工作簿时,请在由表单和名称定义的区域的第1行记述用于检索的列名。

另外,为Excel 2007工作簿时,请指定表单名。不能访问由名称定义的区域。

注意


  • 需要连接已安装RC+的PC。

参阅
OpenDB、CloseDB、UpdateDB、DeleteDB、Input #、Print #

SelectDB函数使用示例
SQL数据库的使用示例

如下所示为利用SQL服务器2000样本数据库Northwind的表格Employees或TitleOfCourtesy,按EmployeeID的降序读入Ms.数据的简单示例。

  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工作簿学生名册的学生表格中,按ID的升序读入年龄不满25岁的数据的简单示例。

  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