| 操作系统: WIN98 编程工具: VB50 如何实现在同一数据库(如ACCESS)所有数据表中查找某一记录?(Chiman Yid) | |
| 你打开Database对象以后,Database对象包括TableDefs集合。这个集合包括数据库中所有表的定义。表的个数为TableDefs.Count。你可以使用TableDefs(0),......,TableDefs(TableDefs.Count - 1)来依次获得各个表的定义(TableDef对象)。你也可以利用For Each ... Next来遍历整个集合。每个TableDef对象都表示一个表的结构,其Name属性就是表名。如果打开一个MDB文件,你可能会得到比实际多的表的个数,这是因为Access数据库中还有一些系统表,这些表通常不会被Access和VB显示出来,但你可以使用VB访问它们。如果你不想让这些系统表出现在你的列表中,可以判断TableDef的Attribution属性,如: IF TableDef(i).Attibution And dbSystemObject Then ' 系统表 Else ' 普通的用户表 End If 你可以利用类似下面的程序: For i = 0 To db.TabDefs.Count IF Not (db.TableDef(i).Attibution And dbSystemObject) Then Set rd = db.OpenRecordset("SELECT * FROM ' + db.TableDef(i).Name) ........... End If Next mamin问: 如果我用VC++中的ADO编辑数据库实现这个功能,ADO里没有TableDefs集合怎么办? 答:使用ADOX(升级到Visual Studio 6.0 SP5,参考QA001156 "VB中的sp2,sp3,企业版这三种各代表什么含义"在ADOX中,可以借助Tables集合。
此问题由李海、st回答。 附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query, SQL查询, sql server, sql, query, select。 |
|
浙公网安备 33010602011771号