Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Nov 2015
    Bài viết
    0

    Điều chỉnh thông tin thông qua Query

    Sau thời gian sưu tầm và tìm tòi, em có được câu lệnh chỉnh sửa thông tin như sau:
    Dim db As Database, rs As Recordset, DK As String
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblC_Tiet", dbOpenDynaset)
    DK = "SC_tu = '" & Me!txtSC_tu & "'"
    rs.FindFirst DK
    If Not rs.NoMatch Then
    rs.Edit
    rs!Ngay = Me!txtNgay
    rs!SC_tu = Me!txtSC_tu
    rs!Ten = Me!txtTen
    rs!S_Tien = Me!txtS_Tien
    rs!N_dung = Me!txtN_dung
    rs!G_chu = Me!txtG_chu
    rs.Update
    End If
    rs.Close
    Set db = Nothing


    Nhưng đó là em đã chui thẳng vào table mà chỉnh sửa

    Giờ em muốn chỉnh sửa thông tin qua query thì em viết lệnh như nào, nhờ anh chị chỉ bảo.

    Em cảm ơn nhiều nhiều...!

  2. #2
    Ngày tham gia
    May 2016
    Bài viết
    0
    Ðề: Điều chỉnh thông tin thông qua Query




    Trích dẫn Gửi bởi tienduyet
    Sau thời gian sưu tầm và tìm tòi, em có được câu lệnh chỉnh sửa thông tin như sau:
    Dim db As Database, rs As Recordset, DK As String
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblC_Tiet", dbOpenDynaset)
    DK = "SC_tu = '" & Me!txtSC_tu & "'"
    rs.FindFirst DK
    If Not rs.NoMatch Then
    rs.Edit
    rs!Ngay = Me!txtNgay
    rs!SC_tu = Me!txtSC_tu
    rs!Ten = Me!txtTen
    rs!S_Tien = Me!txtS_Tien
    rs!N_dung = Me!txtN_dung
    rs!G_chu = Me!txtG_chu
    rs.Update
    End If
    rs.Close
    Set db = Nothing


    Nhưng đó là em đã chui thẳng vào table mà chỉnh sửa

    Giờ em muốn chỉnh sửa thông tin qua query thì em viết lệnh như nào, nhờ anh chị chỉ bảo.

    Em cảm ơn nhiều nhiều...!
    Bạn muốn chỉnh sửa thông tin của table thì kể cả cách trên hay dùng query thì vẫn phải lao vào table chứ.
    Nếu sử dụng query, bạn thử dùng câu lệnh sau xem sao:



    UPDATE tblC_Tiet Set tblC_Tiet.ngay = me.txtNgay where tblC_Tiet.SC_Tu = me.txtSC_tu

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Điều chỉnh thông tin thông qua Query




    Trích dẫn Gửi bởi tienduyet
    Sau thời gian sưu tầm và tìm tòi, em có được câu lệnh chỉnh sửa thông tin như sau:
    Dim db As Database, rs As Recordset, DK As String
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblC_Tiet", dbOpenDynaset)
    DK = "SC_tu = '" & Me!txtSC_tu & "'"
    rs.FindFirst DK
    If Not rs.NoMatch Then
    rs.Edit
    rs!Ngay = Me!txtNgay
    rs!SC_tu = Me!txtSC_tu
    rs!Ten = Me!txtTen
    rs!S_Tien = Me!txtS_Tien
    rs!N_dung = Me!txtN_dung
    rs!G_chu = Me!txtG_chu
    rs.Update
    End If
    rs.Close
    Set db = Nothing


    Nhưng đó là em đã chui thẳng vào table mà chỉnh sửa

    Giờ em muốn chỉnh sửa thông tin qua query thì em viết lệnh như nào, nhờ anh chị chỉ bảo.

    Em cảm ơn nhiều nhiều...!
    Bạn tạo 1 query trỏ đến table đó, giả sử đặt tên qryC_Tiet
    Set rs = db.OpenRecordset("qryC_Tiet", dbOpenDynaset)

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Điều chỉnh thông tin thông qua Query

    Em đã làm theo cách của anh chip2006 trước khi gửi bài rồi, nhưng không được.

    Có ai có cách khác hay hơn không ạ !?

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Điều chỉnh thông tin thông qua Query

    Một database object thì có 1 conection object và ngược lại.
    2 cái đó, để cho đơn giản, hãy xem như 1, chỉ là do người ta tạo ra như thế cho tiện sử dụng khi đóng mở 1 database.

    Về giao diện thì conection object có 2 object con:
    - QueryDef.
    - Recordset.
    Bạn có thể gán các lệnh qua 2 đối tượng này.
    Ngoài ra, connection object cũng là 1 object và cũng có giao diện của nó, và bạn cũng có thể gán lệnh qua conection object, giống như mua tận gốc bán tận ngọn, không qua thằng cò, thằng đại lý vậy đó.

    Đối với Connection và Recordset bạn có thể truy xuất dữ liệu hoặc ra các lệnh chỉnh sửa dữ liệu (action queries), trong khi với QueryDef, như tên gọi của nó, thường đuợc dùng để truy xuất dữ liệu.

    Như ở trên bạn đã phát lệnh cho đối tượng Recordset:

    Set rs = db.OpenRecordset("tblC_Tiet", dbOpenDynaset)
    ...
    rs.Update


    Lẽ dĩ nhiên nếu muốn phát lệnh cho conection object hoặc database object thì bạn cần khởi tạo đối tượng conection hoặc database và sau đó gán lệnh bằng cú pháp thích hợp. Ví dụ:

    Dim db As Database, conn As Connection, DK As String
    Set db = CurrentDb
    DK = "UPDATE tblC_Tiet SET SC_tu = '" & Me!txtSC_tu & "'"
    Set conn = db.Connection
    conn.Execute DK

    Như đã nói ở phần đầu, bạn có thể gắn lệnh Execute vào Connection Object hay Database Object đều được.

    Trong trường hợp bạn xài ADO (ActiveX Data Object) thì còn có thêm 1 đối tượng là Command Object để phát lệnh nữa.

    Thêm: Đối với database object, ngoài 3 đối tượng con là Connection Object, Recordset Object và QueryDef Object còn có đối tượng con của nó là TableDef Object dùng để chỉnh sửa cấu trúc của các table.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •