Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Tại sao câu lệnh SQL trên nền VBA này không thực hiện được?
#1
Mình có một đoạn code này mà không hiểu sao không thực hiện được, cũng không thấy báo lỗi. Trong khi nếu chạy bằng query thì bình thường nếu chạy trực tiếp, còn nếu chạy query bằng câu lệnh OpenQuery thì bảng tbSSDoiTuong cũng không có kết quả.
Đây là đoạn code của mình:

Mã:
Dim sql As String
slq = "INSERT INTO tbSSDoiTuong ( Ma, VuHienTai, ChetHienTai, BTHienTai, VuCungKy, ChetCungKy, BTCungKy, VuSoSanh, ChetSoSanh, BTSoSanh ) " & _
"SELECT tbSoSanh1.Ma, Sum(tbSoSanh1.Vu) AS VuHienTai, Sum(tbSoSanh1.Chet) AS ChetHienTai, Sum(tbSoSanh1.BT) AS BTHienTai, Sum(tbSoSanh2.Vu) AS VuCungKy, " & _
"Sum(tbSoSanh2.Chet) AS ChetCungKy, Sum(tbSoSanh2.BT) AS BTCungKy, [VuHienTai]-[VuCungKy] AS VuSoSanh, [ChetHienTai]-[ChetCungKy] AS ChetSoSanh, " & _
"[BTHienTai]-[BTCungKy] AS BTSoSanh FROM tbSoSanh2 INNER JOIN tbSoSanh1 ON tbSoSanh2.Ma = tbSoSanh1.Ma GROUP BY tbSoSanh1.Ma;"
DoCmd.RunSQL sql

Hy vọng những ai hiểu được nguyên do giúp mình với. Vì cũng một đoạn lệnh INSERT khác thì mình vẫn thực hiện bình thường:

Mã:
sql = "INSERT INTO tbSoSanh1 ( Ma, Vu, Chet, BT ) SELECT tbTaiNanDoiTuong.DoiTuong, Sum(tbTaiNanDoiTuong.Vu) AS SumOfVu, Sum(tbTaiNanDoiTuong.Chet) AS SumOfChet, " & _
"Sum(tbTaiNanDoiTuong.BT) AS SumOfBT FROM tbTaiNanDoiTuong WHERE (((tbTaiNanDoiTuong.VaCham) = [Forms]![frmSoSanh]![cbLoai]) And " & _
"((tbTaiNanDoiTuong.NgayThang) >= [Forms]![frmSoSanh]![SSTuNgay] And (tbTaiNanDoiTuong.NgayThang) <= [Forms]![frmSoSanh]![SSDenNgay])) GROUP BY tbTaiNanDoiTuong.DoiTuong;"
DoCmd.RunSQL sql
Chữ ký của tsingle
Điều chúng ta biết chỉ là một giọt nước
Điều chúng ta không biết mênh mông như đại dương
Reply
Những người đã cảm ơn
#2
Nguyên do rất đơn giản, bạn gán câu query vào biến "slq " nhưng lại gọi DoCmd.RunSQL sql
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn tsingle
#3
Thanks nhé! Hic, mình soi cả mấy ngày mà ko ra, cứ lo đi sửa đoạn lệnh.024
Mà không hiểu sao vẫn không chạy được nhỉ. Theo như mình test thì do nó không chạy câu lệnh sql trên form đó, copy sang form mới thì chạy bình thường. Form đó mình có 1 subform lấy dữ liệu từ bảng tbSSDoiTuong.
Chữ ký của tsingle
Điều chúng ta biết chỉ là một giọt nước
Điều chúng ta không biết mênh mông như đại dương
Reply
Những người đã cảm ơn
#4
Việc này phải xem file của bạn mới biết được! happy
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
(25-07-12, 10:47 AM)Noname Đã viết: Nguyên do rất đơn giản, bạn gán câu query vào biến "slq " nhưng lại gọi DoCmd.RunSQL sql

(25-07-12, 12:42 PM)Noname Đã viết: Việc này phải xem file của bạn mới biết được! happy

https://docs.google.com/open?id=0Bzt9Qif...HdzQjRjaDA
Đây là file đính kèm của mình. Mình đã xóa bớt một số thứ ko cần thiết cho dễ nhìn. Đoạn code đó ở trong On Click của command So sánh frmSoSanh, còn đoạn code test của mình ở trong Form4. Mình thấy đoạn lệnh xóa dữ liệu của bảng tbSSDoiTuong cũng không được nên nghĩ chắc do form frmSoSanh đang dùng data của tbSSDoiTuong, nhưng không hiểu lý do tại sao. Chưa gặp tình huống này bao giờ, hic.027
Nhờ xem và chỉ giúp mình nhé. Thanks!
Chữ ký của tsingle
Điều chúng ta biết chỉ là một giọt nước
Điều chúng ta không biết mênh mông như đại dương
Reply
Những người đã cảm ơn
#6
Mình không tải được. Bạn up lên mediafire đi
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
(25-07-12, 05:31 PM)Noname Đã viết: Mình không tải được. Bạn up lên mediafire đi

Link mediafire: http://www.mediafire.com/?f66jh6weyll8qlh
Chữ ký của tsingle
Điều chúng ta biết chỉ là một giọt nước
Điều chúng ta không biết mênh mông như đại dương
Reply
Những người đã cảm ơn
#8
Không ai xem giúp mình với ah040
Chữ ký của tsingle
Điều chúng ta biết chỉ là một giọt nước
Điều chúng ta không biết mênh mông như đại dương
Reply
Những người đã cảm ơn
#9
Cái sai lớn nhất của bạn là bạn gán biến sql cho 4-5 câu lệnh truy vấn thì làm sao nó hiểu được? Nên tách nó ra rõ rang từng câu truy vấn một. Thử lại xem.
Thân
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
(27-07-12, 10:06 AM)Xuân Thanh Đã viết: Cái sai lớn nhất của bạn là bạn gán biến sql cho 4-5 câu lệnh truy vấn thì làm sao nó hiểu được? Nên tách nó ra rõ rang từng câu truy vấn một. Thử lại xem.
Thân

Cảm ơn bạn! Tuy có 1 biến sql đó nhưng mỗi lần thực hiện truy vấn có một giá trị khác nhau, mấy câu lệnh phía trên của mình vẫn thực hiện bình thường mà.

Cảm ơn cả nhà đã góp ý giúp mình. Bây giờ mình đã tìm được một cách khắc phục là không cho form sử dụng data trực tiếp từ table nữa mà chỉ gọi sau khi đã cập nhật dữ liệu cho table, dù hơi thủ công và sẽ tốn thêm vài lần thực hiện lệnh nhưng không bị kẹt, dùng tạm cũng được.014
Nhưng mình vẫn không hiểu tại sao khi form sử dụng data từ một table thì không thể thực hiện câu lệnh sql trong form tác động lên table đó nhỉ, trong khi sử dụng VBA thì bình thường, ai biết về vấn đề này trả lời giúp mình với. 027
Chữ ký của tsingle
Điều chúng ta biết chỉ là một giọt nước
Điều chúng ta không biết mênh mông như đại dương
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Tạo thanh tiến trình trên Form (Progress bar) khi xử lý dữ liệu ongke0711 18 1,488 21-10-16, 10:17 PM
Bài mới nhất: ongke0711
  [Thủ Thuật] Demo Hàm report tự canh đều chiều cao ( Không kẻ line)) maidinhdan 34 1,471 20-10-16, 11:01 AM
Bài mới nhất: maidinhdan
  [Help] lệnh tìm kiếm và hiển thị kết quả tìm kiếm trên form tvn_hut 12 1,010 25-06-16, 12:22 AM
Bài mới nhất: zinzin8x
  [Hỏi] Sử dụng ngày trong truy vấn qua VBA tại sao không đúng? luonguct 5 321 09-06-16, 06:24 PM
Bài mới nhất: maidinhdan
  [Hỏi] Hiện ảnh trên form ngay sau khi insert đường link hình tvn_hut 18 769 09-03-16, 11:34 AM
Bài mới nhất: maidinhdan

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ