• Tự chọn yes or no trong VBA khi chạy SQL
  • Tự chọn yes or no trong VBA khi chạy SQL

    NguyenDungAnh > 25-08-18, 01:05 AM

    Chào các bác!
    Các bác cho em hỏi một vấn đề như thế này, em viết trong VBA tạo một câu lệnh sql append cho 1 table code thì ngon lành rồi nhưng mỗi lần chạy access hỏi có đồng ý thêm bao nhiêu row vào table không, có cách nào tự chọn là có hoặc là không không, em tạo cái delete  cũng bị như vậy. Nếu mình bấm vào no thì nó còn báo lỗi nữa.
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    ongke0711 > 25-08-18, 01:37 AM

    Có 2 cách:
    - C1:
    Bạn chèn 2 dòng code này:

    Docmd.SetWarning False
    ... chạy câu lệnh SQL
    ...
    Docmd.Setwarning True

    -C2: đối với các Action query thì dùng Execute. 
    CurrentDb.Execute strSQL, dbFailOnError
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    NguyenDungAnh > 25-08-18, 02:58 AM

    cách 1 true là có còn false là không hả bác,
    cách 2 thì em chưa hiểu lắm bác giải thích nghĩa câu lệnh đó cho em với.

    bác cho em hỏi vấn đề này với
    em có 1 loạt textbox tên là tb1,tb2,tb3 .... tb10
    với 1 mảng arr1() cũng có 10 giá trị
    em muốn dùng for i=0 to 9 gắn giá trị cho các tb theo thứ tự từ 1-10 thì làm thế nào, hay là phải gắn từng tb một.
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    NguyenDungAnh > 25-08-18, 03:03 AM

    Em vừa làm thử cách 1 nhưng không được bác ạ. máy vẫn báo đòi yes no để add dữ liệu vào table
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    Xuân Thanh > 25-08-18, 06:28 AM

    [size=medium][font=Arial]
    Mã PHP:
    If MsgBox("Ban muon chen du lieu không? Có(Yes), Không(No)"vbYesNo"Thong Bao") = vbYes Then[/font][/size]
          DoCmd.SetWarnings False
          
    ' Chay cau SQL
          Docmd.SetWarnings True
    End If 
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    NguyenDungAnh > 25-08-18, 07:35 AM

    (25-08-18, 06:28 AM)Xuân Thanh Đã viết: [size=medium][font=Arial]
    Mã PHP:
    If MsgBox("Ban muon chen du lieu không? Có(Yes), Không(No)"vbYesNo"Thong Bao") = vbYes Then[/font][/size]
          DoCmd.SetWarnings False
          
    ' Chay cau SQL
          Docmd.SetWarnings True
    End If 

    Cám ơn bác xuân thanh em đã làm đc nhờ hướng dẫn bác ongke rồi nhưng ko biết hqua thì làm ko đc mà hnay lại đc

    Bác giúp em ý này với.
    bác cho em hỏi vấn đề này với
    em có 1 loạt textbox tên là tb1,tb2,tb3 .... tb10
    với 1 mảng arr1() cũng có 10 giá trị
    em muốn dùng for i=0 to 9 gắn giá trị cho các tb theo thứ tự từ 1-10 thì làm thế nào, hay là phải gắn từng tb một.
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    ongke0711 > 25-08-18, 09:04 AM

    - Khi bạn chạy câu lệnh SQL trong code là tất nhiên muốn nó Yes rồi nên bạn phả tắt thông báo mặc định của Access khi chạy các Action query (Insert, Update...). Docmd.SetWarning False là để tắt cảnh báo trước khi chạy, sau đó mở lại để không làm ảnh hưởng đến các thông báo hệ thống khác.

    - Muốn phân phối mảng cho textbox bạn dùng vòng lặp For ... Next.
    Vd: 
        
    Mã PHP:
    Dim ctl As Control
    Dim i 
    As Integer

    For 1 to 10
         For Each ctl in Me
    .Controls
                
    If ctl.Name "tb" i Then
                      ctl
    .Value arr1(i-1)
                      Goto KeTiep
                End 
    If
          Next
    KeTiep
    :
    Next 
  • RE: Tự chọn yes or no trong VBA khi chạy SQL

    NguyenDungAnh > 26-08-18, 03:40 PM

    Cám ơn bác đã giúp.
    Hôm qua em search cũng được một cách này khá hay
    em dùng vòng for

    For i= 0 to n
    Me.controls("tb"&i) = arr(i)
    next

    cũng làm được bác ạ