acess我会excil我不会。文件操作是我的弱项
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "driver={microsoft excel driver (*.xls)};dbq=" & FileString
conn.Open
Set rstSchema = conn.OpenSchema(adSchemaTables)
Dim TableName()
Dim TableID
TableID = 0
Do Until rstSchema.EOF
ReDim Preserve TableName(TableID)
TableName(TableID) = rstSchema!TABLE_NAME
TableID = TableID + 1
rstSchema.MoveNext
Loop
可以实现,我在项目中用过没有问题
请先在工程中引用 Microsoft SQLDMO Object Library
代码如下:
Private Sub Form_Load()
'-------------------------------------------------------------
'获取服务器上所有数据库名并加载到组合框的方法
On Error GoTo ON_ERROR
Dim rsDB As New ADODB.Recordset
Dim i As Integer
cobDatabase.Clear
i = 1
Set rsDB = conServer.OpenSchema(adSchemaCatalogs)
While Not rsDB.EOF
cobDatabase.AddItem rsDB!CATALOG_NAME
rsDB.MoveNext
i = i + 1
Wend
cobDatabase.ListIndex = 1
rsDB.Close
Set rsDB = Nothing
'-------------------------------------------------------------
'附送获得所有服务器名称的方法
Dim dom As SQLDMO.NameList
Dim Server As New SQLDMO.Application
Set dom = Server.ListAvailableSQLServers
Dim i As Long
For i = 1 To dom.Count
cobSQLserverName.AddItem dom(i)
Next i
' cobSQLserverName.ListIndex = cobSQLserverName.ListCount - 1
Set Server = Nothing
cobDatabase.Text = "SoupEvenFlowManage"
GetServerName = True
Exit Function