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
    Sep 2015
    Bài viết
    85

    Làm sao để INSERT INTO giá trị DATE trong ACCESS?

    Mình có 1 FORMS frmNHAP gồm 3 textbox ( tbDATE, tbMAHH, tbSO_LUONG ) va` 1 button để btLuu.

    Và 2 table, 1 table NHAP( DATE(short date (dd/mm/yyyy)), MAHH(text), SO_LUONG(number)), 1 table XUATNHAP (DATE,MAHH,TONGSL). Việc mình làm là từ FORMS frmNHAP co' the nhập dữ liệu vào 2 table.
    Nhưng mình ko thể INSERT INTO giá trị DATE, sau khi đã nhập trên tbDATE : 22/01/2010 Click vào btLuu thì nó báo lỗi :"syntax error INSERT INTO Statement"

    Mình đã thử INSERT từng giá trị thì chỉ bị ngay giá trị DATE.

    CODE]
    Private Sub btluu_Click()
    On Error GoTo Err_btluu_Click

    Dim mySQL As String
    Dim Db As Database
    Set Db = CurrentDb()
    mySQL = "INSERT INTO XUATNHAP (DATE, MAHH) VALUES ([FORMS]![frmNHAP]![tbDATE],[FORMS]![frmNHAP]![tbMAHH])"
    DoCmd.RunSQL mySQL
    [/CODE]

    Mọi người giúp mình lỗi này với. Cảm ơn mọi người.

  2. #2
    Ngày tham gia
    Nov 2015
    Bài viết
    6
    Ðề: Làm sao để INSERT INTO giá trị DATE trong ACCESS?

    Đây là câu lệnh của bạn


    Mã:
    Private Sub btluu_Click()
    On Error GoTo Err_btluu_Click
    Dim mySQL As String
    Dim Db As Database
    Set Db = CurrentDb()
    mySQL = "INSERT INTO XUATNHAP ( DATE, MAHH ) SELECT NHAP.DATE, NHAP.MAHH FROM NHAP WHERE (((NHAP.DATE)=[Forms]![frmNHAP]![tbDATE]))"
    DoCmd.RunSQL mySQL
    
    Exit_btluu_Click:
        Exit Sub
    
    Err_btluu_Click:
        MsgBox Err.Description
        Resume Exit_btluu_Click
        
    End Sub
    Mình lưu ý bạn là trong câu lệnh Insert trên nó sẽ insert toàn bộ dữ liệu của 1 ngày trong bảng NHAP vào XUATNHAP ,cho nên nếu trong bảng NHAP của bạn có nhiều bản ghi cho 1 ngày mà bạn chỉ muốn lấy 1 bản ghi cho vào XUATNHAP thì bạn nên tao thêm 1 trường ID (đảm bảo tính duy nhất) và thay lại câu lệnh WHERE của mình nhé.

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm sao để INSERT INTO giá trị DATE trong ACCESS?




    Trích dẫn Gửi bởi glasseggs
    Đây là câu lệnh của bạn


    Mã:
    Private Sub btluu_Click()
    On Error GoTo Err_btluu_Click
    Dim mySQL As String
    Dim Db As Database
    Set Db = CurrentDb()
    mySQL = "INSERT INTO XUATNHAP ( DATE, MAHH ) SELECT NHAP.DATE, NHAP.MAHH FROM NHAP WHERE (((NHAP.DATE)=[Forms]![frmNHAP]![tbDATE]))"
    DoCmd.RunSQL mySQL
    
    Exit_btluu_Click:
        Exit Sub
    
    Err_btluu_Click:
        MsgBox Err.Description
        Resume Exit_btluu_Click
        
    End Sub
    Mình lưu ý bạn là trong câu lệnh Insert trên nó sẽ insert toàn bộ dữ liệu của 1 ngày trong bảng NHAP vào XUATNHAP ,cho nên nếu trong bảng NHAP của bạn có nhiều bản ghi cho 1 ngày mà bạn chỉ muốn lấy 1 bản ghi cho vào XUATNHAP thì bạn nên tao thêm 1 trường ID (đảm bảo tính duy nhất) và thay lại câu lệnh WHERE của mình nhé.
    Cảm ơn bạn đã trả lời, mình hiểu ý của bạn rồi. Mình đã thêm trường ID(autonumber) nhưng ở đây của mình là mình làm 1 frmNHAP --> INSERT INTO 1 lúc vào 2 Table : NHAP và XUATNHAP.

    Mình đã làm theo cách của bạn nó vẫn báo lỗi như trên : syntax error in INSERT INTO Statement

    Ví dụ như mình làm thế này thì no' INSERT vào dc :


    Mã:
    mySQL1 = "INSERT INTO XUATNHAP (MAHH) VALUES ([FORMS]![frmNHAP]![tbMAHH])"
    mySQL2 = "INSERT INTO NHAP (MAHH) VALUES ([FORMS]![frmNHAP]![tbMAHH])"
    cả 2 table đều INSERT vào dc. ở trên MAHH(text), nhập từ forms frmNHAP: 000001


    nhưng với giá trị là DATE(Short DATE),nhập từ forms frmNHAP: 22/01/2010 thì lại báo lỗi như trên :


    Mã:
    mySQL1 = "INSERT INTO XUATNHAP (DATE) VALUES ([FORMS]![frmNHAP]![tbDATE])"
    mySQL2 = "INSERT INTO NHAP (DATE) VALUES ([FORMS]![frmNHAP]![tbDATE])"
    Mình mới làm quen với ACCESS nên kinh nghiệm còn yếu.
    Có phải là do mình formating sai của định dạng DATE ko ? Bạn giúp mình cái này với nhé, mình phải cập nhật giá trị DATE bảng XUATNHAp thì mới tính dc tồn kho.

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    70
    Ðề: Làm sao để INSERT INTO giá trị DATE trong ACCESS?




    Trích dẫn Gửi bởi frankie123
    Mình có 1 FORMS frmNHAP gồm 3 textbox ( tbDATE, tbMAHH, tbSO_LUONG ) va` 1 button để btLuu.

    Và 2 table, 1 table NHAP( DATE(short date (dd/mm/yyyy)), MAHH(text), SO_LUONG(number)), 1 table XUATNHAP (DATE,MAHH,TONGSL). Việc mình làm là từ FORMS frmNHAP co' the nhập dữ liệu vào 2 table.
    Nhưng mình ko thể INSERT INTO giá trị DATE, sau khi đã nhập trên tbDATE : 22/01/2010 Click vào btLuu thì nó báo lỗi :"syntax error INSERT INTO Statement"

    Mình đã thử INSERT từng giá trị thì chỉ bị ngay giá trị DATE.

    CODE]
    Private Sub btluu_Click()
    On Error GoTo Err_btluu_Click

    Dim mySQL As String
    Dim Db As Database
    Set Db = CurrentDb()
    mySQL = "INSERT INTO XUATNHAP (DATE, MAHH) VALUES ([FORMS]![frmNHAP]![tbDATE],[FORMS]![frmNHAP]![tbMAHH])"
    DoCmd.RunSQL mySQL
    [/code]

    Mọi người giúp mình lỗi này với. Cảm ơn mọi người.
    mySQL = "INSERT INTO XUATNHAP (DATE, MAHH) VALUES (#" & Format(tbDATE, "mm/dd/yy") & "#, '" & tbMAHH & "')"

    Kiểu này nó "dễ chịu hơn" vì viết thế này, Access nó mặc định lấy control theo form hiện hành. Nếu dùng dạng Forms!frmNhap!tbDate, Access sẽ phải:
    Kiếm trong danh sách form hiện mở có form nào tên là frmNhap không.
    Nếu có thì lấy giá trị trong các control đã chỉ ra.

    Đây thuần túy chỉ là kỹ thuật lập trình mà thôi. Cách viết của các bạn không có gì là sai.

  5. #5
    Ngày tham gia
    Nov 2015
    Bài viết
    1
    Ðề: Làm sao để INSERT INTO giá trị DATE trong ACCESS?

    cảm ơn các bạn, mình đã làm được rồi.

 

 

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
  •