แสดงกระทู้

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 - ปิ่นณรงค์

หน้า: [1] 2 3 4 ... 21
1
มันสามารถกำหนดได้ครับ เช่น 
1.ถ้าเช็คแล้วไม่เจอแสดงว่าช่างนั้นยังไม่มีเข้าไปแก้ไข ก็จะเก็บรายละเอียดช่างคนนี้ เป็น Record ใหม่
2.ถ้าช่างเข้าไปแก้ไขเคส 001 ไว้ แล้วช่างคนนี้ล๊อกอินเข้าไปที่เคสนี้อีก  ก็ให้ดึงรายละเอียดล๊อกอินตอนแรกมา ใช้ Function Dlookup โดย สร้างเงื่อนไขในการดึงข้อมูลเก่ามาแสดงโดยกำหนดให้เช็ค รหัสเคส และ เช็ครหัส tech ที่เก็บไว้ตอนล๊อกอินในตารางเพื่อดึง Field ต่างๆ มาแสดง
3.เมื่อระบุเวลาจบงานเสร็จก็ใช้ UpdateQuery อัพเดทไปยัง Record นั้นก็เสร็จละครับ

ส่วนการกำหนดให้ Board แสดงสถานะว่า กำลังตรวจเช็คก็สามารถทำได้ง่ายๆโดยกำหนดให้เช็คจากฟิลล์ Time out ถ้าว่างอยู่ก็ให้แสดงว่า กำลังเช็ค แต่ถ้ามีการระบุแล้วก็จะแสดงว่า เรียบร้อย เป็นต้น

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

2
คำสั่งในการกำหนดให้ ปุ่มนั้นแสดงหรือซ่อน จะใช้โค้ดว่า
ถ้าต้องการซ่อน
Me.ชื่อปุ่ม.Visible = false
หรือ
ถ้าต้องการแสดง
Me.ชื่อปุ่ม.Visible = true



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

3
ส่งไฟล์มาทาง inbox หน่อยครับ เดี่ยวผมเช็คให้
โพสต์นี้ได้รับคำขอบคุณจาก: Phaphimon

4
อ้างถึง
แต่ตอนนี้ เค้าขอเพิ่มหลายส่วนเลยค่ะ TOT
:shout: เป็นเรื่องธรรมดาของคนพัฒนาโปรแกรมจัดเก็บข้อมูลเลยครับ เท่าที่ทำมามันจะมีเรื่่องมาให้ทำต่อยอดไปเรื่อยๆ ละครับ
ค่อยๆ พัฒนาไปเรื่อยๆ ครับ ตัวเราเองต้องกำหนดระบบงานที่ต้องการให้ชัดเจ็นจะได้ไม่มีปัญหาภายหลัง อย่างงานที่ผมทำถ้าจะเพิ่มเติมแก้ไขส่วนไหน ก็จะสร้าง Flow การทำงานของงานจริงแล้วนำมาสร้างโปรแกรม และก่อนเริ่มสร้างจะประชุมจนได้ข้อสรุปว่าต้องการแบบนี้จริงๆ ผมถึงจะทำให้ เพราะมีบ่อยมากทำให้แล้วเปลี่ยนใจอยากให้แก้ไขอีกซึ่งจะเป็นงานเหนื่อยของพวกเราคับ  :sweat: :sweat: :spook:

ถ้าติดตรงส่วนไหนก็สอบถามในบอร์ดได้ตลอดคับ
โพสต์นี้ได้รับคำขอบคุณจาก: apirak, Phaphimon

5
เครื่องที่ทำงานเป็นเครื่องของคุณใช้งานไหม
การตั้งค่าตรงนี้ไม่ได้ใช้ internet ตั้งค่าที่เครื่องเอาได้เลย
ติดตรงไหนถ่ายรูปมาดูได้
โพสต์นี้ได้รับคำขอบคุณจาก: Phaphimon

6
ต้องตั้งค่าภาษาของเครื่องครับ ต้องให้ซัพพอร์ต ภาษาไทย ด้วยครับ
ไปตั้งค่า ตรง regional and language options ดูคับ

กด Start > RUN > ใส่ intl.cpl > regional and language options > advance > language for non-Unicode programs เลือก thai และ  เปลี่ยน system locale เป็น Thai  > standard and format เป็น thai แล้ว reboot เครื่องใหม่ดูครับ



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

7
ลองดูไม่แน่ใจว่าใช้แบบนี้ไหมนะครับ

1.Frm_Show_Downtime ให้เปิดทิ้งไว้ ฟอร์มนี้จะอัพเดท ข้อมูลซึ่งเราจะนำไปไว้ที่ เครื่องของ Admin หรือ เครื่องของ Tech ครับ
ข้อมูลแถวที่แสดงคือข้อมูลจากการคีย์ DownTime เข้ามาและยังไม่ได้รับการแก้ไข

2.เมื่อ User จะคีย์ Frm_Downtime ก็ให้ Login Frm_Downtime_Login แล้วทำการระบุข้อมูล
เมื่อกดบันทึก ระบบจะทำการสอบถามว่าต้องการบันทึกหรือไม่ ถ้าบันทึก รอซักแปปนึง ข้อมูลจะมาแสดงที่ฟอร์ม Frm_Show_Downtime

3.Tech ผู้ให้การแก้ไข สามารถกดปุ่ม Show Issuse เพื่อดูสาเหตุอาการของปัญหา และ สามารถกด Tech FIX เผื่อเข้าไปแก้ไข
และเมื่อจบงาน (OUT TIME) แล้ว ข้อมูลที่ Frm_Show_Downtime ที่แก้ไขแล้วจะหายไป
โพสต์นี้ได้รับคำขอบคุณจาก: apirak, Phaphimon

8
1.ลอง Copy ฟอร์มย่อยนั้นมา backup ไว้ก่อน แล้ว ลบ Form ย่อยอันเก่าทิ้ง
2.ให้เปลี่ยนชื่อ ฟอร์มย่อย ที่เพิ่ง Copy มาเป็นชื่อฟอร์มย่อยเดิมที่ลบไปแล้วลองกดเปิดใหม่ว่าปัญหานั้นหายไปหรือไม่
โพสต์นี้ได้รับคำขอบคุณจาก: preav

9
ห้อง MS Access / : สอบถามคิวรี่ครับผม
« เมื่อ: 25 มิ.ย. 62 , 11:52:51 »
ใช้ SubQuery นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang, พีพี แฟมิลี่แมน

10
เดี่ยวลองทำให้ดูครับ แต่เปนวิธีง่ายๆ นะคับ
โพสต์นี้ได้รับคำขอบคุณจาก: Phaphimon

11
โปรแกรมออกแบบมาแบบไหนครับ ฐานข้อมูลเป็น Ms access หรือ SQL server ส่วนที่สอบถามมาผมจะตอบเท่าที่ทราบนะครับ

อ้างถึง
เราจะสามารถนำโปรแกรมไปใช้งานได้อย่างไรคะ
โดยจะมีผู้ใช้(user) จำนวน 8 เครื่อง แต่จะให้มีจอรายงานผลหลัก 1 เครื่อง
สร้าง Back-End ไว้ที่เซิฟเวอร์และสร้าง Front-End ไว้ให้ User ทั้ง 8 เครื่องใช้งาน บันทึกข้อมูลหรือแก้ไขข้อมูล
หรือ สร้าง Back-End ไว้ที่เครื่อง Admin แล้วใช้การ Mapdrive ให้เครื่อง User LinkTable มายัง Back-End
โดยให้เครื่อง Admin ดึงข้อมูลจาก Back-End มาแสดงครับ ลองศึกษาการสร้าง Back-End ดู
การเชื่อมโยงอาจจะใช้การ LinkTable

อ้างถึง
มีการแจ้งเตือนเมื่อ user ล็อกอินมาเราควรสร้างจากอะไรคะ ฟร์อม หรือรีพอร์ต
ที่เครื่อง Admin ควรจะสร้าง หน้าจอ DashBoard โดยสร้างจาก Form นิแหละครับมาแสดงรายละเอียดข้อมูลที่ต้องการ โดยใช้การแสดงผล
โดยใช้การตั้ง TimeInterval ในการ refresh ข้อมูลล่าสุดมาแสดง
ส่วนการเรียกข้อมูลมาแสดงสามารถทำได้หลายวิธีครับ

รออาจารย์ท่านอื่นมาเสริมนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: apirak, Phaphimon

12
ห้อง MS Access / : ไม่ให้ลบข้อมูลใน Subform
« เมื่อ: 24 มิ.ย. 62 , 14:22:22 »
มีรูปภาพหรือเปล่าครับ

หรืออาจใช้ การ Requery เพื่อแสดงข้อมูลล่าสุดก็ได้คับ
เช่นที่ปุ่มบันทึกของฟอร์มหลัก ก็ใส่

Me.[ชื่อของซัฟฟอร์ม].Form.Requery
โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi

13
ต้องดู ประเภทของข้อมูลด้วยครับ เช่น เป็น text / Date/Time / หรือ ตัวเลข การกำหนดจะไม่เหมืิอนกัน
ที่มันแสดงป๊อบอัพขึ้นมาเพราะเงื่อนไขนั้น Doccode ต้องเป็นตัวเลข แต่ในงานของคุณเป็น text ครับ
แก้เป็นแบบนี้ครับ

โค๊ด: [Select]
DoCmd.OpenForm "frmFollowDetail", WhereCondition:="[Doccode]= '" & txt_DocCode1 & "'"
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

14
รบกวนถ้าจะอ้างอิง Code ยาวๆ จากโพสก่อน ผมว่าไม่ต้องก็ได้ครับให้กดโพสข้อความไปเลยไม่ต้องอ้างอิงมาเพราะมันจะดูรก และอ่านยากครับ
โพสต์นี้ได้รับคำขอบคุณจาก: thaiaccboard, Eik Q Sang

15
ไม่รู้แบบนี้ไหมนะครับ ที่ฟอร์มสอง ถ้าไม่กดบันทึก เวลาจะปิดจะมีการสอบถามเรื่องการบันทึกข้อมูลถ้าตอบ No ข้อมูลจะไม่บันทึกใน ตาราง tblFollowDetail
เพิ่มระบบค้นหา No มาแสดง ลองดูครับ

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

16
ใช้การสร้างตัวแปล มาเช็คสถานะของการบันทึกก็ได้ครับ โดยใช้ Events Form_BeforeUpdate ในการตรวจสอบ โค้ดผมยุบเหลือแค่นี้นะครับ
โค๊ด: [Select]
Private Sub cmb_Save_Click()
Dim IsSave As Boolean
If IsNull(txt_CIF) Then
MsgBox "กรุณาระบุ CIF !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_TONo) Then
MsgBox "กรุณาระบุ TO No. !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocCode) Then
MsgBox "กรุณาระบุรหัสเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocTypeCode) Then
MsgBox "กรุณาระบุรหัสประเภทเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocName) Then
MsgBox "กรุณาระบุชื่อเอกสาร !!", vbOKOnly, "Warning !!"
ElseIf IsNull(txt_DocDate) Then
MsgBox "กรุณาระบุวันที่เอกสาร !!", vbOKOnly, "Warning !!"
else
DoCmd.RunCommand (acCmdSaveRecord)
IsSave = True
End If
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)  'ก่อนข้อมูลจะถูกบันทึกในตารางต้องผ่านเงื่อนไขนี้ก่อน ครับถ้าตอบ No หรือกดปิดฟอร์มโดยไม่ได้กดบันทึก ข้อมูลจะไม่ถูกบันทึก
Dim msg As Integer
If IsSave = False Then
    msg = MsgBox("คุณต้องการบันทึกข้อมูลนี้หรือไม่?", vbYesNo, "สอบถาม")
    If msg = vbNo Then
       Me.Undo
    End If
End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

17
ผมสร้างฟอร์ม ชื่อ frmMain1 มี text box ชื่อ txt_No1 ในฟอร์มนี้มีปุ่มเปิดฟอร์ม ชื่อ frmMain2 ในฟอร์มนี้มี textbox ชื่อ txt_No2
คำถาม ผมต้องการให้ frmMain1 เมื่อกดปุ่มเปิดฟอร์ม frmMain2 ให้ txt_No1= txt_No2 ต้องเขียนโค้ดใน vb ว่าอย่างไรบ้างครับ ขอบคุณมากครับ

ถ้าเป็นแบบ อ้างอิงแบบไม่ได้ Filter ที่ปุ่มก็ใส่แบบนี้ครับ
โค๊ด: [Select]
Private Sub OpenFrmMain2_Click()
DoCmd.OpenForm "frmmain2"
Forms!frmmain2.Form!txt_No2 = Me.txt_No1
End Sub

แต่ถ้าเป็นรูปแบบการ Filter เช่น txt_No2 Bound Field ชื่อ No และอยากให้ ระบุ No ที่ frmmain1 เมื่อเปิดฟอร์ม frmmain2 ก็ให้ Filter No มาแสดงก็ใส่แบบนี้
ถ้า Field No เป็น Number
โค๊ด: [Select]
Private Sub OpenFrmMain2_Click()
DoCmd.OpenForm "frmmain2", WhereCondition:="[No]=" & Me.txt_No1
End Sub

ถ้า Field No เป็น text
โค๊ด: [Select]
DoCmd.OpenForm "frmmain2", WhereCondition:="[No]= '" & Me.txt_No1 & "'"
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

18
ผมสมมุติ Field เก็บวันที่เริ่มทำงานของพนักงานชื่อ DateOfStartWork ตารางชื่อ Table1
ลองดูตัวอย่างนี้คับ
โพสต์นี้ได้รับคำขอบคุณจาก: superdog

หน้า: [1] 2 3 4 ... 21