แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - naekkhung

หน้า: [1] 2
1
If Date - datacollection > 2 Then
     DoCmd.OpenForm "Form1"
End If
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

2
Me.assdate = Now()
ตอนเพิ่มข้อมูล หรือ ตอนบันทึกข้อมูลเสร็จ เลือกเอาอย่างใดอย่างหนึ่ง  และ รูปแบบการเก็บข้อมูลของ assdate ก็ต้องเป็น General Date
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

3
Format ขอโทษครับตก m ไปตัว
mm/dd/yyyy h:nn:ss
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

4
คือผมจะให้บรรทัดที่เป็น New ด้านล่าง ให้มาอยู่บรรทัดข้างบนสุด ต้องเขียนโค้ดยังไงครับ ขอบคุณมากครับผม

โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

5
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

6
..
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

7
ก็ทำได้ครับ ใช้วิธีการเดียวกันเลย เพียงเปลี่ยนเงื่อนไขใน Dcount ดูครับ

ลองทำเองนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

8
ไฟล์ตัวอย่างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

9
ห้อง MS Access / : Random ข้อมูล
« เมื่อ: 25 พ.ค. 64 , 12:35:35 »
ลองดูนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

10
ห้อง MS Access / : Random ข้อมูล
« เมื่อ: 24 พ.ค. 64 , 14:01:06 »
ปุ่มก็ได้ครับ ขอถามเพิ่มครับแล้วถ้าเกิดผมมีเงื่้อนไขเพิ่ม กรณีผมมีฟิวส์ชื่อ monthly เก็บข้อมูลเดือน Jan-Dec และฟิวส์ sex เก็บเพศ ชาย หญิง ความต้องการคือให้กรองข้อมูลเฉพาะเดือน May เพศเลือก ชาย ให้เอาข้อมูล TCC มา Random เขียนแบบไหนครับ

ไม่ยากครับ สร้าง control ไว้ระบุ Criteria ที่ต้องการ เช่นมี คอมโบบ๊อกเลือกเพศ และ เดือน ไว้ระบุเงื่อนไขที่เราต้องการ
แล้วกำหนด recordset ทีหลัง

สร้างข้อมูลตัวอย่างมาครับ
เดี่ยวผมปรับโค๊ดให้
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

11
ห้อง MS Access / : Random ข้อมูล
« เมื่อ: 24 พ.ค. 64 , 09:54:46 »
ถ้าใช้การสร้างปุ่มแทนได้ไหมครับ
สมมุติมีตารางตารางชื่อ table1 เก็บข้อมูลตามในรูปของคุณ
ที่ปุ่มใส่โค๊ดนี้เข้าไปครับ


Private Sub Command1_Click()
Dim rstRandom As Recordset
Dim rstOut As Recordset
Set rstRandom = CurrentDb.OpenRecordset("SELECT Table1.TCC, Rnd(Val(Right([TCC],3))) AS ID FROM Table1 ORDER BY Rnd(Val(Right([TCC],3)));", dbOpenDynaset)
Set rstOut = CurrentDb.OpenRecordset("table1", dbOpenDynaset)

rstRandom.MoveFirst
rstOut.MoveFirst
Do Until rstRandom.EOF
rstOut.Edit
rstOut!TCCRANDOM = rstRandom!TCC
rstOut.Update
rstRandom.MoveNext
rstOut.MoveNext
Loop
End Sub

วิธีนี้ใช้ ฟังชั้น RND() เพื่อสุ่มข้อมูลที่ต้องการ แล้วนำไปวางสุ่มในฟิลล์ที่ต้องการครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

12
ก่อนอื่นเลยจะบอกว่าพยายามอย่าตั้งชื่อฟิวส์เป็นภาษาไทยครับ ตัวอย่างผมขอใช้ Text20 แทน "วันนัดชำระ" ของท่านนะครับ
โค๊ด: [Select]
Private Sub Text20_AfterUpdate()
Dim DatePK As String
DatePK = Me.Text20 - Date
    If DatePK > 30 Or DatePK < 0 Then
    MsgBox "กรุณาเลือกวันที่ " & Date & " - " & Date + 30, vbCritical, "แจ้งเตือน"
    Me.Text20 = Null
    End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

13
อ่อโค้ดที่ผมส่งไปผมกำหนด Pop Up Form = No
                                 Modal = No ครับ โค้ดถึงจะทำงาน

แต้ถ้า Pop Up = Yes ไม่รู้ทำยังไงเหมือนกัน
 :sweat:

แต่ก็พอมีวิธีอื่นๆที่พอจะทำได้เช่นการ ใช้ Event Click ในฟอร์ม ข้อมูลทั้งหมด
เช่นในส่วนของ
FormHeader_Click()
Detail_Click()
Form_Click()
หรืออื่นๆเพิ่มเติมจากนี้
ทั้งสามอีเว้นนี้ ใส่โค้ดไปทั้งสามจุดว่า
DoCmd.Close acForm, "collection"

เมื่อเราคลิ๊กโดยจุดต่างๆเหล่านี้ ฟอร์ม collection ก็จะปิดทันทีครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

14
มีฟอร์มทั้งหมด 2 ฟอร์มชื่อ "collection","ข้อมูลทั้งหมด" ทั้ง 2 ฟอร์มพนักงานจะเปิดใช้พร้อมกัน
คำถามคือ ปัจจุบันผมใช้งานอยู่หน้าฟอร์ม collection และจะเปลี่ยนไปใช้หน้าฟอร์ม ข้อมูลทั้งหมด อยากให้ ฟอร์ม collection ปิดอัตโนมัติต้องทำยังไงครับ

ที่ฟอร์ม ข้อมูลทั้งหมด ใส่ Event แบบนี้เข้าไปครับ
การทำงานคือเมื่อเราใช้งานอยู่ที่ collectionเมื่อเราไปกดที่  ฟอร์มข้อมูลทั้งหมด
จะทำให้ ฟอร์มข้อมูลทั้งหมด ถูก โฟกัสเราก็สั่งปิดฟอร์ม collection ได้เลย

Private Sub Form_GotFocus()
DoCmd.Close acForm, "collection"
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

15
ห้อง MS Access / : รวมฟิวส์ Text
« เมื่อ: 02 ก.ย. 63 , 12:15:17 »
ขอบคุณมากๆเลยครับ แต่ตอนนี้ถ้าเกิด text1 เราไม่ต้องการกรอกข้อมูล แต่ตอนรวม มันจะมีค่าเว้นวรรคมาด้วย ถ้าเราไม่ต้องการทำยังไงครับ
ใช้ Trim เข้ามาช่วยครับ


Option Compare Database
Public strText1, strText2, strText3 As Variant

Private Sub Text1_Change()
If Len(Me.Text1.Text) > 0 Then
strText1 = Me.Text1.Text
Else
strText1 = Null
End If
OutPutString
End Sub

Private Sub Text2_Change()
If Len(Me.Text2.Text) > 0 Then
strText2 = Me.Text2.Text
Else
strText2 = Null
End If
OutPutString
End Sub

Private Sub Text3_Change()
If Len(Me.Text3.Text) > 0 Then
strText3 = Me.Text3.Text
Else
strText3 = Null
End If
OutPutString
End Sub

Private Sub OutPutString()
Me.total = Trim(strText1 & IIf(IsNull(strText2), Null, " " & strText2) & IIf(IsNull(strText3), Null, " " & strText3))
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

16
ห้อง MS Access / : รวมฟิวส์ Text
« เมื่อ: 31 ส.ค. 63 , 16:03:16 »
เราสามารถที่จะพอทำได้ครับ โดยใช้การกำหนด ประกาศตัวแปรเป็น Public นะครับ
ผมสมมุติ text1 ถึง text3 และ textbox แสดงชื่อ total
เพราะโดยปกติ .Text จะใช้ได้กับ คอนโทรลที่ โฟกัสอยู่เท่านั้น
เราจึงควรสร้างตัวแปรขึ้นมาเก็บค่าไว้ก่อนเพื่อนำไปต่อกับ ตัวแปรต่อๆไป ครับ

ดังตัวอย่างโค้ดนี้

โค๊ด: [Select]
Option Compare Database
Public strText1, strText2, strText3 As Variant

Private Sub Form_Current()
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub

Private Sub Text1_Change()
If Len(Me.Text1.Text) > 0 Then
strText1 = Me.Text1.Text
End If
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub
Private Sub Text2_Change()
If Len(Me.Text2.Text) > 0 Then
strText2 = Me.Text2.Text
End If
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub
Private Sub Text3_Change()
If Len(Me.Text3.Text) > 0 Then
strText3 = Me.Text3.Text
End If
Me.total = strText1 & " " & strText2 & " " & strText3
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

17
ห้อง MS Access / : รวมฟิวส์ Text
« เมื่อ: 31 ส.ค. 63 , 15:24:27 »
เท่าที่ทราบคือไม่ว่าจะใช้เงื่อนไขไหนก็ต้องพิมพ์เสร็จหรือ Enter ก่อนข้อมูลที่อื่นถึงจะอัพเดทครับ / จะให้เป็นแนวว่าระหว่างพิมพ์ช่องหนึ่งอยู่แล้วให้อีกช่องอัพเดทแบบ Realtime ทันทีเลยทั้งที่ยังไม่ตกลงคงจะไม่มีนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

18
Event Exit ของ combobox ครับ
จากตัวอย่าง combobox ชื่อ cbresult ครับของคุณชื่ออะไร ใส่ชื่อให้ตรงกัน
เช่น

Private Sub cbresult _Exit(Cancel As Integer)
Mycheck
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung

หน้า: [1] 2