ขอความช่วยเหลืออีกครั้ง
กระทู้เก่าบอร์ด อ.Yeadram

 1,233   3
URL.หัวข้อ / URL
ขอความช่วยเหลืออีกครั้ง

ผมมี table อยู่ 2 table table1 ได้สร้างฟอร์ม1ไว้กรอกข้อมูล table2 เป็น table เปล่าซึ่งทุก Field เหมือนกับ table1 ทุก Field (เพื่อไว้ทำการ copy ข้อมูลจาก table1 มาเพิ่มเก็บไว้ใน table2 และมีชื่อเหมือนกันทุก Field) โดยสมมติ table1 มี Field อยู่ 10 Field คือ A - J
A เป็นคีย์หลัก = AID
B,C,D,E เป็น txtbox
F,G.H   เป็น combobox
ที่เหลือ เป็น txtbox หมด

ปัญหาคือ ผมได้สร้างปุ่มสำหรับ copy ไว้ที่ฟอร์ม1 ได้เขียน code ดังนี้
(ได้ค้นหาจากบอร์ด และนำมาฝึกเขีึยนครับ)

Private Sub cmdresign_Click()
On Error GoTo Err_cmdresign_Click

Dim sqlStatement As String
Dim msg As Integer
    msg = MsgBox("คุณต้องการคัดลอกเร็คคอร์ดนี้ ใช่ หรือ ไม่" & Chr(10) & Chr(13) _
                            & "Yes - ต้องการ, No - ไม่ต้องการ", vbYesNo)
    If msg = vbYes Then
        Me.AllowDeletions = True
sqlStatement = "INSERT INTO table2 (A,B,C,D,E,F,G,H,I,J) " & _
"SELECT [A],[B],[C],[D],[E],[F],[G],[H],[I,[J]" & _
"FROM table1" & _
"WHERE [A]=[A],[B],[C],[D],[E],[F],[G],[H],[I],[J] " & ""

DoCmd.RunSQL sqlStatement
DoCmd.SetWarnings False
    End If

Exit_cmdresign_Click:
    Exit Sub

Err_cmdresign_Click:
    MsgBox Err.Description
    Resume Exit_cmdresign_Click

End Sub

เมื่อกดปุ่มที่สร้างไว้ มันขึ้น Compile error: Sub or Function not defined ครับ

ไม่ทราบว่าผมต้องเพิ่มหรือแก้ไขตรงไหนบ้างครับ ลองมาหลายอย่างแล้วมันไม่ได้ซักที รบกวน อ.และท่านผู้รู้ทุกท่านช่วยกรุณาแนะนำ หรือเขียนให้ที่ครับ และช่วยอธิบายด้วยครับ

ขอบคุณครับ

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R16583
รู้สึกว่า ., มันขึ้นเยอะ ผมเลยส่งมาใหม่

Private Sub cmdresign_Click()
On Error GoTo Err_cmdresign_Click

Dim sqlStatement As String
Dim msg As Integer
    msg = MsgBox("คุณต้องการคัดลอกเร็คคอร์ดนี้ ใช่ หรือ ไม่" & Chr(10) & Chr(13) _
                            & "Yes - ต้องการ, No - ไม่ต้องการ", vbYesNo)
    If msg = vbYes Then
        Me.AllowDeletions = True
sqlStatement = "INSERT INTO table2 (A,B,C,D,E,F,G,H,I,J) " & _
"SELECT [A],[B],[C],[D],[E],[F],[G],[H],[I,[J]" & _
"FROM table1" & _
"WHERE [A]=[A],[B],[C],[D],[E],[F],[G],[H],[J] " & ""

DoCmd.RunSQL sqlStatement
DoCmd.SetWarnings False
    End If

Exit_cmdresign_Click:
    Exit Sub

Err_cmdresign_Click:
    MsgBox Err.Description
    Resume Exit_cmdresign_Click

End Sub

เริ่มมึนไม่หมดแล้วผม ช่วยผมด้วยครับ ขอบคุณ
2 @R16588
ในกรณีของคุณ ผมแนะนำว่า ลองฝึกใช้ Query ก่อนเขียน SQL ใน code (คำสั่ง DoCmd.RunSQL) น่าจะดีกว่าครับ
แล้วใช้คำสั่ง DoCmd.OpenQuery แทน
3 @R16591
ขอบคุณครับ ที่ชี้แนะ ผมจะลองฝึกทำดู
แต่ที่ได้เขียนลงไปนั้น เพราะก็อยากจะลองเขียนดูว่าจะทำได้ไหม และถ้าทำแล้วจะเกิดปัญหาอะไร อย่างตัวอย่างที่เขียนให้ดู ตอนแรกเขียนแล้ว มันขึ้น runtime....
พอแก้ๆ ไป มันมาขึ้น error : Sub or Function not defined ครับ ก็เลยลองโพสมาถามถึงปัญหาที่เกิดขึ้น เพื่อจะได้คำแนะนำ หรือ code ที่จะต้องแก้ไขเพิ่มเติมบ้างละครับ

ขอขอบคุณครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3054s