Gian hàng bán Rao vặt Hỏi đáp Đánh giá sản phẩm Thêm
Ứng dụng Thông báo Hỗ trợ Đăng ký Đăng nhập
1 thành viên trả lời
tuncon Trả lời cuối cùng: 10/06/2009
Thành viên tích cực nhất
  • Hot
  • Giảm giá
  • Mới

      Dùng Make-Table query trong Access?

      tunyeu

      10/06/2009 - 10:53
      Tôi dùng Make-Table Query để tạo các table làm dữ liệu cho các Form và Report. Tôi đã vào Tool > Options > Edit/Find và bỏ chọn Action Queries, nhưng khi mở Form hoặc Report vẫn xuất hiện thông báo: "The existing table 'Tên Table' will be deleted before you run the query. Do you want to continue anyway?".

      Có cách nào để Access không hiển thị thông báo trên?
      Câu hỏi này hữu ích với bạn? Cảm ơn

      Vui lòng đăng nhập ID VATGIA để gửi trả lời của bạn

      tuncon

      10/06/2009 - 10:54
      Bạn có thể khắc phục câu thông báo như vậy bằng cách sử dụng lệnh VBA. Trong VBA, nếu bạn không trực tiếp viết câu lệnh SQL được thì làm như sau: khi thiết kế Make-Table query, bạn chọn mục SQL View trên trình đơn View để mở cửa sổ chứa nội dung câu lệnh SQL, đánh dấu chọn rồi chép vào VBA.
      Đoạn mã 1 minh họa việc tạo một table có tên tbNewTable từ table có sẵn tên tbDanhSach. Căn cứ vào ví dụ này, bạn có thể áp dụng vào nhu cầu thực tế của mình.
      Bạn lưu ý: để sử dụng đối tượng Database, trong cửa sổ soạn thảo VBA, bạn phải chọn mục Tools > References, rồi chọn mục Microsoft DAO 3.6 Object Library (hoặc phiên bản cao nhất của DAO Object Library) trong hộp thoại References.

      Đoạn mã 1

      Dim db As Database
      Private Sub cmdTaoTable_Click()
      Dim sSQL As String
      Set db = CurrentDb
      If lTableCoRoi("tbNewTable") Then
      If MsgBox("Table tbNewTable co roi! Xoa de tao moi?", vbDefaultButton2 + _
      vbYesNo + vbQuestion) = vbYes Then
      DoCmd.DeleteObject acTable, "tbNewTable"
      Else
      Exit Sub
      End If
      End If
      sSQL = "SELECT tbDanhSach.hoten INTO tbNewTable " & _
      "FROM tbDanhSach;"
      db.Execute (sSQL)
      Set db = Nothing
      End Sub
      Function lTableCoRoi(sTenTable As String) As Boolean
      Dim i As Integer
      lTableCoRoi = False
      For i = 0 To db.TableDefs.Count - 1
      If UCase(db.TableDefs(i).Name) = UCase(sTenTable) Then
      lTableCoRoi = True
      Exit For
      End If
      Next
      End Function
      . Bình luận này hữu ích với bạn? Cảm ơn

      Báo vi phạm