Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sử dụng Excel VBA để chạy truy vấn SQL

Dưới đây là mã mà tôi hiện đang sử dụng để kéo dữ liệu từ MS SQL Server 2008 vào VBA. Bạn cần đảm bảo rằng bạn có tham chiếu ADODB thích hợp [ VBA Editor-> Tools-> References ] và đảm bảo bạn có Thư viện đối tượng dữ liệu Microsoft ActiveX 2.8 đã chọn, là dòng thứ hai từ hàng dưới cùng được chọn (Tôi đang sử dụng Excel 2010 trên Windows 7; bạn có thể có một phiên bản ActiveX hơi khác, nhưng nó vẫn sẽ bắt đầu với Microsoft ActiveX):

Mô-đun phụ để kết nối với MS SQL bằng Máy chủ từ xa &Tên người dùng / Mật khẩu

Sub Download_Standard_BOM()
'Initializes variables
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString As String
Dim StrQuery As String

'Setup the connection string for accessing MS SQL database
   'Make sure to change:
       '1: PASSWORD
       '2: USERNAME
       '3: REMOTE_IP_ADDRESS
       '4: DATABASE
    ConnectionString = "Provider=SQLOLEDB.1;Password=PASSWORD;Persist Security Info=True;User ID=USERNAME;Data Source=REMOTE_IP_ADDRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=DATABASE"

    'Opens connection to the database
    cnn.Open ConnectionString
    'Timeout error in seconds for executing the entire query; this will run for 15 minutes before VBA timesout, but your database might timeout before this value
    cnn.CommandTimeout = 900

    'This is your actual MS SQL query that you need to run; you should check this query first using a more robust SQL editor (such as HeidiSQL) to ensure your query is valid
    StrQuery = "SELECT TOP 10 * FROM tbl_table"

    'Performs the actual query
    rst.Open StrQuery, cnn
    'Dumps all the results from the StrQuery into cell A2 of the first sheet in the active workbook
    Sheets(1).Range("A2").CopyFromRecordset rst
End Sub



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Chỉ CHỌN các hàng có MAX (DATE)

  2. Khái niệm chính về khóa SQL Server

  3. Hiệu suất máy chủ SQL - Kiểm tra trong đám mây

  4. Cách trả về số nhóm tăng dần trên mỗi nhóm trong SQL

  5. Trả về thông tin cột cho một thủ tục được lưu trữ trong SQL Server:sp_sproc_columns