xin các cao thủ cho biết trong câu lệnh SQL(ex:INSERT INTO),thì tên của Table SELECT...FROM..có thể là 1 Table động không(ex:Chungtu và Thang và Nam),xin cám ơn trước...thân
Bản thân câu lệnh thì không động.
Tuy nhiên bạn có thể dùng ngôn ngữ lập trình xử lý chuỗi để tạo ra 1 chuỗi ký tự có dạng "select ... from ctuxxyy ..." rồi phần mềm ngon ngữ sẽ chuyển chuỗi đó như là 1 tham số cho driver thực hiện.
ví dụ:
thang = 3
nam = 2009
danhmucfields = "loaictu, so, ngay "
Myselect = "SELECT " & danhmucfields & " FROM " & "Chungtu" & Cstr(thang) & Cstr(nam) '--- đến đây Myselect có giá trị là "SELECT loaictu, so, ngay FROM chungtu32009" RecordsetObject.Excute Myselect
Bản thân câu lệnh thì không động.
Tuy nhiên bạn có thể dùng ngôn ngữ lập trình xử lý chuỗi để tạo ra 1 chuỗi ký tự có dạng "select ... from ctuxxyy ..." rồi phần mềm ngon ngữ sẽ chuyển chuỗi đó như là 1 tham số cho driver thực hiện.
ví dụ:
thang = 3
nam = 2009
danhmucfields = "loaictu, so, ngay "
Myselect = "SELECT " & danhmucfields & " FROM " & "Chungtu" & Cstr(thang) & Cstr(nam) '--- đến đây Myselect có giá trị là "SELECT loaictu, so, ngay FROM chungtu32009" RecordsetObject.Excute Myselect
làm được rồi bạn,cám ơn bạn rất nhiều,nhưng sao câu lệnh RecordsetObject.Excute Myselect không chạy được,tôi phải đổi lại làoCmd.RunSQL Myselect(Access 2003)
Bạn phải khai báo biến CSDL,Recordset sau đó
Set CSDL=Curentdb()
Set rs=CSDL.openrecordset("tentable",Kiểu mở)
CSDL.Excute "SELECT loaictu, so, ngay FROM chungtu32009"
là chạy OK
Bản thân câu lệnh thì không động.
Tuy nhiên bạn có thể dùng ngôn ngữ lập trình xử lý chuỗi để tạo ra 1 chuỗi ký tự có dạng "select ... from ctuxxyy ..." rồi phần mềm ngon ngữ sẽ chuyển chuỗi đó như là 1 tham số cho driver thực hiện.
ví dụ:
thang = 3
nam = 2009
danhmucfields = "loaictu, so, ngay "
Myselect = "SELECT " & danhmucfields & " FROM " & "Chungtu" & Cstr(thang) & Cstr(nam) '--- đến đây Myselect có giá trị là "SELECT loaictu, so, ngay FROM chungtu32009" RecordsetObject.Excute Myselect
làm được rồi bạn,cám ơn bạn rất nhiều,nhưng sao câu lệnh RecordsetObject.Excute Myselect không chạy được,tôi phải đổi lại làoCmd.RunSQL Myselect(Access 2003)
Bạn phải khai báo biến CSDL,Recordset sau đó
Set CSDL=Curentdb()
Set rs=CSDL.openrecordset("tentable",Kiểu mở)
CSDL.Excute "SELECT loaictu, so, ngay FROM chungtu32009"
là chạy OK