Danh mục

External Database Query - CÁC THÍ DỤ THỰC HÀNH

Số trang: 11      Loại file: pdf      Dung lượng: 467.57 KB      Lượt xem: 14      Lượt tải: 0    
Thư Viện Số

Hỗ trợ phí lưu trữ khi tải xuống: 5,000 VND Tải xuống file đầy đủ (11 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

External Database Query - CÁC THÍ DỤ THỰC HÀNH1. ONLYRECORDFROMDSHHANDDATAWHEREDSHH.MSHH=DATA.MS:2. Chỉ lấy dữ liệu nào mà có sự tương ứng giữa 2 trường liên kết. 3. Giả sử DSHH có 13 mặt hàng, DATA có 200 dòng dữ liệu trong đó chỉ có 80 dòng nhập xuất của 12 trong 13 mặt hàng trên, Query sẽ hiện lên đủ 80 dòng của DATA. 120 dòng còn lại: 4. - hoặc không liên quan đến nhập xuất ( mà liên quan đến thu chi chẳng hạn)5. - hoặc nhập xuất vật liệu hoặc nhập xuất công cụ, không phải hàng hoá,...
Nội dung trích xuất từ tài liệu:
External Database Query - CÁC THÍ DỤ THỰC HÀNH External Database Query - CÁC THÍ DỤ THỰC HÀNH1. ONLY RECORD FROM DSHH AND DATA WHERE DSHH.MSHH=DATA.MS:2. Chỉ lấy dữ liệu nào mà có sự tương ứng giữa 2 trường liên kết.3. Giả sử DSHH có 13 mặt hàng, DATA có 200 dòng dữ liệu trong đó chỉ có 80 dòng nhập xuất của 12 trong 13 mặt hàng trên, Query sẽ hiện lên đủ 80 dòng của DATA. 120 dòng còn lại:4. - hoặc không liên quan đến nhập xuất ( mà liên quan đến thu chi chẳng hạn)5. - hoặc nhập xuất vật liệu hoặc nhập xuất công cụ, không phải hàng hoá, mà mã vật liệu, công cụ . . . thì không nằm trong DSHH.6. 2. Tương tự là loại 3: ALL VALUES FROM DATA AND ONLY RECORD FROM DSHH WHERE DSHH.MSHH=DATA.MS7. Số dòng dữ liệu là 80 dòng.8. 3. Loại 2 là đáng nói hơn cả: ALL VALUES FROM DSHH AND ONLY RECORD FROM DATA WHERE DSHH.MSHH=DATA.MS:9. Lấy mọi dữ liệu của DSHH và chỉ những dữ liệu của DATA có liên quan đến DSHH trong trường có liên quan.10. Nghĩa là ngoài 80 dòng của DATA có liên quan nhậo xuất đến 12 mặt hàng, 1 mặt hàng còn lại không phát sinh nhập xuất cũng sẽ hiện lên. ta sẽ có 81 dòng.11. Vậy tuỳ theo nhu cầu ta sẽ chọn 1 trong 2 loại liên kết trên:12. - Nếu chỉ muốn liệt kê các giao dịch nhập xuất phát sinh, ta chọn loại 3.13. - Nếu muốn lên bảng cânđối nhập xuất tồn HH với mọi mặt hàng (giả sử cả 2 mặt hàng còn lại đều có số dư đầu kỳ, không phát sinh trong kỳ nhưng sẽ còn tồn cuối kỳ), ta chọn loại liên kết 2.14. BƯỚC 215. 1. Giả sử ta muốn lập bảng liệt kê số lượng giao dịch và chọn loại liên kết 316. Kéo thả các trường cần thiết vào vùng lưới. Thông thường ta nên kéo trường có mối liên kết từ table Master. Vì sao?17. - Khi tạo table DATA, để đơn giản người ta chỉ tạo trường mã, còn tên hàng, đơn vị tính sẽ được dò tìm từ Master. Lấy MSHH từ Master tiện thể lấy luôn tên hàng và đơn vị tính trong Master.18. - Nếu muốn lập bảng cân đối NXT thì danh sách lấy từ Master sẽ đầy đủ. Danh sách lấy từ Child chưa hẳn đầy đủ vì rât có thể không phải mọi mặt hàng có xảy ra giao dịch.19. Các trường còn lại là SlIn, SlOut của Data.20. ta được Query như sau:21.22. 2. Giả sử ta muốn lập bảng cân đối nhập xuất tồn và chọn loại liên kết 223. a. Kéo thả các trường tương tự như phần trên, thêm trường Ttiennhap cuả DATA, 2 trường SLDK, Ttiendk của DSHH. Ta không lấy tr ường giá nhập vì một số lý do sẽ nói sau.24. b. Click chọn trường SlIn, nhấn nút Sum trên toolbar. Tương tự làm với trường SlOut và TtienNhap.25. Ta sẽ được:26.27. Ta thấy query đã thu ngắn lại chỉ còn vừa đúng 13 dòng cho 13 mặt hàng. mặt hàng thứ 13 không có nhập xuất, chỉ có số dư đâu kỳ. Các dòng còn lại đã được tính tổng sl và tổng giá trị nhập xuất. Hai trường sldk và ttiendk không tính tổng, mặc đinh là Groupby. Một trường Groupby theo thuật ngữ nghĩa là nhóm lại các dữ liệu giống nhau của trường đó.28. Đến đây ta hiểu tại sao không lấy trường giá nhập:29. Giá nhập 1 mặt hàng có thể không giống nhau trong những lần nhập khác nhau, Nếu nhập với 2 giá khác nhau, mặt h àng đó sẽ bị group thành 2 nhóm, thể hiện lên 2 dòng.30. Tuy nhiên ta còn 1 điều chưa vừa ý về tên trường sumof ...31. Hãy vào cửa sổ SQL để sửa: mở Menu View - SQL32.33. Sửa lại: Sum(Data.SLIn) AS Sum of SLIn, Sum(Data.ttiennhap) AS Sum of ttiennhap, Sum(Data.SLout) AS Sum of SLout thành34. Sum(Data.SLIn) AS SLNhap, Sum(Data.ttiennhap) AS ThanhtienNhap, Sum(Data.SLout) AS SlXuat35. Kết quả là:36.37.38. Vẫn còn phải tính thành tiền xuất, sl tồn cuối kỳ và thành tiền tồn cuối kỳ. Bạn có thể kết thúc tại đây, đưa ra Excel và tính bằng công thức Excel. Nhưng cũng có cách tính luôn trên Query. Hẹn lần sau.Nếu công thức đơn giản ta có thể tính ngay trên tiêu đề của vùng lưới:Giả sử tính Số lượng tồn cuối kỳ:Gõ trực tiếp vào tiêu đề của cột trống trong vùng lưới:DSHH.SLdk+Sum(DATA.SLin)-Sum(DATA.SLOut)Kết quả:Tuy nhiên làm như vậy tên trường sẽ bị đặt tên tự động là Express1009 khônghay. Ta sẽ gõ công thức trong SQL:DSHH.SLdk+Sum(DATA.SLin)-Sum(DATA.SLOut) AS SLCuoikyTương tự tính giá bình quân gia quyền:(Sum(data.ttiennhap)+dshh.ttiendk)/(Sum(Data.SLIn)+dshh.sldk) AS gbqTa thấy có thể tính trong Query nh ưng khá phức tạp, khi tính đến Thành tiềnxuất kho ta không thể lấy trực tiếp gbq nhân SLXuat mà phải lập lại công thứctính gbq và sum(DATA.SlOut). Nó dài ngoằng thế này:(Sum(data.ttiennhap)+dshh.ttiendk)/(Sum(Data.SLIn)+dshh.sldk)*Sum(DATA.SLOut) AS ThanhtienXuatVà tính Thành tiền tồn cuối kỳ cũng thế. Vì Excel không hỗ trợ tốt như AccessVậy các bạn tốt nhất nên dừng lại ở phần tính giá bình quân, còn thành tiềnxuất, SL tồn cuối kỳ và Thành tiền cuối kỳ để tính sau bằng hàm của Excel. ...

Tài liệu được xem nhiều: