1
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.
หน้า: [1] 2
2
ห้อง MS Access / : ต้องการให้วินาทีไม่เท่ากัน
« เมื่อ: 10 ก.ย. 66 , 15:33:45 »
Me.assdate = Now()
ตอนเพิ่มข้อมูล หรือ ตอนบันทึกข้อมูลเสร็จ เลือกเอาอย่างใดอย่างหนึ่ง และ รูปแบบการเก็บข้อมูลของ assdate ก็ต้องเป็น General Date
ตอนเพิ่มข้อมูล หรือ ตอนบันทึกข้อมูลเสร็จ เลือกเอาอย่างใดอย่างหนึ่ง และ รูปแบบการเก็บข้อมูลของ assdate ก็ต้องเป็น General Date
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
3
ห้อง MS Access / : ต้องการให้วินาทีไม่เท่ากัน
« เมื่อ: 09 ก.ย. 66 , 15:13:21 »
Format ขอโทษครับตก m ไปตัว
mm/dd/yyyy h:nn:ss
mm/dd/yyyy h:nn:ss
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
4
ห้อง MS Access / ต้องการให้ New Record อยู่บรรทัดบนสุด
« เมื่อ: 29 พ.ค. 66 , 13:54:38 »
คือผมจะให้บรรทัดที่เป็น New ด้านล่าง ให้มาอยู่บรรทัดข้างบนสุด ต้องเขียนโค้ดยังไงครับ ขอบคุณมากครับผม
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
5
ห้อง MS Access / : เมื่อครบ 3 ครั้งต่อวันให้แจ้งเตือน
« เมื่อ: 28 พ.ย. 65 , 19:03:41 »โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
6
ห้อง MS Access / : แจ้งเตือนเมื่อถึงจำนวนครั้งที่กำหนด
« เมื่อ: 29 ต.ค. 64 , 20:44:14 »
..
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
7
ห้อง MS Access / : แจ้งเตือนเมื่อถึงจำนวนครั้งที่กำหนด
« เมื่อ: 29 ต.ค. 64 , 11:56:43 »
ก็ทำได้ครับ ใช้วิธีการเดียวกันเลย เพียงเปลี่ยนเงื่อนไขใน Dcount ดูครับ
ลองทำเองนะครับ
ลองทำเองนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
8
ห้อง MS Access / : แจ้งเตือนเมื่อถึงจำนวนครั้งที่กำหนด
« เมื่อ: 28 ต.ค. 64 , 21:14:07 »
ไฟล์ตัวอย่างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: 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() เพื่อสุ่มข้อมูลที่ต้องการ แล้วนำไปวางสุ่มในฟิลล์ที่ต้องการครับ
สมมุติมีตารางตารางชื่อ 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
ห้อง MS Access / : ห้ามใส่วันที่ล่วงหน้าเกิน 30 วัน
« เมื่อ: 19 มี.ค. 64 , 22:08:24 »
ก่อนอื่นเลยจะบอกว่าพยายามอย่าตั้งชื่อฟิวส์เป็นภาษาไทยครับ ตัวอย่างผมขอใช้ 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
ห้อง MS Access / : สั่งปิดฟอร์มอัตโนมัติ
« เมื่อ: 22 ต.ค. 63 , 18:04:31 »
อ่อโค้ดที่ผมส่งไปผมกำหนด Pop Up Form = No
Modal = No ครับ โค้ดถึงจะทำงาน
แต้ถ้า Pop Up = Yes ไม่รู้ทำยังไงเหมือนกัน
แต่ก็พอมีวิธีอื่นๆที่พอจะทำได้เช่นการ ใช้ Event Click ในฟอร์ม ข้อมูลทั้งหมด
เช่นในส่วนของ
FormHeader_Click()
Detail_Click()
Form_Click()
หรืออื่นๆเพิ่มเติมจากนี้
ทั้งสามอีเว้นนี้ ใส่โค้ดไปทั้งสามจุดว่า
DoCmd.Close acForm, "collection"
เมื่อเราคลิ๊กโดยจุดต่างๆเหล่านี้ ฟอร์ม collection ก็จะปิดทันทีครับ
Modal = No ครับ โค้ดถึงจะทำงาน
แต้ถ้า Pop Up = Yes ไม่รู้ทำยังไงเหมือนกัน
แต่ก็พอมีวิธีอื่นๆที่พอจะทำได้เช่นการ ใช้ Event Click ในฟอร์ม ข้อมูลทั้งหมด
เช่นในส่วนของ
FormHeader_Click()
Detail_Click()
Form_Click()
หรืออื่นๆเพิ่มเติมจากนี้
ทั้งสามอีเว้นนี้ ใส่โค้ดไปทั้งสามจุดว่า
DoCmd.Close acForm, "collection"
เมื่อเราคลิ๊กโดยจุดต่างๆเหล่านี้ ฟอร์ม collection ก็จะปิดทันทีครับ
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
14
ห้อง MS Access / : สั่งปิดฟอร์มอัตโนมัติ
« เมื่อ: 22 ต.ค. 63 , 15:57:25 »มีฟอร์มทั้งหมด 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 จะใช้ได้กับ คอนโทรลที่ โฟกัสอยู่เท่านั้น
เราจึงควรสร้างตัวแปรขึ้นมาเก็บค่าไว้ก่อนเพื่อนำไปต่อกับ ตัวแปรต่อๆไป ครับ
ดังตัวอย่างโค้ดนี้
ผมสมมุติ 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
ห้อง MS Access / : ภายในวันไม่ให้กรอกข้อมูลซ้ำ
« เมื่อ: 10 ส.ค. 63 , 09:59:28 »
Event Exit ของ combobox ครับ
จากตัวอย่าง combobox ชื่อ cbresult ครับของคุณชื่ออะไร ใส่ชื่อให้ตรงกัน
เช่น
Private Sub cbresult _Exit(Cancel As Integer)
Mycheck
End Sub
จากตัวอย่าง combobox ชื่อ cbresult ครับของคุณชื่ออะไร ใส่ชื่อให้ตรงกัน
เช่น
Private Sub cbresult _Exit(Cancel As Integer)
Mycheck
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: naekkhung
หน้า: [1] 2