แสดงกระทู้

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 ... 4 5 6 [7] 8 9 10 ... 46
109
การสร้างโปรแกรมฐานข้อมูล
access ทำมาก็เพื่อสิ่งนี้อยู่แล้วครับ

ถ้าถามว่าทำทะเบียนประวัติข้อมูลของคนไข้ได้มั้ยครับ ตอบเลยว่าได้แน่นอน
เพราะผมก็ทำทะเบียนประวัติข้อมูลของคนไข้ ของโรงพยาบาลอยู่เหมือนกัน
โดยใช้ access เพราะมีฐานข้อมูลในตัว อาจจะสร้างส่วนที่เป็นข้อมูลไว้เป็น BackEnd และส่วนของการแสดงผล FrontEnd หรือส่วนติดต่อผู้ใช้ (User interface) และมี office อยู่แล้วในคอมทุกเครื่อง  และสามารถสร้าง form หรือ รายงานได้ไม่ยากมากนัก



111
1.สร้าง Module ใส่โค้ดนี้เข้าไป

โค๊ด: [Select]
Public Function WorkingDays(StartDate As Date, EndDate As Date) As Integer
On Error GoTo Err_WorkingDays
Dim intCount As Integer
               intCount = 0
               If Weekday(StartDate) = 1 Then
                     intCount = intCount + 1
               End If
               Do While StartDate <= EndDate
                    Select Case Weekday(StartDate)
                    Case Is = 1, 7
                        intCount = intCount
                    Case Is = 2, 3, 4, 5, 6
                        intCount = intCount + 1
                    End Select
                    StartDate = StartDate + 1
                    If Weekday(EndDate) = 1 Then
                        If EndDate > StartDate Then
                            intCount = intCount + 1
                         End If
                    End If
               Loop
               WorkingDays = intCount
Exit_WorkingDays:
    Exit Function
Err_WorkingDays:
    MsgBox Err.Description
    Resume Exit_WorkingDays
End Function

2.สมมุติ textbox ชื่อ txtStartDate   วันที่เริ่ม
                           txtEndDate     วันที่สิ้นสุด
                           txtTotalDate    คำนวนวันที่ได้(ไม่รวมวันหยุด)
ไม้รู้แบบนี้หรือเปล่าลองดูครับ
ผมค้นกระทู้เก่าเจอจากกระทู้นี้
https://www.thai-access.com/yeadram_view.php?topic_id=1702&PagePosition=1


112
ลองดูตัวอย่างนะครับ
ใช้การเช็คเงื่อนไขโดยใช้ Field Mcode มาแยกหมวดหมู่

113
ลองแบบที่อาจารย์ OddyWriter บอกดีกว่าครับ ผมก็คิดอยากจะทำกับคิวรี่แต่คิดวิธีไม่ออกครับ
เมื่อมีแนวทางแล้ว เอาแบบที่ อาจารย์ OddyWriter แนะนำดีกว่าครับ เร็วกว่าจริงๆ

114
ที่ปุ่มปริ้นใส่แบบนี้ครับ โค้ดจะไปจับ ID ของแต่ละ Record ที่มีบนฟอร์ม มาแสดงในรายงานแบบเดียวกัน

โค๊ด: [Select]
Dim rsc As DAO.Recordset
Dim StrWhere As String
     Set rsc = Forms![Navigation_Form]![NavigationSubform]![PTT].Form.RecordsetClone
        rsc.MoveFirst
     Do While Not rsc.EOF
        StrWhere = StrWhere & " OR ID=" & rsc!ID
        rsc.MoveNext
     Loop
        If Len(StrWhere) > 0 Then
           StrWhere = Right(StrWhere, Len(StrWhere) - 4)
        End If
     DoCmd.OpenReport "ptt", acViewPreview, , StrWhere

115
อ่อ มันไม่ได้ใช้การ filter ข้อมูลนะครับ ใช้ bookmark ใช่ไหม
งั้นโค้ดเงื่อนไข ต้องแก้ เดี่ยวขอปรับแก้แปป

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

117
Set frm = Forms![Navigation_Form]![NavigationSubform]![PTT].Form

ผมลองสร้างให้อยู่ใน Navigation_Form ดูสามารถทำได้

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


ตัวอย่างการตั้งค่าด้านล่าง

118
สามารถทำได้โดย
1.สร้างตัวรายงานขึ่นมา 1 อันที่มี RecordSource เดี่ยวกันกับที่มีอยู่บน Form
2.สร้างปุ่มสำหรับปริ้นใส่โค้ดเข้าไป
สมมุติชื่อ frmMain   'ชื่อฟอร์มหลัก
สมมุติชื่อ frmSub    'ชื่อซับฟอร์ม
กรณีที่ form ไม่มีฟอร์มย่อย  ก็ใส่ set frm เป็น Set frm = Forms!frmMain.Form
กรณีที่ form มีฟอร์มย่อย  ก็ใส่ set frm เป็น Set frm = Forms!frmMain.frmSub.Form
สมมุติชื่อรายงานที่จะแสดงชื่อ Report1

Private Sub CmbPrint_Click()
Dim frm As Form
Set frm = Forms!frmMain.frmSub.Form
If frm.FilterOn Then
DoCmd.OpenReport "Report1", acViewPreview, , frm.Filter
Else
DoCmd.OpenReport "Report1", acViewPreview
End If
End Sub


119
SYSTEM LOCATE ไม่เหมือนกันแน่เลย
ที่ตัวรายงานให้กำหนดการแสดงรูปโดยกำหนด Criteria ตามรูปนะ
ที่ตัวรายงาน
1.เข้าไปกำหนด RecordSource
1.

2.เมื่อเข้ามาแล้วกำหนด Criteria โดยใช้ฟิลล์ที่จะอ้างอิง จากตัวอย่างผมใช้
Field เก็บรูปชือ Field1
Field EmpID โดยอ้างอิ้งเทคบ๊อก EMPID
ชื่อฟอร์มชื่อ Frm1 โค้ดจะเป็น   Nz([forms]![Frm1]![EMPID],"")
2.

3.ตรงปุ่มปริ้นใส่โค้ดแบบนี้
Me.Dirty = False
DoCmd.OpenReport "rpt1", acViewPreview
ถ้ายังไม่เข้าใจถ้าสามารถรีโมทได้จะไปเพิ่มให้

120
ถ้าท่านต้องการปริ้นทันที ไม่แสดงตัวอย่างก็แก้โค้ดเป็นแบบนี้

แก้จาก DoCmd.OpenReport "rpt1", acViewPreview
เป็น DoCmd.OpenReport "rpt1", acViewNormal

ตัวอย่างด้านบนผมแก้ไขใหม่ครับ โหลดไปดูได้

121
อ้างถึง
Button ไว้ และ Report ของ field รูปภาพ ตอนเราดูพนักงานคนไหนอยู่ เมื่อกด Button ใต้รูป มันก็จะพิมพ์รูปนั้นๆ ออกมา
Field เก็บรูปเป็นแบบ Attachment หรือเปล่าครับ
ในรายงานมีรหัสของพนักงานแต่ละคนอยู่ด้วยไหมครับ ถ้ามีสามารถใช้การอ้างอิง Field รหัสพนักงานเพื่อพิมพ์ภาพของ Record นั้นได้ครับ

ตัวอย่างด้านล่าง



122
ให้สร้าง textbox ขึ้นมา 1 อัน
ใส่โค้ด dlookup นี้เข้าไปใน ControlSource ถ้าให้แสดงบนตัวรายงาน
โค๊ด: [Select]
=DLookUp("[Amount]","[Product]","[pro-id] ='" & [Reports]![RtpBill]![pro-id] & "'")
ใส่โค้ด dlookup นี้เข้าไปใน ControlSource ถ้าให้แสดงบนฟอร์ม
โค๊ด: [Select]
=DLookUp("[Amount]","[Product]","[pro-id] ='" & [Forms]![FrmUP]![FrmDown Subform]![pro-id] & "'")
textbox นี้จะแสดงจำนวน Amount ทั้งหมดที่ตามรหัสสินค้าที่ระบุ

123
ห้อง MS Access / : export to excel
« เมื่อ: 01 ก.ค. 64 , 08:35:50 »
ถ้าสามารถ รีโมทเข้าไปเชคให้ได้
ให้ส่ง Line ID มาทางข้อความผมได้เลยครับ
จะเข้าไปเช็คให้

124
ห้อง MS Access / : export to excel
« เมื่อ: 22 มิ.ย. 64 , 13:06:57 »
ลองแก้ไข region and language ตามกระทู้นี้ดูครับ
https://www.thai-access.com/index.php?topic=522.msg2306#msg2306

125
ขอดูโค้ดที่วางในคิวรี่หน่อยคับ
ของคงเหลือนะครับ
หรือ copy code SQL มาดูเลยก็ได้คับ

126
ใช้ IIF เช็คเงือนไขดูครับว่าได้ไหม เช่น

StockPartQOut: IIf(IsNull([StockPart QOut]![SumOfQuanlity]),0,[StockPart QOut]![SumOfquanlity])

หน้า: 1 ... 4 5 6 [7] 8 9 10 ... 46