แสดงกระทู้

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 ... 32
1
ถ้าอยากลองทำดู ลองดูขั้นตอนตามรูปนะครับ

ขั้นตอนที่ 1 สร้างตารางมา ชื่อ table1
ID ชนิดข้อมูลเป็น Autonumble
DateOfStartWork ชนิดข้อมูลเป็น  Date/Time


ขั้นตอนที่ 2 สร้าง Module ขึ้นมาเอาโค้ดไปใส่

โค๊ด: [Select]
Option Compare Database
Function Age(varDate As Variant) As Integer
   Dim varAge As Variant
   If IsNull(varDate) Then
   Age = 0
   Exit Function
  End If
   varAge = DateDiff("yyyy", varDate, Now)
   If Date < DateSerial(Year(Now), Month(varDate), Day(varDate)) Then
      varAge = varAge - 1
   End If
   Age = CInt(varAge)
End Function
Function AgeMonth(varDate As Variant) As Integer
   Dim varAge As Variant
   If IsNull(varDate) Then
  AgeMonth = 0
   Exit Function
  End If
   varAge = DateDiff("m", varDate, Now)
   AgeMonth = CInt(varAge Mod 12)
End Function

ขั้นตอนที่ 3 สร้างคิวรี่ เปลี่ยนมุมมองเป็น SQL เอาโค้ดนี้ไปใส่
โค๊ด: [Select]
SELECT Table1.DateOfStartWork, IIf(Age([DateOfStartWork])<>0,Age([DateOfStartWork]) & " ปี " & AgeMonth([DateOfStartWork]) & " เดือน",AgeMonth([DateOfStartWork]) & " เดือน") AS อายุงาน
FROM Table1;


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

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

ส่งตัวอย่างที่แก้ไขแล้วมาดูครับเดี่ยวเพิ่มเติมให้

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




4
ส่งไฟล์มาทาง inbox หน่อยครับ เดี่ยวผมเช็คให้

5
ได้ไปตั้งเค้าโครงหรือเปล่าครับ ถ้าตั้งไว้ให้กำหนดให้สวยงามแล้วเอาเค้าโครงออกไปก็น่าจะหาย
ปัญหาน่าจะเกิดจาก ไปกำหนดเค้าโครง แล้วมีอันที่มันว่างอยู่เลยแจ้งเตือนแบบนั้น

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

ถ้าติดตรงส่วนไหนก็สอบถามในบอร์ดได้ตลอดคับ

7
เครื่องที่ทำงานเป็นเครื่องของคุณใช้งานไหม
การตั้งค่าตรงนี้ไม่ได้ใช้ internet ตั้งค่าที่เครื่องเอาได้เลย
ติดตรงไหนถ่ายรูปมาดูได้

8
ต้องตั้งค่าภาษาของเครื่องครับ ต้องให้ซัพพอร์ต ภาษาไทย ด้วยครับ
ไปตั้งค่า ตรง 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 เครื่องใหม่ดูครับ




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

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 ที่แก้ไขแล้วจะหายไป

10
1.ลอง Copy ฟอร์มย่อยนั้นมา backup ไว้ก่อน แล้ว ลบ Form ย่อยอันเก่าทิ้ง
2.ให้เปลี่ยนชื่อ ฟอร์มย่อย ที่เพิ่ง Copy มาเป็นชื่อฟอร์มย่อยเดิมที่ลบไปแล้วลองกดเปิดใหม่ว่าปัญหานั้นหายไปหรือไม่

11
ห้อง MS Access / : สอบถามคิวรี่ครับผม
« เมื่อ: 25 มิ.ย. 62 , 11:52:51 »
ใช้ SubQuery นะครับ

12
เดี่ยวลองทำให้ดูครับ แต่เปนวิธีง่ายๆ นะคับ

13
โปรแกรมออกแบบมาแบบไหนครับ ฐานข้อมูลเป็น 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 ข้อมูลล่าสุดมาแสดง
ส่วนการเรียกข้อมูลมาแสดงสามารถทำได้หลายวิธีครับ

รออาจารย์ท่านอื่นมาเสริมนะครับ

14
ห้อง MS Access / : ไม่ให้ลบข้อมูลใน Subform
« เมื่อ: 24 มิ.ย. 62 , 14:57:07 »
ส่งตัวอย่างชิ้นงานนั้น แนบไฟล์ มาในกล่องข้อความครับเดี่ยวผมตรวจเช็คให้

ต้องดูการกำหนด การเชื่อมโยงข้อมูลของฟอร์มหลักและฟอร์มย่อยด้วยครับ

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

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

Me.[ชื่อของซัฟฟอร์ม].Form.Requery

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

โค๊ด: [Select]
DoCmd.OpenForm "frmFollowDetail", WhereCondition:="[Doccode]= '" & txt_DocCode1 & "'"

17
รบกวนถ้าจะอ้างอิง Code ยาวๆ จากโพสก่อน ผมว่าไม่ต้องก็ได้ครับให้กดโพสข้อความไปเลยไม่ต้องอ้างอิงมาเพราะมันจะดูรก และอ่านยากครับ

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


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