แสดงกระทู้

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

หน้า: [1] 2 3 4 5
1
สวัสดีครับ ผมต้องการความช่วยเหลือครับคือ จะแก้ไขการโชว์เลขงานครับ จากเดิมเลขงานคือ GSP24050001 คือ GSP คือรหัสงาน/ 24 คือ ปี 2024ฝ 05คือ เดือน 5 และ 0001คือเลขที่งาน ที่จะต้องรันต่อไปเรื่อยๆครับแต่พอเดือนเป็น 06 ก็จะกลับไปนับ 0001 ใหม่ คราวนี้ที่ต้องการเปลี่ยนใหม่เป็น GSP-0001-2405 คือ จะเอาเลขที่งานที่ต้องรันมาอยู่ตรงกลางและเอาปีกับเดือนไว้หลังสุด และพอเป็นเดือน 06 ก็ไม่ต้องนับ 0001 ใหม่แต่ให่รันต่อไปเลยครับ คราวนี้ข้องล่างนี้คือ VB code เดิม

Private Sub LOADINGDATE_AfterUpdate() เมื่อใส่วันที่แล้วให้รันฟังกชั่นนี้


If IsNull(cmbG) Then             cmbG คือชื่อของช่อง GSP
    Me.cmbG.SetFocus
    MsgBox "Please choose Type !!!!"
Else
    If Not IsNull(Me.JobNo) Then
MsgBox "This job has Job Number !!!!!"
Exit Sub
Else
    Me.JobNo = AutotxtID
End If
End If

DoCmd.RunCommand acCmdSaveRecord

End Sub

และตามด้วย AutotxtID ตามด้านล่างเพื่อให้ตรงความต้องและใส่ข้อมูลในช่อง JobNo

Function AutotxtID() As String
Dim X As Variant
Dim bk, cmbG As String
    cmbG = Me.cmbG
    X = DMax("Right(JobNo,4)", "[tblExpBooking]", "Left([JobNo],6) = cmbG & Left([txtDate2], 4)")           tblExpBooking คือ Table ข้อมูล / txtDate2 คือชื่อ TextBox ที่มีสูตรในการตัดปีและเดือน ในที่นี้คือ 2405
    If IsNull(X) Then bk = 1 Else bk = X + 1
    AutotxtID = cmbG & Left([txtDate2], 4) & Format(bk, "0000")        ตรงนี้คือการนำ GSP และ 2405 และ 0001 มารวมกันครับ
End Function

ขอบคุณล่วงหน้าสำหรับความช่วยเหลือครับ

2
ขอบคุณมากครับ :miao: :miao: :miao:

3
ใช้  Datediff ช่วยเช็คได้ไหมครับ



ขอบคุณมากเลยครับ แต่ผมอาจจะอธิบายไปชัดเจน ผมอยากให้ lock record วันที่ 3 ในเดือนถัดไปครับ จะใช้วิธีนี้ได้ไหมครับ?? แล้วมันจะใช้ได้ทุกเดือนไหมครับ??

4
สวัสดีครับ คือผมอยากจะกำหนดให้ Lock Record เมื่อสิ้นสุดเดือนนั้นๆแล้วผมได้คุณ PNR ให้วิธีตามด้านล่างมา



" ทำได้ 2 แบบด้วยกัน
แบบที่ 1
สมมุติตารางชื่อ Mytable
Field ไอดี ชื่อ ID
Field วันที่ ชื่อ Mydate

คิวรี่กำหนดดังนี้
SELECT Mytable.ID, IIf(Month([Mydate])=Month(Date()) And Year(Date())=Year([Mydate]),1,0) AS CheckMonth
FROM Mytable;
กำหนดชื่อคิวรี่ชื่อ QryCheckMonth
คิวรี่ด้านบน ท่านจะได้ข้อมูล ที่ถ้าหากปีเป็นปีปัจจุบัน และเดือนเป็นเดือนปัจจุบัน จะมีค่าเท่ากับ 1 ส่วนเดือนอื่นๆ ปีอื่นๆจะเท่ากับ 0

ต่อไปเขียนโค้ดไว้เรียกใช้เงื่อนไขในการเช็ค
Private Sub CheckAllowEdits()
Dim MonthCheck As String
MonthCheck = DLookup("CheckMonth", "QryCheckMonth", "ID =" & Me.ID & "")
If MonthCheck = 0 Then
Me.AllowEdits = False
Me.Undo
Else
Me.AllowEdits = True
End If
End Sub

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


แบบที่ 2 สามารถใช้กับ Formแบบ  Continuous Form ได้ดี
สมมุติตารางชื่อ Mytable
Field ไอดี ชื่อ ID
Field วันที่ ชื่อ Mydate

คิวรี่ ที่จะเป็น Record Source โค้ดจะเป็น
SELECT IIf(Month([Mydate])=Month(Date()) And Year(Date())=Year([Mydate]),1,0) AS CheckMonth, *
FROM Mytable;

เวลาเรานำ ข้อมูลลงมาบน Control ก็นำ Field CheckMonth ลงมาด้วย ตั้งชื่อ textbox ว่า CheckMonth เลย
โดยเราจะสามารถ กำหนดให้ซ่อนไว้ก็ได้ครับ ไม่ต้องแสดง
ต่อไปเราจะสร้างเงื่อนไขในการ ปิดการแก้ไขข้อมูลโดยใช้การจัดรูปแบบตามเงื่อนไข

กำหนดนิพจน์ตามภาพ

วิธีนี้เวลาแสดงในฟอร์มแบบ Continuous Form
ถ้าrecord ไหน CheckMonth = 0 จะถูก Enabled = false ทันที
คือกดแก้ไขไม่ได้เลย ถ้า CheckMonth = 1 ก็จะแก้ไขได้ปกติ "




แล้วคราวนี้จะรบกวนทุกท่านว่า ถ้าผมอยากให้ Lock Record 3วันหลังจากสิ้นเดือน ไม่ทราบว่าทุกท่านมีไอเดียอะไรบ้างไหมครับ???

5
ขอบคุณมากครับ อยากทราบว่าพอมีตัวอย่าง code VBA ไหมครับ?? เดี๋ยวผมไปแปลงเป็นแบบของผมเองครับ ขอบคุณครับ

6
ผมมีเรื่องสอบถามครับ
1. ผมอยากที่จะ Lock เมื่อพนักงานใส่ข้อมูลเรียบร้อยแล้วและไม่ให้มาแก้ไขอีกเมื่อเวลาผ่านไป 5 วัน สามารถทำได้ไหมครับ??
2. ผมอยากให้เวลาพนักงานกด Save หรือ Submit แล้วให้ auto เปลี่ยนข้อความในช่องสถานะ

ขอบคุณมากครับ รบกวนด้วยครับ

7
อยากจะสอบถามว่า Table ลักษณะอย่างนี้ เรา Export ออกมาได้ไหมครับ?? ทำยังไงครับ?? หรือมีวิธีการอื่นไหมครับที่ทำให้ได้เป็นแบบนี้ครับ??? ขอบคุณครับ




8
ขอบคุณมากครับ กรรมจริงๆผมไม่รู้เลย ไปหาตรง Property อย่างเดียว

9
ผมอยากจะปรับขนาดตัวอักษรใน Subform ที่เป็น DataSheet ยังไงครับ??? ขอบคุณครับ


10
ขอบคุณครับ เดี๋ยวจะลองดูครับ

11
ผมสร้าง Query จาก 2 Table คือ
1. Table Job งาน จะมี Job No., Cost ต่างๆ ฯลฯ
2. Table Truck จะมี Job No, Truck No. ฯ

2 Table นี้เชื่อมด้วย Job No. และทำการ query ได้ออกมาแบบนี้



จะเห็นว่าถ้า 1 Job มีรถมากกว่า 1 คัน มันจะเบิ้ลแถวขึ้น แล้วเวลาดูค่าใช้จ่าย กำไร ขาดทุน มันจะผิด

คำถาม ผมอยากทราบว่ามีวิธีที่ทำให้มันโชว์ ค่าใช้จ่าย กำไร ขาดทุน แค่แถวเดียว แต่จำนวนรถโชว์ตามปกติไหมครับ??

หรือ สามารถทำให้รถใน Job นั้นๆมีกี่คันก็ตามแต่โชว์ในแถวเดียวกันหมดเลย ได้ไหมครับ???

ขอบคุณครับ

12
ขอบคุณสำหรับแนวทางครับ ผมจะลองทำตามดูนะครับ

13
สวัสดีครับ ผมต้องการนำค่าผล Sum ข้างล่าง ไปใส่ใน ช่องหน้า form หลักต้องทำยังไงครับ??



จากภาพบนวงกลมแรกคือช่องผมรวมของ Cost Sup ผมอยากให้ค่านี้ไปใส่ในช่องวงกลมข้างล่างที่ช่อง CostTruckingSupplier แต่ช่อง CostTruckingSupplier จะเก็บค่าของที Table นึง ถ้าไม่ใช้การพิมพ์ลงไปเอง จะมีวิธีนำค่า Sum CostSup มาใส่ที่ช่อง CostTruckingSupplier ไหมครับ

ขอบคุณครับ

15
ผมอยากให้ช่องเลือกวัน ไม่สามารถเลือกวันย้อนหลังได้ อยากให้พนักงานเลือกวันได้ตั้งแต่วันนี้เป็นต้นไป เลือกเมื่อวานหรือวันก่อนหน้านั้นไม่ได้ อยากทราบว่าต้องทำยังไงครับ???

ขอบคุณครับ

16
JobNo ที่ต้องการครับผม เช่น ผมทำ query ให้ใส่ JobNo นั้น ให้โชว์ยอดรวมด้วยครับ

17
ขออนุญาตสอบถามเพิ่มเติมครับ ผมอยากได้ผลรวมค่า CostSup ในแต่ละ JobNo และไปใส่ใน column ของอีก table นึงทำได้ไหมครับ?? ถ้าได้ทำอย่างไรครับ?? ขอบคุณครับ





 

18
ขอบคุณมากครับ เดี๋ยวผมไปศึกษาเพิ่มครับ

หน้า: [1] 2 3 4 5