2012-10-02 37 views
12

Tôi cần tạo báo cáo động bằng Excel 2010 và SQL Server. Đi ra khỏi những người trước đó được tạo ra bởi những người khác tôi đã tìm ra cách để tạo ra các kết nối dữ liệu và sử dụng các thủ tục được lưu trữ với một tham số cụ thể trong tab định nghĩa thuộc tính kết nối. Các báo cáo khác sử dụng một ? trong định nghĩa lệnh và sử dụng một ô trong sổ làm việc để xác định tham số.Bảng trong Excel từ thủ tục lưu sẵn SQL Server với trường tham số trong sổ làm việc

Tôi cũng làm như thế nào?

Các bước cụ thể để tạo kết nối/báo cáo/lựa chọn tham số hoặc bất kỳ trợ giúp nào được đánh giá cao.

Trả lời

22

Tôi đã sử dụng các bước được cung cấp tại bài đăng trên blog được liên kết sau đây.

http://codebyjoshua.blogspot.com/2012/01/get-data-from-sql-server-stored.html

Các bước được sao chép tại đây trong trường hợp ngắt liên kết trong tương lai.

Excel 2007 Hướng dẫn:

  1. Chọn tab Data trên Ribbon của Excel, thì trong thời hạn Get nhóm Exernal dữ liệu chọn "Từ khác Nguồn" thả xuống. Sau đó chọn "Từ Microsoft Query"

  2. Trong hộp "Chọn nguồn dữ liệu", chọn Máy chủ SQL của bạn, sau đó nhấn OK.

  3. Đóng cửa sổ bật lên "Thêm bảng" nếu cần.

  4. Nhấp vào nút "SQL" hoặc chọn Xem> SQL để mở trình chỉnh sửa cửa sổ bật lên SQL.

  5. Nhập cú pháp sau: {(??,,) CALL myDatabaseName.dbo.myStoredProc}

    Ví dụ: {CALL northwind.dbo.spGetMaxCost (,,??)}

    Hãy chắc chắn bao gồm các dấu ngoặc nhọn xung quanh câu lệnh gọi. Mỗi Dấu chấm hỏi (?) Cho biết một tham số. Nếu thủ tục lưu trữ của bạn gọi các tham số nhiều hơn hoặc ít hơn, hãy cộng hoặc trừ các dấu hỏi nếu cần.

  6. Nhấn nút OK. Một hộp câu hỏi sẽ bật lên nói rằng "Truy vấn SQL không thể được biểu diễn bằng đồ họa, tiếp tục không?", Chỉ cần nhấn nút OK.

  7. Bây giờ bạn sẽ được yêu cầu tham số mẫu cho mỗi dấu hỏi bạn đã đưa vào ở trên. Nhập các giá trị tham số hợp lệ cho dữ liệu bạn đang truy vấn.

  8. Khi bạn đã nhập tham số cuối cùng, bạn sẽ nhận được một số kết quả trong Microsoft Query. Nếu họ nhìn tốt, đóng Microsoft Query.

  9. Bây giờ bạn sẽ xem xét cửa sổ bật lên "Nhập dữ liệu". Nhấp vào nút Thuộc tính, nút này sẽ hiển thị cửa sổ bật lên "Thuộc tính kết nối".

  10. Chọn tab Định nghĩa, sau đó chọn nút Tham số. Bây giờ bạn sẽ thấy cửa sổ bật lên "Tham số", nơi bạn có thể kết nối tham số với một ô cụ thể.

  11. Chọn Lấy giá trị từ ô sau, sau đó kết nối với ô thích hợp trong Excel sẽ giữ tham số của bạn bằng cách bấm vào hộp nhỏ có mũi tên.

  12. Nếu bạn muốn dữ liệu để làm mới mỗi khi bạn thay đổi các tế bào có chứa thông số, hãy chọn hộp ghi "Làm mới tự động khi thay đổi giá trị của ô"

  13. Tiếp tục như trên cho các thông số khác. Khi kết thúc, nhấn OK, để trở về cửa sổ Connection Properties bật lên. Bấm OK để trở về cửa sổ Nhập Dữ liệu Nhập và bấm OK lần nữa.

  14. Bây giờ bạn sẽ có một số dữ liệu ngay từ quy trình được lưu trữ của mình.

+1

Công cụ tuyệt vời! Làm việc hoàn hảo :) – DavidC799

+0

Các lựa chọn duy nhất hiển thị trong bước 2 "Chọn máy chủ SQL của bạn" là "Nguồn dữ liệu mới", "dBASE Files", "Excel Files" và "MS Access Database". Tôi thực sự tự hỏi làm thế nào các bạn làm cho nó làm việc ... – RickNo

+0

Tôi đã không phải sử dụng điều này trong 3 năm. Tôi chỉ có nó hoạt động trong Excel 2007. Bạn có đang sử dụng phiên bản Excel mới hơn không? – d456

Các vấn đề liên quan