
如题,注意要求是用户数据表。
我的下面的方法不行:
for each tb in db.tabledefs
debug.print tb.name
next
1条回答
' 方法 1
'要引用Microsoft DAO 3.6
Public Sub enumdatabase(dbpath As String)
Dim db As Database
Set db = dbengine.OpenDatabase(dbpath)
Dim Tables As TableDef, fld
For Each Tables In db.tabledefs
'这里可以取得表名Tables.name
'For Each fld In Tables.Fields
If Left(Tables.Name, 4) MSys Then Print Tables.Name '& --- & fld.Name
'这里可以取得字段名fld.name
'Next fld
Next Tables
db.Close
Set db = Nothing
End Sub
' 方法 2 ADODB
'引用 Microsoft ADO Ext 2.5 for ddl and security
'引用 Microsoft ActiveX Data Objects 2.5 Library
Private Sub Command1_Click()
call OpenConnection
End Sub
Sub OpenConnection()
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
cnn.Open Provider=Microsoft.Jet.OLEDB.4.0 & Data Source= cbwscale.mdb
Set cat.ActiveConnection = cnn
For i = 0 To cat.Tables.Count - 1
If Left(cat.Tables(i).Name, 4) MSys Then Print cat.Tables(i).Name
Next i
End Sub
' 方法 3 ADODC
'引用 Microsoft ADO Ext 2.5 for ddl and security
'部件 Microsoft Ado Data Control 6.0(OLEDB)
Private Sub Command1_Click()
call OpenConnection
End Sub
Sub OpenConnection()
Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0Data Source= & cbwscale.mdbPersist Security Info=False
Dim cat As New ADOX.Catalog
cat.ActiveConnection = Adodc1.ConnectionString
For i = 0 To cat.Tables.Count - 1
If Left(cat.Tables(i).Name, 4) MSys Then Print cat.Tables(i).Name
Next i
Adodc1.RecordSource = select from bwmain
Set DataGrid1.DataSource = Adodc1
End Sub
分类: 电脑/网络 >>程序设计 >>其他编程语言解析:
For...Next 语句
以指定次数来重复执行一组语句。
语法
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
For匩ext 语句的语法具有以下几个部分:
部分 描述
counter 必要参数。用做循环计数器的数值变量。这个变量不能是 Boolean 或数组元素。
start 必要参数。counter 的初值。
End 必要参数,counter 的终值。
Step 可选参数。counter 的步长。如果没有指定,则 step 的缺省值为 1。
Statements 可选参数。放在 For 和 Next 之间的一条或多条语句,它们将被执行指定的次数。
说明
step 参数可以是正数或负数。step 参数值决定循环的执行情况,如下所示:
值 循环执行,如果
正数或 0 counter <= end
负数 counter >= end
当所有循环中的语句都执行后,step 的值会加到 counter 中。此时,循环中的语句可能会再次执行(基于循环开始执行时同样的测试),也可能是退出循环并从 Next 语句之后的语句继续执行。
提示 在循环中改变 counter 的值,将会使程序代码的阅读和调试变得更加困难。
循环中可以在任何位置放置任意个 Exit For 语句,随时退出循环。 Exit For经常在条件判断之后使用,例如 If...Then,并将控制权转移到紧接在 Next 之后的语句。
可以将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环。不过在每个循环中的 counter 要使用不同的变量名。下面的体系结构是正确的:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
注意 如果省略 Next 语句中的 counter,就像 counter 存在时一样执行。但如果 Next 语句在它相对应的 For 语句之前出现
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)