Chạy truy vấn SQL với tham số từ Excel 2007


21

Tôi có một truy vấn trong bảng Excel. Tôi làm theo điều này để làm điều đó.

Nhưng làm thế nào tôi có thể thêm một tham số từ một ô vào truy vấn của mình?

Tôi đang tìm cách để làm điều này:

select *
from dbo.Customers
where CustomerID = Cell.A2

Các Cell.A2 không hoạt động. Nhưng làm thế nào tôi có thể thêm vào một cái gì đó giống như nó, để nội dung của một ô được sử dụng trong truy vấn của tôi?


Bạn đã thử chỉ đặt tên cho ô - sau đó sử dụng tên trong truy vấn thay vì tham chiếu ô?

Câu trả lời:


17

Tại sao MS lại làm điều này quá phức tạp, Bạn sẽ phải sử dụng Microsoft Query.

Nhấp vào Dữ liệu -> Từ Nguồn bên ngoài -> Từ Truy vấn của Microsoft. Nguồn dữ liệu CHoose đi lên. Chọn SQL Server, nhập chi tiết xác thực và chọn bảng

nhập mô tả hình ảnh ở đây

Nhấp vào Tiếp theo, không chọn bất kỳ tiêu chí lọc nào, chọn sắp xếp theo tiêu chí, nhấp vào tiếp theo. Bây giờ, bấm vào Xem / Chỉnh sửa trong MS Query thay vì chọn Quay lại Excel

nhập mô tả hình ảnh ở đây

Nhấp vào Kết thúc. Bây giờ trong MS Query, nhấp vào Tiêu chí -> Thêm tiêu chí, chọn toán tử và để giá trị là[]

nhập mô tả hình ảnh ở đây

Nhấp vào Tệp -> trả lại dữ liệu cho Excel. Bây giờ Excel sẽ nhắc bạn về tham số, chọn ô có liên quan

nhập mô tả hình ảnh ở đây

Để chỉnh sửa các tham số, nhấp vào Dữ liệu -> Thuộc tính -> Biểu tượng ngón tay -> Định nghĩa -> tham số

nhập mô tả hình ảnh ở đây


Bạn cũng có thể sử dụng trình soạn thảo truy vấn SQL và nhập truy vấn với các phép nối và đặt ?đối diện với trường nơi tham số phải được tìm nạp.

nhập mô tả hình ảnh ở đây


Than ôi, thông số bị vô hiệu hóa.
Núi lửa

@Vaccano: Sửa lại câu trả lời của tôi, xin vui lòng xem lại
Sathyajith Bhat

Cảm ơn những nỗ lực trên Sathya này. Than ôi tôi nhận ra rằng vì truy vấn của tôi có một số tham gia trong đó MS Query không thể hiển thị nó bằng đồ họa. Điều đó làm cho nó để bạn không thể có các tham số. Tôi sẽ làm cho nó như là một chức năng VBA. Tôi đang cho bạn cái gật đầu bởi vì câu trả lời của bạn đã rất đầy đủ.
Núi lửa

2
@Vaccano: Bạn có thể viết truy vấn bằng trình soạn thảo SQL và đặt trường ?chống lại trường mà tham số phải được chọn i.imgur.com/NgXxc.png
Sathyajith Bhat

2
Tôi đã thấy rằng một khi truy vấn có trong Excel, bạn có thể vào màn hình tham số truy vấn và chỉnh sửa nó ở đó mà không cần truy cập lại MS Query. Chỉ cần thả một? tiêu chí đi đâu Sau đó quay lại màn hình thuộc tính kết nối và gán tham số đó cho một ô trong bảng tính.
Tracy Probst

1

Không bao giờ là quá muộn cho một phích cắm không biết xấu hổ ...

plugin nhỏ tuyệt vời này cho Excel ... (từ chối trách nhiệm: Tôi là tác giả)

Đó là một plugin Excel có thêm công cụ cơ sở dữ liệu và SQL IDE vào Excel.

Nó cho phép bạn thực hiện các thao tác SQL trên bất kỳ thứ gì được đánh dấu là một bảng trong Excel. Bạn có thể truy vấn trên các sổ làm việc và cũng có thể sử dụng các bảng từ cơ sở dữ liệu bên ngoài (SQL Server / Sqlite / Postgres / Access / MySql) trong cùng một truy vấn.

Nó có tô sáng cú pháp SQL, hoàn thành câu lệnh và một loạt các nội dung thú vị khác. Nó sử dụng SQLite dưới mui xe, nhưng cũng có thể sử dụng các công cụ db bên ngoài để xử lý dữ liệu.

Tôi tính phí cho nó tho, nhưng có bản dùng thử miễn phí mà bạn có thể sử dụng trong 30 ngày. Nó được gọi là ThingieQuery.

Xin lỗi về phích cắm, hy vọng nó không quá không phù hợp.


-1

Đặt giá trị là

where employeecode = '?'

Điều này sẽ kích hoạt nút tham số của bạn, nhưng khi bạn nhấn ok, nó sẽ nhắc bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.