แสดงกระทู้

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 ... 23 24 25 [26] 27 28 29 ... 32
451
ห้อง MS Access / : การรันเลขสัญญา
« เมื่อ: 05 ม.ค. 63 , 15:03:07 »
เพิ่มเติมนิดหน่อยจากอันเดิมครับ คือเราจะสร้าง Field YearStamp ไว้ในตารางด้วย โดยเราจะกำหนด Year(Now()) เพื่อเก็บปีไว้ทุกครั้ง ถ้าโปรแกรมตรวจเจอว่า ข้อมูล Field YearStamp นั้น เป็นปีใหม่และยังไม่มีเลขที่รันลำดับมาก่อน (มาจาก QryMaxInt) ก็จะเริ่มนับใหม่ทันที

โดยผมจะเพิ่ม textbox ชื่อ txtYears ไว้เก็บปีปัจจุบันไว้อ้างอิงกับข้อมูลเดิมที่มีอยู่ใน Query MaxInt
โค้ดประมาณนี้

โค๊ด: [Select]
Private Sub cmdRun_Click()
Dim intMax As Integer

    If Not IsNull(Me.RunC) Then
    Me.txtYears = Year(Now())
    Me.Dirty = False
    intMax = Nz(DLookup("MaxInt", "QryMaxInt", "RunC = " & Me.RunC & " And  Yearstamp = '" & Me.txtYears & "'"))
    intMax = intMax + 1
    Me.runrun = "C-" & Year(Date) & "-" & RunC & Right("0000" & intMax, 4)
    End If   
End Sub

ส่วนในคิวรี่ชื่อ QryMax กับ QryMaxInt ก็นำฟิลล์ YearStamp ใส่ลงไปด้วยเพื่อใช้ในการแยกข้อมูลระหว่างปีเก่าและปีใหม่ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tawat, pattan0013

452
ห้อง MS Access / : Queries
« เมื่อ: 03 ม.ค. 63 , 14:22:32 »
ข้อมูล ของคุณนั้นจะต้อง นำ Place มาเชื่อมความสัมพันธ์ด้วย นะครับ
โดย Lot - Boxes (In) เพิ่มฟิลล์ Place ด้วย คือทุกคิวรี่ที่จะเชื่อมกันต้องมี Place ด้วย ข้อมูลจะได้เป็นกลุ่มที่ถูกต้อง

ตัวอย่างผมนำ  Lot - Boxes (In) กับ Lot - Boxes (Out) มาเชื่อมกัน


ลองไปปรับตรงส่วนนี้ดูครับ


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

453
อ้างถึง
มาวันนี้ผมแก้ไข Table ใหม่ โดยแยกข้อมูล company ออกจาก User

Table ใหม่ ID_CompanyUser น่าจะต้องมี Primary Key เพราะมันน่าจะไม่ซ้ำกัน

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

454
ผมเคยโพสในกระทู้นี้ครับ
https://www.thai-access.com/index.php?topic=425.msg1866#msg1866
โพสต์นี้ได้รับคำขอบคุณจาก: Psong UN

455
ห้อง MS Access / : การรันเลขสัญญา
« เมื่อ: 23 ธ.ค. 62 , 10:48:28 »
ลองดูไม่รู้ต้องการแบบนี้ไหม

ขั้นตอนที่ 1 สร้างคิวรี่ ตั้งชื่อว่า QryMax
โค้ด
โค๊ด: [Select]
SELECT Table1.RunC, Nz(Max(Right([runrun],4)),0) AS [Max]
FROM Table1
GROUP BY Table1.RunC;

ขั้นตอนที่ 2 สร้างคิวรี่ ตั้งชื่อว่า QryMaxInt
โค้ด
โค๊ด: [Select]
SELECT qryMax.RunC, Val([Max]) AS MaxInt
FROM qryMax;

ที่ฟอร์ม ปุ่ม Run ใส่โค้ด
โค๊ด: [Select]
Private Sub cmdRun_Click()
Dim intMax As Integer
    If Not IsNull(Me.RunC) Then
    Me.Dirty = False
    intMax = Nz(DLookup("MaxInt", "QryMaxInt", "RunC = " & Me.RunC & ""))
    intMax = intMax + 1
    Me.runrun = "C-" & Year(Date) & "-" & RunC & Right("0000" & intMax, 4)
    End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Tawat, thanapol.w, pattan0013

456
gotocontrol ต้องระบุชื่อฟิลล์ ที่เชื่อมอยู่นะครับ Error นั้นแจ้งว่าคุณไประบุชื่อ คอนโทรล ไม่ใช่ชื่อฟิลล์ที่เชื่อมไว้ หรือลองตั้งชื่อ ฟิลล์และ ชื่คอนโทรลเหมือนกันดูครับ

ส่วน โค้ดจะใช้  Me.Txtsearch6.Setfocus ได้เลย

 ถ้าจะเขียนเป็นโค้ดทั้งหมด ก็น่าจะเป็น

Private Sub PrintBotton_Click()
DoCmd.OpenReport "P_ScanOrder", acViewNormal, , "RuningID Like '*" & [forms]![Frm_PS_SCANERORDER]!TxtSearch & "*'"
Docmd.GoToRecord,,acNext
Me.txtSearch6.Setfocus
End Sub
ลองดูครับว่าได้หรือไม่ถ้าติด ERROR ช่วยส่งรูป Error นั้นมาดูนะครับ


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

457
Private Sub Command2_Click()
  Dim rst As ADODB.Recordset
  Set rst = New ADODB.Recordset
    rst.Open "Table1", CurrentProject.Connection, adOpenStatic, adLockOptimistic
         rst.Supports (adUpdate)
         rst.field(0) = txt1.value
         rst.field(1) = txt2.value
         rst.Update     
         rst.close
         rst = nothing

End Sub

ลองดูครับ ว่าได้ไหม
โพสต์นี้ได้รับคำขอบคุณจาก: akekorn

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

459
ข้อมูล แถวของคอมโบบ๊อกของคุณ มี 2 คอลัมน์ใช่ไหม
ไปกำหนด ตรงนี้ จาก 2 เป็น 1 ได้เลยครับ


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

460
ผมมีตัวอย่างให้ดูคือ
1.การกำหนด Head Group ของรหัสใบสั่งซื้อ กำหนดส่วนหัวของกลุ่ม ไว้ตรงส่วนนี้ ส่วนรายละเอียดต่างๆ ไว้ส่วน detail



2.Head Group ของรหัสใบสั่งซื้อ กำหนดส่วนหัวของกลุ่ม ต้องกำหนด
โพสต์นี้ได้รับคำขอบคุณจาก: jee007, isuccess

461
อ้างถึง
ผมจะปริ้นท์รายงานแค่หน้าเรคคอร์ดเดียวต้องทำไง

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

462
น่าจะได้นะครับ มันจะไปเช็คค่า 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
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin, Somsak472

463
อ้างถึง
ความต้องการของผมคือ หากกรอก 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 กี่ตัวครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin, Somsak472

464
แก้เป็น

โค๊ด: [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)," ")
โพสต์นี้ได้รับคำขอบคุณจาก: Bravo_M79, isuccess

465
_เจอปัญหาละ แก้ให้แปปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Bravo_M79

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

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

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

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

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

หน้า: 1 ... 23 24 25 [26] 27 28 29 ... 32