VB操作access数据库,如何实现将表名用一个变量代替
新建access数据库,有多个表格,现要对每个表格实现查询功能,如何实现将表名用一个变量代替,这样就不用对每个表格用写"select * from 年龄 where 班级='20'",想该查询功能写成一个函数,sql语句加了双引号好像就不能将from后面的写成变量了
Dim strTableName As String '这个变量就可以用来保存表名 …… strTableName = "你的表名" '给保存表名的变量赋值 …… "SELECT * FROM " & strTableName & " WHERE 班级='20'" ……
[此贴子已经被作者于2016-5-10 09:34编辑过]
Dim strSQL As String Dim RS As ADODB.Recordset Dim cn As New ADODB.Connection Private Sub Combo1_Click() '在 Combo1 的单击事件中就可以设置数据表连接语句 Dim SJK As String SJK = Combo1.Text strSQL = "Select * From " & SJK & "" strSQL = strSQL & " Where ............" '这里需要你自己添加查询条件,数据表不同,结构不同,语句也不同 '一般的做法是与 Combo1 同步,检测数据表的字段,根据字段的数据类型,设置查询条件。 End Sub Private Sub Form_Load() cn.Open "driver={SQL Server};server=计算机名称;uid=sa;pwd=;database=数据库名称" '这是SQL数据库连接语句,你可以修改为你的数据库连接语句 Combo1.Clear Set RS = cn.OpenSchema(adSchemaTables) Do Until RS.EOF If Left(RS!TABLE_NAME, 3) <> "sys" And Left(RS!TABLE_NAME, 3) <> "dtp" Then Combo1.AddItem RS!TABLE_NAME '将你连接的这个数据库中的所有数据表读入 Combo1 控件中了 End If RS.MoveNext Loop RS.Close End Sub