Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何从Access VBA获取sql表列表_Sql Server_Vba - Fatal编程技术网

Sql server 如何从Access VBA获取sql表列表

Sql server 如何从Access VBA获取sql表列表,sql-server,vba,Sql Server,Vba,我需要在sql数据库中找到一个值。 我连接了access中的所有表,并编写了一个简单的代码来获取值。 现在我想将其扩展到所有可能使用连接字符串的sql数据库,但select FROM MSysObjects不使用sql。 有什么建议吗 Azienda = SOC(Y) sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=skipper;Initial Catalog=" & Azienda & ";Data Source

我需要在sql数据库中找到一个值。 我连接了access中的所有表,并编写了一个简单的代码来获取值。 现在我想将其扩展到所有可能使用连接字符串的sql数据库,但select FROM MSysObjects不使用sql。 有什么建议吗

Azienda = SOC(Y)
sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=skipper;Initial
Catalog=" & Azienda & ";Data Source = server09;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"

conn.Open sConnString

Dim TN(1000) As String 'NOME TAB

strsql = "SELECT MSysObjects.Name AS table_name FROM MSysObjects"

filtro = " WHERE Left([Name],1)<>'~' AND Left([Name],4)<>'MSys' AND MSysObjects.Type In (1,4,6) order by MSysObjects.Name"

Dim CF As ADODB.Field

Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset

With rst

.Open strsql & filtro, CONN, adOpenDynamic, adLockReadOnly

更具体地说,是因为MSysObjects不起作用,您是否收到了错误、没有结果、结果超出了您的预期,还是您的计算机着火了?因为MSysObjects仅处于访问状态。其他数据库管理系统有自己的约定。在sql server中,它是sys.objects,对于表,它就是sys.tables。帮你自己一个大忙,把你的连接移到某个配置的某个地方,让天堂停止在应用程序中使用sa帐户。谢谢Sean,但是sys.objects在第行给我一个错误,对象名无效。打开strsql&filtro,CONN,adOpenDynamic,adLockReadOnly这与我在代码中得到的错误相同。sql应用程序不是我的。这就是我使用sa用户的原因