pten基因:VB中用ADO对象动态创建数据库和表

来源:百度文库 编辑:中财网 时间:2024/04/28 17:48:21

 如果仅仅是在已有的数据表的基础上产生新的数据表,我们只要引用对象库"Microsoft ActiveX Data Objects 2.5 Library"再利用Select…Into语句就可以了。例如:有一个名为Wage.mdb的数据库,数据库中有一个名为"工资表"数据表,该数据表的字段有:编号、姓名、基本工资、津贴、应发工资、扣款、实发工资等,这个表中已经有很多的记录。现在我们把其中的实发工资大于2000的记录筛选出来组成一个新表,新表的名称由用户从文本框中输入,新表中我们只要三个字段,它们是:编号、姓名、实发工资。我们用下列程序就可以实现:

  (事先在窗体中添加一个文本框Text1和一个命令按钮Command1)

  Dim conn As New ADODB.Connection

  Dim rs As New ADODB.Recordset

  Dim command As New ADODB.command

  Private Sub Command1_Click()

  Dim bm As String

  Dim sql As String

  If Text1.Text <>"" Then

  bm = Trim(Text1.Text)

  sql= "Select 编号,姓名,实发工资 Into " + bm + " From 工资表 Where 实发工资>2000"

  Set command.ActiveConnection = conn

  command.CommandText = sql

  command.Execute

  Else

  MsgBox "你必须输入一个名字"

  End If

  Private Sub Form_Load()

  Dim str As String

  str = App.Path

  If Right(str, 1) <>"\" Then

  str = str + "\"

  End If

  pstr = "Provider=Microsoft.Jet.OLEDB.3.51;"

  pstr = pstr & "Persist Security Info=False;"

  pstr = pstr & "Data Source=" & str & "wage.mdb"

  conn.Open pstr

  rs.CursorLocation = adUseClient

  rs.Open "工资表", conn, adOpenKeyset, adLockPessimistic

  Set DataGrid1.DataSource = rs

  End Sub

  当然,我们还可以把程序设计得更好,比如:让用户先在窗口中任意选择所需的字段和一些条件,然后再组合生成一个新表。但无论如何,这种操作只能在从原表的基础上产生一个新表,不能产生一个数据库文件,并且新表和原表放在同一个数据库中。