Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Lỗi trong append query
#1
Mình không chạy được SQL này. Báo lỗi đoạn Select đầu tiên, hix. Các bạn xem hộ.
Trích dẫn:DoCmd.RunSQL "INSERT INTO tblSoDuCongNo (MaTaiKhoan,MaDoiTac,TenDoiTac) VALUES (SELECT TaiKhoanNoPhaiThu AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiThu<>""; " & _
"UNION SELECT TaiKhoanNoPhaiTra AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiTra<>"");"

Xin cám ơn./.
Chữ ký của darkmoon Xin chào, mình là darkmoon, Tham gia http://thuthuataccess.com/forum từ ngày 06-07 -11.
Reply
Những người đã cảm ơn
#2
Trong VBA, bạn thử đóng ngoặc các String điều kiện là dấu nháy đơn thay vì dấu nháy kép thử xem.

Mã:
DoCmd.RunSQL "INSERT INTO tblSoDuCongNo (MaTaiKhoan,MaDoiTac,TenDoiTac) VALUES (SELECT TaiKhoanNoPhaiThu AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiThu<>'' " & _
"UNION SELECT TaiKhoanNoPhaiTra AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiTra<>'');"

Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(09-01-12, 04:25 PM)Noname Đã viết: Trong VBA, bạn thử đóng ngoặc các String điều kiện là dấu nháy đơn thay vì dấu nháy kép thử xem.

Mã:
DoCmd.RunSQL "INSERT INTO tblSoDuCongNo (MaTaiKhoan,MaDoiTac,TenDoiTac) VALUES (SELECT TaiKhoanNoPhaiThu AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiThu<>'' " & _
"UNION SELECT TaiKhoanNoPhaiTra AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiTra<>'');"

Mình cũng thử nhưng vẫn không thể append được. Dù đã thay thế dấu " bằng chr(39). Lỗi hiện lên thông báo đoạn
Trích dẫn:SELECT TaiKhoanNoPhaiThu AS TaiKhoan
Chữ ký của darkmoon Xin chào, mình là darkmoon, Tham gia http://thuthuataccess.com/forum từ ngày 06-07 -11.
Reply
Những người đã cảm ơn
#4
(09-01-12, 04:30 PM)darkmoon Đã viết:
(09-01-12, 04:25 PM)Noname Đã viết: Trong VBA, bạn thử đóng ngoặc các String điều kiện là dấu nháy đơn thay vì dấu nháy kép thử xem.

Mã:
DoCmd.RunSQL "INSERT INTO tblSoDuCongNo (MaTaiKhoan,MaDoiTac,TenDoiTac) VALUES (SELECT TaiKhoanNoPhaiThu AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiThu<>'' " & _
"UNION SELECT TaiKhoanNoPhaiTra AS TaiKhoan, MaDoiTac, TenDoiTac " & _
"FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiTra<>'');"

Mình cũng thử nhưng vẫn không thể append được. Dù đã thay thế dấu " bằng chr(39). Lỗi hiện lên thông báo đoạn
Trích dẫn:SELECT TaiKhoanNoPhaiThu AS TaiKhoan
Bạn up file lên xem thử, Giữ nguyên hiện trường chỗ sai để mình xem luôn hén
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
Run-time error '3075'
Syntax error in query expression 'SELECT TaiKhoanNoPhaiThu AS TaiKhoan'
Chữ ký của darkmoon Xin chào, mình là darkmoon, Tham gia http://thuthuataccess.com/forum từ ngày 06-07 -11.
Reply
Những người đã cảm ơn
#6
Gửi file lên đi bạn!
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
Nếu tạo union query riêng rồi append vào table thì lại không vấn đề gì.

http://www.mediafire.com/?ghube7znf2k0154
Chữ ký của darkmoon Xin chào, mình là darkmoon, Tham gia http://thuthuataccess.com/forum từ ngày 06-07 -11.
Reply
Những người đã cảm ơn haquocquan
#8
Mình xem qua rồi. Đối tượng table, query không trả về 1 mảng hay một giá trị, vì vậy bạn không dùng tham số Values trong câu trên.
Đồng thời, hàm union là sinh ra 1 table mới mà Access nó không hiểu được cấu trúc table này để insert vào table tblSoDuCongNo

Để tránh nhập nhằng, bạn nên tách câu query trên thành 2 câu query độc lập như sau:
Mã:
Dim sqlN, sql1, sql2 As String
DoCmd.SetWarnings False

sqlN = "INSERT INTO tblSoDuCongNo (MaTaiKhoan,MaDoiTac,TenDoiTac) "
DoCmd.RunSQL sqlN & "SELECT TaiKhoanNoPhaiThu, MaDoiTac, TenDoiTac FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiThu<>''"
DoCmd.RunSQL sqlN & "SELECT TaiKhoanNoPhaiTra, MaDoiTac, TenDoiTac FROM tblDanhMucDoiTac WHERE TaiKhoanNoPhaiTra<>''"
DoCmd.SetWarnings True
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan , bomnhauag , darkmoon
#9
Hoặc bạn dùng đoạn code này:
Mã:
DoCmd.RunSQL "INSERT INTO tblSoDuCongNo (MaTaiKhoan,MaDoiTac,TenDoiTac)" & _
" SELECT query1.MaTaiKhoan, query1.MaDoiTac, query1.TenDoiTac" & _
" FROM  ([SELECT tblDanhMucDoiTac.TaiKhoanNoPhaiThu AS MaTaiKhoan, MaDoiTac, TenDoiTac" & _
" FROM tblDanhMucDoiTac WHERE tblDanhMucDoiTac.TaiKhoanNoPhaiThu<>''" & _
" UNION SELECT tblDanhMucDoiTac.TaiKhoanNoPhaiTra AS MaTaiKhoan, MaDoiTac, TenDoiTac" & _
" FROM tblDanhMucDoiTac WHERE tblDanhMucDoiTac.TaiKhoanNoPhaiTra<>'']. as query1)"
Chữ ký của haquocquan Guest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn darkmoon


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng Dẫn hướng dẫn làm query theo cbobox tieuho828 0 9 10 Giờ trước
Bài mới nhất: tieuho828
  Lọc query có điều kiện để tạo report honglv157 3 164 01-12-16, 05:15 PM
Bài mới nhất: maidinhdan
  [Help] ẩn nút ""Close Windown" khi mở query tronghieu9792 4 87 30-11-16, 09:36 PM
Bài mới nhất: tronghieu9792
Question [Help] Cần giúp đỡ tạo query lấy giá trị của dòng liền trước để tính giá trị trung bình luonguct 4 89 23-11-16, 12:33 AM
Bài mới nhất: luonguct
  Hướng Dẫn hướng dẫn làm query tieuho828 6 151 21-11-16, 12:36 AM
Bài mới nhất: toancvp

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ơ