ถามเรื่องใส่เงื่อนไขเพิ่มจาก Code ครับ
กระทู้เก่าบอร์ด อ.Yeadram

 2,247   16
URL.หัวข้อ / URL
ถามเรื่องใส่เงื่อนไขเพิ่มจาก Code ครับ

เรียนทุกท่านช่วยผมคิดด้วยครับ

Private Sub Form_Current()
Dim strSQL As String
   DoCmd.SetWarnings False
    strSQL = "Update [Qr_TwoPD2] Set [A_ResiveWait] = True"
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True
    Forms![Fm_TwoPD2].Requery
Text2.SetFocus
End Sub

Code นี้ผมใช้สำหลับติ๊กถูกA_ResiveWait เมื่อเปิดFrom ครับ

ผมอยากเช็คก่อนว่า A_File1 เป็นค่าว่างหรือเปล่า
ถ้ามีค่าว่างให้ติ๊กถูกA_ResiveWaitแล้วให้เก็นค่า Now() ที่A_File1
ผมต้องเพิ่มและเช็คอย่างไรครับ
ขอบคุณครับ

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

1 @R16550
ช่วยนิดครับอาจารย์
ขอบคุณครับ
2 @R16551
ผมลองมั่วดูก็ยังไม่ได้ครับ

Private Sub Form_Current()
Dim strSQL As String
Dim strSQL1 As String
Dim strSQL2 As String
If [B_TimeResive]![Qr_TwoPD2] = "" Then        'เงื่อนไขเช็คในตารางQr_TwoPD2ครับที่ติด
   DoCmd.SetWarnings False
    strSQL = "Update [Qr_TwoPD2] Set [A_ResiveWait] = True"
    strSQL1 = "Update [Qr_TwoPD2] Set [A_File1] = Now()"
     strSQL2 = "Update [Qr_TwoPD2] Set [B_UserResive] = [Forms]![LogOn]!Text3.Value"           'และตรงนี้ครับให้ฟิวมันเท่ากับค่าของ Text3 Form LogOn
    DoCmd.RunSQL strSQL
    DoCmd.RunSQL strSQL1
    DoCmd.RunSQL strSQL2
    DoCmd.SetWarnings True
    Forms![Fm_TwoPD2].Requery
Text2.SetFocus
End If
End Sub

ขอบคุณครับ
3 @R16552
ผมอ่านแล้วยังงงตัวเอง ขอขยายหน่อยครับ
เมื่อเปิด Form
1. หาข้อมูลในตาราง Qr_TwoPD2 ว่าที่ฟิวA_File1 มีตัวไหนที่เป็นค่าว่าง
2.ถ้าเจอ ให้ติกถูกที่ A_ResiveWait ,เก็บเวลาที่A_File1,เก็บค่าจาก Form LogOn ที่ Text3 เก็บที่B_UserResive

ประมาณนี้ครับ
ขอบคุณครับ
4 @R16553
ตอนนี้หาวิธีข้อ 2 ได้แล้วครับ เหลือแต่เงื่อนไขข้อ 1 ครับ ที่เช็คก่อนว่า A_File1 ว่าตัวไหนเป็นค่าว่างค่อยดำเนินการตามข้อ 2 ครับ

ถ้าอาจารย์หรือผู็้ทราบแวะเข้ามาช่วยเข้ามาตอบผมด้วยครับ

ขอบคุณครับ
5 @R16554
ผมพยายามเช็คจาก Form แต่ไม่มี Error อะไรเลยครับช่วยดูหน่อยครับ
เหมือนมันหลุด If มาแต่ทั้งๆที่ A_File1 เป็นค่าว่างอยู่ครับ

Private Sub Form_Current()
Dim strSQL As String
Dim strSQL1 As String
Dim strSQL2 As String
Dim UserUse As String
UserUse = DLast("UserName", "LogUser")
If [Forms]![Fm_TwoPD2]![Fm_SubTwoPD2]!A_File1.Value = "" Then          'ตรงนี้ครับ
   DoCmd.SetWarnings False
    strSQL = "Update [Qr_TwoPD2] Set [A_ResiveWait] = True"
    strSQL1 = "Update [Qr_TwoPD2] Set [A_File1] = Now()"
     strSQL2 = "Update [Qr_TwoPD2] Set [B_UserResive] = Text38.Value"
    DoCmd.RunSQL strSQL
    DoCmd.RunSQL strSQL1
    DoCmd.RunSQL strSQL2
    DoCmd.SetWarnings True
    Forms![Fm_TwoPD2].Requery
Text2.SetFocus
End If
End Sub

ขอบคุณครับ
6 @R16555
If [Forms]![Fm_TwoPD2]![Fm_SubTwoPD2]!A_File1.Value = "" Then          'ตรงนี้ครับ


จากที่ติดครับเหมือนมันระบุไม่ได้ว่า ฟิวตรงส่วนไหนเป็นค่าว่าง

คงต้องรบกวนอาจารย์จริงๆครับ



7 @R16573
If nz([Forms]![Fm_TwoPD2]![Fm_SubTwoPD2]!A_File1.Value,"") = "" Then
8 @R16581
ขอบคุณมากครับ ได้แล้วครับ ตามคุณ .(R16573) เลยครับ
9 @R16582
ถามต่ออีกนิดครับ

คือถ้าผมเปลี่ยนเช็คจาก Form เป็นเช็คจากฟิวA_File1 ที่ Query Qr_TwoPD2
ต้องเปลี่ยนอย่างไรครับ
10 @R16584
ครับผมอาจจะงงนิดๆครับ ผมขออธิบายที่ถามเพิ่มนะครับ คือ
จากที่คุณ .ช่วยแก้ไขให้มันใช้งานได้ครับ แต่ติดที่มันได้เฉพาะ แถวแรกครับ
ซึ่งผมอยากให้มันเช็คได้ทุกตัวครับใน Form ย่อยที่เป็น Datasheet ครับ
ซึ่งผมมองแล้วมันต้องเช็คในตารางQr_TwoPD2 เลยหรือเปล่าครับว่ามีฟิวไหนบ้างเป็นค่าว่าง ถ้าเป็นค่าว่างถึงจะดำเนินการต่อครับ
ขอบคุณครับ

Private Sub Form_Current()
Dim strSQL As String
Dim strSQL1 As String
Dim strSQL2 As String
Dim UserUse As String
UserUse = DLast("UserName", "LogUser")
     If nz([Forms]![Fm_TwoPD2]![Fm_SubTwoPD2]!A_File1.Value,"") = "" Then          'ตรงนี้ครับ
   DoCmd.SetWarnings False
    strSQL = "Update [Qr_TwoPD2] Set [A_ResiveWait] = True"
    strSQL1 = "Update [Qr_TwoPD2] Set [A_File1] = Now()"
     strSQL2 = "Update [Qr_TwoPD2] Set [B_UserResive] = Text38.Value"
    DoCmd.RunSQL strSQL
    DoCmd.RunSQL strSQL1
    DoCmd.RunSQL strSQL2
    DoCmd.SetWarnings True
    Forms![Fm_TwoPD2].Requery
Text2.SetFocus
End If
End Sub
11 @R16585
if dcount("A_File1","Qr_TwoPD2","nz(A_File1,'') <> ''") <= 0 then
12 @R16590
เปลี่ยนเป็น if dcount("*","Qr_TwoPD2","nz(A_File1,'') <> ''") <= 0 then
13 @R16592
ขอบคุณครับคุณ .


ผมลองนำ Code เข้าไปวางที่โปรแกรมดู มันเป็นเหมือนเดิมครับ
คือ
      -ถ้ามีข้อมูลที่พิวA_File1ก่อนหน้าแล้วอย่างน้อย 1 Reccord มันจะไม่เป็นแปลงอะไรเลยครับ
      -แต่ถ้าไม่มีข้อมูลคือเป็นค่าที่เพิ่ม คีย์เข้ามาใหม่ยังไม่มีค่าอะไรที่ฟิว A_File1
มันก็จะทำงานได้ครับ



จากรูปครับผมเช็คตรง เวลารับตรวจ(A_File1) ครับว่าถ้าเป็นค่าว่างให้เก็บ Now()
แต่ตอนนี้มันติดตรงถ้ามีค่าคือ 2 Recordแรกจากรูป แล้วมันไม่ยอมเช็คค่าให้ครับ
คือตรงนี้อย่างที่เรียนไปคืออยากให้เปิดมาแล้วเช็คว่าA_File1มีค่าว่างอยู่ให้เก็บค่าNow() ในA_File1
ขอบคุณครับ
14 @R16593
Private Sub Form_Current()
Dim strSQL As String
Dim strSQL1 As String
Dim strSQL2 As String
Dim UserUse As String
UserUse = DLast("UserName", "LogUser")
DoCmd.SetWarnings False
DoCmd.RunSQL "Update [Qr_TwoPD2] Set [A_ResiveWait] = True where nz(A_File1,'') = ''"
DoCmd.RunSQL "Update [Qr_TwoPD2] Set [A_File1] = Now() where nz(A_File1,'') = ''"
DoCmd.RunSQL "Update [Qr_TwoPD2] Set [B_UserResive] = Text38.Value where nz(A_File1,'') = ''"
DoCmd.SetWarnings True
Forms![Fm_TwoPD2].Requery
Text2.SetFocus
End Sub
15 @R16594
Private Sub Form_Current()
Dim strSQL As String
Dim strSQL1 As String
Dim strSQL2 As String
Dim UserUse As String
UserUse = DLast("UserName", "LogUser")
DoCmd.SetWarnings False
DoCmd.RunSQL "Update [Qr_TwoPD2] Set [A_ResiveWait] = True where nz(A_File1,'') = ''"
DoCmd.RunSQL "Update [Qr_TwoPD2] Set [B_UserResive] = Text38.Value where nz(A_File1,'') = ''"
DoCmd.RunSQL "Update [Qr_TwoPD2] Set [A_File1] = Now() where nz(A_File1,'') = ''"
DoCmd.SetWarnings True
Forms![Fm_TwoPD2].Requery
Text2.SetFocus
End Sub
16 @R16607
ได้แล้วครับ
ขอบคุณมากเลยครับ เป็นความกรุณาอย่างยิ่งครับคุณ .
งานผมส่งได้แล้วครับ ขอบคุณจากใจเลยครับ น้ำตาจะไหลเลย อิอิ


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