สมัครสมาชิก

แสดงกระทู้

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

หน้า: [1] 2
1
ภาพตัวอย่างรายงานที่ได้ ขอตัดเป็นภาพมาให้ดูนะ

ภาพที่ 1 หน้าแรก


ภาพที่ 2 จะได้ยอดยกมาและยอดรวม



และหน้าสุดท้ายก็จะได้ยอดรวมครับ





2
หน้าออกแบบรายงาน



กำหนดให้รวม Property Sheet : Running Sum = Over All




โค๊ด: [Select]
Option Compare Database

Dim x As Double
Dim X2 As Double
Dim P1(100)
Dim P2(100)

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If Forms!menu.Frame3B = 1 Then
                If IsNull(Forms!menu.txtPath) Then
                    Me.ImgTax3.Picture = none
                Else
                    Me.ImgTax3.Picture = Forms!menu.txtPath
                End If
End If
End Sub

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
  If IsNull(Me.Text4.Value) = True Then
        Me.Text59.ForeColor = RGB(255, 255, 255)
  End If
    Me.Text84.Value = " ลำดับที่ในหนังสือรับรองฯ  "
End Sub
Private Sub PageFooterSection_Print(Cancel As Integer, PrintCount As Integer)
Me!PageSum = Me!RunSum - x
x = Me!RunSum
 
Me!PageSum3 = Me!RunSum3 - X2
X2 = Me!RunSum3
            P1(Page) = RunSum
            P2(Page) = RunSum3
Call SetLableRPT1
End Sub
Sub SetLableRPT1()
On Error Resume Next
    Me.rptlblname.Caption = "(" & Forms!menu.Combo41 & ")"
    Me.rptlblposition.Caption = Forms!menu.Combo45
    Me.rptlblsenderdate.Caption = Forms!menu.lblDate.Caption
  ' Me.rptlblRptCode2.Caption = "นำไปรวมกับใบต่อ ภ.ง.ด.53 ฉบับอื่น (ถ้ามี))"
End Sub

Private Sub PageHeaderSection_Print(Cancel As Integer, PrintCount As Integer)
Dim P As Double
   If Forms!menu!FrameA.Value = 1 Then
        Me.lblFac.Caption = "สาขาเลขที่... " & Forms!menu!Fac.Column(0) & "....." & Forms!menu!Fac.Column(1) & "...."
    End If
    Me.txtP1 = P1(Page - 1)
    Me.txtP2 = P2(Page - 1)
End Sub

Private Sub Report_NoData(Cancel As Integer)
    MsgBox "Nodata "
    Cancel = True
End Sub

Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer)
  ' Me.rptlblRptCode.Caption = Forms!menu!reportcode.Column(1)
    Me.Text65.Value = "ยอดยกมา"
      x = 0
        X2 = 0
End Sub


ข้างหลังเขียนโค๊ดแบบนี้ครับ ลองดูนะครับผมเอามาทั้งหมดเลยที่อยู่หลัง Report นี้


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


5
ผมนำไปใช้กับการแจ้งเตือนอุณหภูมิห้อง server และปัญหาเครืองจักรใน line ผลิตครับ




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






7
ลองทำ Query และใช้ DateAdd ก็จะได้วันที่ถัดไปครับ โดย DateAdd สามารถระบุได้ต้องการเป็น วัน เดือน ปี ครับ

8
ไม่มีเลยครับ

9
ลองเล่นๆ การส่ง line notify ส่งข้อความ รูปภาพด้วย VBA ไปเจอบทความดีดี ที่นี่เลยเอามาลองเล่นครับ

ขอขอบคุณแหล่งที่มา :
http://white5168.blogspot.com/2017/01/line-notify-6-line-notify.html#.XHvsT4gzbIV link

10
ขอร่วมตอบครับอ.อ.ปิ่นณรงค์ 
โค๊ด: [Select]
Public Function MakeTableWithConvertToRow2(ByVal sMainTable As String, ByVal sTempTable As String)
'On Error Resume Next
    Dim RS_IN As DAO.Recordset
    Dim RS_OUT As DAO.Recordset
    Dim ColName As Integer
    Set RS_IN = CurrentDb.OpenRecordset("Select" & "* from " & sMainTable & "")
    'Set RS_OUT = CurrentDb.OpenRecordset("Select" & "* from " & sTempTable & "")
    Set RS_OUT = CurrentDb.OpenRecordset(sTempTable, dbOpenTable)
    Do While Not RS_IN.EOF
        RS_OUT.Index = "PrimaryKey"
        RS_OUT.Seek "=", RS_IN(0).Value
             For ColName = 0 To RS_OUT.Fields.Count - 1
             If RS_OUT.NoMatch Then
                    RS_OUT.AddNew
            Else
                    RS_OUT.Edit
            End If
                    If RS_IN(1).Value = RS_OUT(ColName).Name Then
                            RS_OUT(0).Value = RS_IN(0).Value
                            RS_OUT(RS_OUT(ColName).Name).Value = RS_IN(2).Value
                            RS_OUT.Update
                    End If
                 Next
                RS_IN.MoveNext
    Loop
    RS_IN.Close
    RS_OUT.Close
    Set RS_IN = Nothing
    Set RS_OUT = Nothing
End Function


11
ตอนนี้ผมเขียนใช้แบบนี้เรื่องปัญหาการผลิต
ทำข้อมูลหลักแล้วก็ลงย่อยไปจนถึงปัญหา


บันทึกข้อมูลปัญหาและการแก้ไขใส่ตามที่แก้ไปเรื่อย ๆ


รายงานก็ออกแบบไปเรื่อยตามหน้างานต้องการ






13
ลองทำข้อมูลใส่ MS Access มาสัก ตารางครับ เดี๋ยวลองช่วยทำ


14
แล้วการตั้งค่าของ Region / format /location /Administative เป็นอะไรอยู่ครับ




15
ผมลองโหลดตัวอย่างที่ให้มาลองดูนับ Column ได้ 17 (op1) เหลือสองอันท้ายไม่มีข้อมูล
ไม่มีข้อมูลแต่มี | ขั้นไว้ครับ ครบ 19 column
เมื่อส่งออกไปแล้ว ลองมาดูตารางที่ส่งออก มันก็ออกครบ 19
แต่ลองนำเข้ากลับมา มันเป็นแบบ รูปที่แสดงครับ

ไม่รู้ผมเข้าใจอะไรผิดไหมจากการเทสตัวอย่างผมกลับไปดู DispensedItem ได้ 17 column = (OP1) และว่างอีกสอง นะครับ :confused:

16
ผมลองโหลดตัวอย่างที่ให้มาลองดูนับ Column ได้ 17 (op1) เหลือสองอันท้ายไม่มีข้อมูล

หน้า: [1] 2