แสดงกระทู้

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
สวัสดีครับ เจอสาเหตุแล้วครับ พบว่า relation ไม่ได้ติ๊ก Enforce Referential Integrity ทำให้ relation type เป็น Indeterminate และพบว่าที่เป็นเพราะมีการแก้ไข Index เป็น Duplicate OK ทำให้มีข้อมูลที่ไม่ควรซ้ำมาซ้ำกันครับ ตอนนี้แก้ปัญหาได้แล้วครับ

2
ยังแก้ไขไม่ได้ครับ ผมสงสัยก่อนหน้านี้ใช้งานได้ครับ ใส่ข้อมูลอะไรได้หมดเลย อยู่ๆก็ไม่ได้อย่างที่ว่าครับ พอจะมีสาเหตุอื่นไหมครับ??

3
ขอบคุณสำหรับคำแนะนำครับ เดี๋ยวผมลองดูครับ

4
สวัสดีครับ เรื่องคือก่อนหน้านี้สามารถใส่ข้อมูลได้ทุกช่องเลยครับ แต่อยู่ๆก็ขึ้นว่า This Recordset is not updateable และบางช่องใน Subform ก็ขึ้น Field is read-only และกดปุ่ม SAVE ก็ขึ้น Run-time error 3326 พอกด debug ก็ขึ้นตามรูปครับ ส่วน code เพื่อบันทึกค่าครับ ผมแนบไฟล์มาให้ด้วยรบกวนช่วยเหลือหน่อยครับ ขอบคุณครับ




5
สวัสดีครับ ผมทำปุ่มให้ print หน้า Form แต่พริ้นออกมาไม่มีข้อมูลออกมาครับ ต้องแก้ไขอย่างไรครับ??

ผมแนบรูปมาให้ครับ รูปแรกเป็นหน้า Form ครับ รูปที่ 2 คือรูปที่ print to PDF ครับ รบกวนด้วยครับ





6
ขอบคุณมากครับ

7
สวัสดีครับ ผมต้องการความช่วยเหลือครับคือ จะแก้ไขการโชว์เลขงานครับ จากเดิมเลขงานคือ 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

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

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

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



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

10
สวัสดีครับ คือผมอยากจะกำหนดให้ 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วันหลังจากสิ้นเดือน ไม่ทราบว่าทุกท่านมีไอเดียอะไรบ้างไหมครับ???

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

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

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

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




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

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


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

17
ผมสร้าง 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 นั้นๆมีกี่คันก็ตามแต่โชว์ในแถวเดียวกันหมดเลย ได้ไหมครับ???

ขอบคุณครับ

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

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