สมัครสมาชิก

แสดงกระทู้

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 - PNR

หน้า: [1] 2 3 4 ... 10
1
น่าจะได้นะครับ มันจะไปเช็คค่า ContractorID จากคิวรี่ นั้นและ อัพเดท Field TerminatedDate ตาม  ContractorID ครับ
แต่ TerminatedDate และ WorkID ต้องเชื่อมกับตารางไรตารางนึงด้วยนะครับ

โค๊ด: [Select]
Private Sub TerminatedDate_AfterUpdate()
Me.Dirty = False
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE qryWork SET qryWork.TerminatedDate = [forms]![frmEditWork]![TerminatedDate] WHERE (((qryWork.ContractorID)=[forms]![frmEditWork]![ContractorID]));", dbFailOnError
DoCmd.SetWarnings True

End Sub

2
อ้างถึง
ความต้องการของผมคือ หากกรอก TerminatedDate ที่ Record ใด Record หนึ่ง ก็ให้ค่า TerminatedDate ที่กรอกนั้น ถูก Insert ลงไปยัง Record อื่นๆที่มี ContractorID เดียวกันให้หมด ผมควรจะเขียนโค้ดอย่างไรดีครับ

แก้ไขใหม่
น่าจะเป็น

โค๊ด: [Select]
Private Sub TerminatedDate_AfterUpdate()
Me.Dirty = False
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tblWork SET tblWork.TerminatedDate = [forms]![frmEditWork]![TerminatedDate] WHERE (((tblWork.ContractorID)=[forms]![frmEditWork]![ContractorID]));", dbFailOnError
DoCmd.SetWarnings True
End Sub

tblWork คือตารางที่เราจะอัพเดท By ContractorID ครับ
วิธีนี้ ถ้า ContractorID เดียวกัน ก็จะอัพเดทวันที่ให้ทั้งหมดทุกแถวครับ ไม่สนว่าจะมี WorkID กี่ตัวครับ

3
แก้เป็น

โค๊ด: [Select]
A: Replace(Replace([ShipToAddress1],Chr(13) & Chr(10),""),Chr(10),"")
หรือ
ถ้าต้องการช่องว่างระหว่าง ข้อความ
โค๊ด: [Select]
A: Replace(Replace([ShipToAddress1],Chr(13) & Chr(10)," "),Chr(10)," ")


หรือ แบบนี้ก็ได้เหมือนกันครับ
โค๊ด: [Select]
A: Replace([ShipToAddress1],Chr(10)," ")

4
_เจอปัญหาละ แก้ให้แปปครับ

5
ลองทำแบบนั้นก่อน เดี่ยวโค้ดในการนำ ค่าเฉลี่ยมาคำนวน เดี่ยวค่อยมาทำอีกทีครับสู้ๆ ครับ  :grin: :grin:

6
งง ครับ ผมลองทดสอบแล้วมันได้นะ
ส่งตัวอย่างไฟล์มาทาง Inbox ครับผมเช็คให้

7
ผมสมมุติรายการรถ อยู่ที่ ตารางชื่อ tblCartype ชื่อ Cartype
และจัดเก็บข้อมูลการเช่ารถไว้ที่ tblUseCar โดย CarHire คือ Field ชื่อรถ

ตรงส่วนของ รายการแถวของ Combobox ก็จะดึง Field cartype และกำหนด Criteria

โค๊ด: [Select]
Not In (select [carHire] from [tblUseCar])
เท่านี้ ชื่อรถที่ลงทะเบียน  ใน Field Carhire tblUsecar จะไม่นำมาแสดงในรายการของ Combobox แล้วครับ
ตัวอย่างด้านล่าง

8
ลองแบบนี้ในคิวรี่นะครับ

ShipToAdderss: Replace([ShipToAdderss1],Chr(13) & Chr(10),"")


9
ตอนนี้ผมกำลังรวบรวมจากสถิติน้ำหนักที่จดไว้แต่ละค่าเฉลี่ยครับอาจารย์ เพราะสัดส่วนแค่ผืดกัน 0.02 น้ำหนักของแต่ละส่วนก้อเปลี่ยนไปหมดเลยครับ ผมเลยจะคิดแบบเด็กๆอ่ะครับ ถ้าเราทำสูตรแต่ละค่าเลี่ย เช่น 2.0 2.02 2.04 2.06 2.08 2.10 2.12 2.14 ฯลฯ มันจะเยอะมาหไปไหมครับอาจารย์

เยอะขนาดไหนก็ไม่เห็นเปนไรครับ
ผมว่า สร้างตารางเก็บไว้เลยก็ได้ครับ เป็นตารางเก็บ ค่าเฉลี่ย และ ตัวสูตรที่ละ Group
เช่น tblAver
ID = autonumber
Aver as number (Double)
Group01 as number (Double)
Group02 as number (Double)
Group03 as number (Double)
Group04 as number (Double)
Group05 as number (Double)
Group06 as number (Double)
Group07 as number (Double)
Group08 as number (Double)
Group09 as number (Double)

สร้างตารางเก็บค่าคำนวน ทุกตัวไว้ของแต่ละ ค่าเฉลี่ย ไปเลย แล้วตอนจะใช้ได้ใช้ Dlookup เรียกค่ามาก็ได้ครับ
Aver คือช่วง  2.0 2.02 2.04 2.06 2.08 2.10 2.12 2.14
ส่วน Group 01-09 คือช่วงของค่า ที่ต้องนำไปใช้คำนวนกับ textbox ในแต่ละ Group

ตัวอย่างดูตัวเลขของ แต่ละ group ในรูปนะครับ

10
อ้างถึง
น้ำหนักเฉลี่ยจะมีตั้งแต่ 2.00 - 3.00  ครับโดยเบื้องต้น
สามารถสร้างตัวแปรมาเก็บ ค่าคำนวน ของแต่ละน้ำหนักเฉลี่ยครับ แล้วใช้ If เช็คเงือนไข อีกที
ผมพอจะช่วยได้ แต่ต้องเอาช่วงของน้ำหนักเฉลี่ยทั้งหมดมาแสดงนะครับเช่น

ช่วง 2.00 - 2.10
      2.11 - 2.20
      2.21 - 2.55
      2.56 - 3

เป็นต้นครับ เพราะ ถ้ากำหนดช่วงที่แน่นอนได้การทำสูตรคำนวนต่อไปจะไม่ยากแล้วครับ

สิ่งที่ต้องการคือ ช่วงน้ำหนักเฉลี่ยที่แน่นอน และ สูตรคำนวนของแต่ละช่วง

11
ช่วยบริจาค 1 ปี 1042 บาทครับ
วันที่ 12 นี้โอนให้นะ ขอเลข บัญชีไว้เลยครับ

12
ผมแก้ไขให้แล้วครับ
ส่วนที่แก้ คือถ้ามี Customercode ก็ต้องเอาอันนี้แหละมาอ้างอิงแทน ID ครับ
โดยโค้ดกรองฟอร์มก็จะเป็น
DoCmd.OpenForm "FrmMain_Con", , , "[customer_code]='" & Me![txtcustomer_code] & "'"

มีเครื่องหมาย single quote เพราะ ข้อมูลเป็น text ไม่ใช่ตัวเลขครับ

ส่วนโค้ดของ ระบบแจ้งเตือนก็เปลี่ยนเป็นแบบนี้

โค๊ด: [Select]
Private Sub Form_Current()
Dim CheckMaxDate As Date
CheckMaxDate = Nz(DMax("Date_time_co", "[ตาราง call]", "[ResultCode_Remark]=""ติดต่อได้"" AND customer_code ='" & Forms!frmmain_Con!txtcustomer_code & "'"))

If Not IsNull(CheckMaxDate) And CheckMaxDate >= Date Then
MsgBox "วันนี้คุณได้โทรหาลูกค้าแล้ว", vbInformation, "สถานะ!!"
End If
End Sub

13
มันต้องหา Event การทำงานให้มันครับ

ผมไม่แน่ใจว่าในโปรแกรมของคุณจะตรวจสอบตอนไหน ว่ามีการติดต่อแล้ว

จากตัวอย่าง ผมสมมุติพอเราเลือกเคสที่จะเข้าไปดูรายละเอียดแล้ว ถ้ามีการติดต่อแล้วจะแจ้งเตือน
ตัวอย่างง่ายๆ ด้านล่าง

14
ตาราง เชื่อมกับ subform ชื่อ ตาราง call ไหมครับ

โค้ดง่ายๆ โดยเช็คกับวันที่ปัจจุบัน และ เช็คเงื่อนไข การระบุ ติดต่อได้

น่าจะต้อง เช็คเงื่อนไขกับ ID ลูกค้าไว้ด้วยครับ ประมาณนี้
ส่วนที่จะเช็คเงื่อนไขคือ
ID ลูกค้า
Date_time_co เก็บวันที่
ResultCode_Remark เก็บสถานะ

Dim CheckMaxDate As Date
CheckMaxDate = Nz(DMax("Date_time_co", "[ตาราง call]", "[ResultCode_Remark]=""ติดต่อได้"" AND ID =" & Forms!ชื่อฟอร์มหลัก!txtID))

If Not IsNull(CheckMaxDate) And CheckMaxDate = Date Then
MsgBox "วันนี้คุณได้โทรหาลูกค้าแล้ว", vbInformation, "สถานะ!!"
End If


Event เลือกเอานะครับ ว่าจะเช็คจาก Event ไหน
โดยจากตัวอย่างผมให้ เช็ค ID จาก textbox ชื่อ txtID
เช็ควันที่ปัจจุบัน กับ วันที่ๆ ลงในระบบไว้แล้ว และตรวจสอบว่า มีการระบุ ติดต่อได้ ไว้หรือไม่



15
ส่ง line ID ทาง Inbox แล้วครับ
ทักทายมาเดี่ยวแก้ไขให้

16
ผมเช็คก็ตรงปกตินะครับ

คุณกำหนดให้คำนวนโดยอ้างอิง ID ของฟอร์มนี้ คือ 2 ใช่ไหม
ผมดูจากคิวรี่ของฟอร์ม Qry_ListWeight มี IdIn 2 รหัส คือ 2 กับ 3 ครับ

ยอดรวมของ 2 มันก็ได้เท่านี้ถูกแล้วนะครับ

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