Chương 4: THAO TÁC DỮ LIỆU BẰNG QUERY

Một phần của tài liệu Microsoft Access 2000 Lập trình ứng dụng cơ sở dữ liệu. Tập 1 (Trang 295 - 299)

CAC QUERY SELECT DAC BIET

Chương 4: Chương 4: THAO TÁC DỮ LIỆU BẰNG QUERY

Những người khác thích chúng bởi vì rất dễ sử dụng. Thứ hai, các

query union cho phép bạn tổ chức đữ liệu trong những trường hợp mà việc kết nối hoàn toàn không thể thực hiện được. Khi bạn cần kết. nối hai hay nhiều recordset với những field thông thường, các query union có thể là công cụ có hiệu quả nhất. Đáng tiếc các query union yệu cầu bạn có sự hiểu biết về SQL. Phần cuối chương này nhắc lại cú pháp của SQL và nhiều ví dụ giải thích ứng dụng của ngôn ngữ. Thứ ba, các subquery là công cụ chọn lựa khi bạn yêu cầu các tiêu chuẩn thông minh để thích nghỉ với những giá trị trong cơ sử dữ liệu của bạn. Kỹ thuật này để tạo các tiêu chuẩn động thay đổi theo dữ liệu nhập vào trong cơ sở dữ liệu của bạn sẽ luôn luôn có ích nếu bạn có sự hiểu biết về SQL ở mức độ trung bình,

Query Porameter

Các query parameter có tên như vậy bởi vì chúng yêu cầu nhập một tham số vào thời điểm trước khi query có thể thực hiện xong. Khi bạn tạo một query parameter trong khung nhìn Design, bạn có thể thiết kế câu nhắc nhở nhập tham số trong dòng Criteria. Sử dụng câu nhắc nhở trong câu lệnh tiêu chuẩn như là một biến để người dùng sẽ thiết lập vào lúc chạy. Giao diện người dùng còn có thể cho phép bạn khai báo kiểu đữ liệu cho mỗi tham số nhập vào. Chương 2 đã giải thích cách viết một query parameter trong ADO. Phần này chỉ mô tả cách quản lý cho cùng một tác vụ thông qua giao diện người dùng.

Hình 4-16 trình bày cách thiết kế một query parameter cùng với một hộp thoại nhắc nhở có sẵn. Lưu ý rằng câu nhắc nhở trong câu lệnh tiêu chuẩn cho field UnitPrice duge dat trong dấu ngoặc vuông. Ký hiệu dấu nhỏ hơn (<) ở đằng trước được dùng để thiết lập một giới hạn trên cho các giá trị field UnitPrice cha tập hợp trả về.

Nếu người sử dụng nhập giá trị 35 vào dấu nhắc nhở của query parameter réi click nút OK, query sé tra vé một danh sách tất cả các sản phẩm có đơn giá nhỏ hơn 35 dollar. Cửa sổ bên dưới của 287

Hình 14-6 hién thi một số sản phẩm đầu tiên thỏa các tiêu chuẩn cũng như tổng số record thỏa tiêu chuẩn (56).

hee King: See Te gpd

cc) |

Una Price = ] IUstn5tock.

LintsOnOrder ReorderLevet [scontvxued v

Return sil products less than:

|

$250

Ị $6 00

hy {| Fito Mix $7 00

{ | |Toutere $7.45

‘ ‘ |_| Rhonbrau Klosterbier $775

: L }Tunnbrod $900

[| Teatime Chocolate Biscuits $920

{ [| Ragede sid $950

ị {| Zaanse koeken $950

| _ ]Jack's New England Clam Chowder $9.65

BE: Rodney's Scones $1000

[_ |Aniseed Syrup $1000 [_ |Longbfe Tofu $10.00

[ |Spegesild $12.00

Scottish Longbreads $1250 ty Record: m] ‹ { 1> |eIilssf of S6 =|

Hinh 4_16. Mét query parameter va tap hop két qua tra vé cda nó.

Những người sử dụng ứng dung của bạn sẽ không chạy các query parameter tiêu biểu từ khung nhìn Design của một query như đã làm trong Hình 4-16. Hình 4-17 dưới đây trình bày các diện mạo cla query sẽ như thế nào khi chạy từ thùng chứa cơ sở dữ liệu.

Query đặc biệt này trả về danh sách những khách hàng ở nước Anh (UK), Ditc (Germany) va Phdp (France) ma c6 sé lugng dat hang vượt quá giá trị chỉ ra bởi người dùng. Khả năng này cho phép 288

Chương 4: THAO TÁC DU LIEU BANG QUERY

người dùng điều khiển tập hợp giá trị trả về làm cho cdc query parameter có khả năng tương tác ở mức độ cao và động.

im (04:04 300). TẾ

tố œen bế tien đen X Be We EN HE

Nant -

ET Enter Parameter Vetue g

od Create ty Find osstomers wth salas of at feast:

(8 axoearbLes 12000)

@ wyFindNonDuch

GD qnFamitlemb‹ neta [ex] ane Cancel yOtiavgPtices

Or yPercentChangeFromavg

Quo arilyMember sadalions ToF anilyMerabers BrSolesOf atleast

atsalyaings

Cantatas th Min Fen the of

+

Hình 4-17. Một query parameler chạy lừ cửa sổ cơ sở dữ liệu.

3G Q0 Ej lạ) tại @)

Hình 4-18 trình bày query trước trong khung nhìn Design.

Query này có hai tiêu chuẩn. Thứ nhất sử dụng từ khóa /n để chọn những khách hàng có trụ sé chinh 6 Anh (UK), Phap (France) hoac Duc (Germany). Viée nay gidi han su can thiét dé xdc dinh ba dong khác nhau với mỗi dòng có tên nước khác nhau. Câu nhắc nhở trong cot Extended Price theo sau là dấu lớn hơn (>). Vì thế, query trả về tất cả những record có giá mở rộng lớn hơn số lượng chỉ ra bởi người dùng.

na : F 2] :

pra. se |e: r er

Prue 52] AB at

“he

hi

Hình 4-18. Khung nhì Design của query trong Hình 4-17.

289.

Query trong Hình 4-18 thực hiện những tác vụ khác. Nó ước tính và tóm tắt giá mớ rộng theo tên công ty và sắp xếp kết qua theo thứ tự từ điển tên nước và giảm dân theo giá mở rộng. Cách thiết kế sắp xếp này làm cho những khách hàng có lượng đơn đặt hàng lớn nhất sẽ xuất hiện ở đầu danh sách cho mỗi quốc gia.

Query Union

Các query union chỉ liên quan đến một vài phối cảnh. Đầu tiên, chúng làm đơn giản tác vụ kết nối hai hay nhiéu recordset.

(nhắc lại rằng việc kết nối hai recordset đặt chúng lại sát nhau hơn, nghĩa là cái này nằm sau cái kia). Thứ hai, bạn chỉ có thể định nghĩa các query union bằng câu lệnh SQL. Chỉ có hai khung nhìn cho query union là Datasheet và khung nhìn SQL; không có khung nhìn Design. Thứ ba, bạn không thể cập nhật trực tiếp những giá trị cua field trong khung nhin Datasheet cia query union. Nhiéu query select, xuất hiện tương tự như các query union trong khung , nhìn Datasheet, đó là các dynaset, chúng cho phép người dùng sửa lại bảng hậu thuẫn cho một recordset. Nếu bạn cần chỉnh sửa dữ liệu đưa tới từ một query union, bạn nên sử dụng query make-table (query tạo bảng) để xây dựng bản sao có thể chỉnh sửa dễ dàng.

Điều này không thay đổi dữ liệu nhập vào từ ban đầu cho query union, nhưng nó hạn chế việc sửa đổi bản sao đem vào dữ liệu.

Hình 4-19 trình bày một query union đơn giản kết hợp giữa 2 bang FamilyMembers va AdditionsToFamilyMembers. Néu ban cam thấy bất tiện trong việc phát triển bằng SQL, ban cé thé giit query union của mình cho thiết kế cơ bản. Câu lệnh đầu tiên là lệnh SELECT đơn giản liệt kê các tên field và nguồn record cho các field trong mệnh để FROM. Việc tham chiếu đến các nguồn record còn lại phải bắt đầu bằng UNION SELECT, nhưng bạn vẫn liệt kê các tờn fủeld và nguồn record. Nú cú khả năng thực hiện cỏc thao tỏc cao cấp, nhưng điều đó không cần thiết. Bạn có thể luôn luôn kết hợp các nguồn record bằng câu lệnh đơn giản như vậy và lưu trữ việc kết nối bằng tay phức tạp của các nguồn record đã kết hợp với

Một phần của tài liệu Microsoft Access 2000 Lập trình ứng dụng cơ sở dữ liệu. Tập 1 (Trang 295 - 299)

Tải bản đầy đủ (PDF)

(383 trang)