แสดงกระทู้

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

หน้า: 1 ... 3 4 5 [6] 7 8 9
91
ห้อง MS Access / : ระบบจองห้องประชุม
« เมื่อ: 05 มิ.ย. 61 , 21:01:05 »
ผมส่ง ID Line ไปทางข้อความนะครับ พี่ อาจจะต้องคุยกันยาวๆ เดี่ยวผมช่วยเต็มที่ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

92
ห้อง MS Access / : ระบบจองห้องประชุม
« เมื่อ: 05 มิ.ย. 61 , 20:15:01 »
เรียนอาจารย์ ปิ่นณรงค์
ขอบคุณมากนะครับผม  และขอโทษที่ตอบช้าครับ เพราะที่ทำงานใช้ มือถือไม่ได้ครับ

จากคำถามครับ
1.เราจะกำหนดรอบการประชุมอย่างไร
   ตอบ ไม่มีการกำหนดรอบครับ ว่างก็จองได้เลยครับผม
2.แต่ละรอบกำหนดไหมกี่ ช.ม.
   ตอบ ไม่มีการกำหนดครับ  บางทีจองกันเป็นวันๆ เลยครับ
3.ถ้าสมมุติรอบเช้ามีการจองประชุม 8.00 - 12.00 น. รอบต่อไปให้จองได้ตอนกี่โมง (Delay ระหว่างรอบประชุมนานเท่าไร)
   ตอบ ปกติผู้ใช้ห้องประชุมจะจองเผื่อเวลาไว้ครับ

   ประมาณนี้ครับผม
   เดี๋ยวผมจะออกแบบหน้าจอ และ report ที่จำเป็นต้องใช้ให้นะครับ ให้นะครับ

   ขอแสดงความนับถือครับ  เพราะจำเป็นต้องใช้ระบบจริงๆครับ  ห้อมประมีเกือบ 20 ห้องครับผม คนจองก็เยอะมากครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

93
ห้อง MS Access / : สอบถามการ join Output ครับ
« เมื่อ: 05 มิ.ย. 61 , 10:22:22 »
ทำตามตัวอย่างได้แล้วครับ และถ้าเราต้องการ Source มากว่า2รายการที่ยกตัวอย่าง ก็ทำแบบเดียวกันเลยใช่มั้ยครับ
ใช่ครับ คุณ prajak กำหนดที่ Union อันเดียวพอ

SELECT Date, Output,  'POFab' as Source
FROM TblPOFab
UNION
SELECT Date, Output,  'Production' as Source
FROM TblProduction
UNION
SELECT ..............  'ตั้งชื่อ' as Source
FROM กำหนดTable;
กี่ตารางก็ได้คับ แต่ตอนจบ SQL เราค่อยใส่เครื่องหมาย ;  นะครับและ ไม่ต้องใส่ UNION ให้อันสุดท้ายนะครับ คิวรี่อื่นๆ กำหนดเหมือนเดิมครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

94
ห้อง MS Access / : ระบบจองห้องประชุม
« เมื่อ: 04 มิ.ย. 61 , 22:34:42 »
สวัสดีครับ
ผมอยากได้แบบที่ 2 ครับผม
รบกวนด้วยนะครับ
เพิ่มเติมอีกนิดนะพี่ ผมกำลังทดลองทำให้อยู่ แต่คงทำให้เป็นทีละส่วนๆไปนะครับ

1.เราจะกำหนดรอบการประชุมอย่างไร
2.แต่ละรอบกำหนดไหมกี่ ช.ม.
3.ถ้าสมมุติรอบเช้ามีการจองประชุม 8.00 - 12.00 น. รอบต่อไปให้จองได้ตอนกี่โมง (Delay ระหว่างรอบประชุมนานเท่าไร)

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

95
ห้อง MS Access / : สอบถามการ join Output ครับ
« เมื่อ: 04 มิ.ย. 61 , 21:51:26 »
ลองอันใหม่ด้านบนครับ สร้างเงื่อนไขไว้รองรับแล้ว
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

96
ห้อง MS Access / : สอบถามการ join Output ครับ
« เมื่อ: 04 มิ.ย. 61 , 21:19:32 »
แบบใหม่เสร็จละครับ กดที่ form result แล้วเลือกปี จากนั้นรัน Report ดูครับ


โดยขั้นแรก สร้างคิวรี่ Union ก่อนใส่
โค๊ด: [Select]
SELECT Date, Output,  'POFab' as Source
FROM TblPOFab
UNION SELECT Date, Output,  'Production' as Source
FROM TblProduction;
จะได้ข้อมูลและชื่อตารางมา

ขั้นที่สอง
กำหนด Year: Year([Date]) เพื่อให้ได้เฉพาะปีมา
กำหนด MONTH: "เดือน" & Month([Date])  จะได้ "เดือน 1,2,3,4,5.......12"
ตรง OutPut ให้ Sum


ขั้นที่สาม

โค๊ด: [Select]
SELECT Sum1.Source, Sum(IIf([Month]="เดือน1",([output]))) AS เดือน1, Sum(IIf([Month]="เดือน2",([output]))) AS เดือน2, Sum(IIf([Month]="เดือน3",([output]))) AS เดือน3, Sum(IIf([Month]="เดือน4",([output]))) AS เดือน4, Sum(IIf([Month]="เดือน5",([output]))) AS เดือน5, Sum(IIf([Month]="เดือน6",([output]))) AS เดือน6, Sum(IIf([Month]="เดือน7",([output]))) AS เดือน7, Sum(IIf([Month]="เดือน8",([output]))) AS เดือน8, Sum(IIf([Month]="เดือน9",([output]))) AS เดือน9, Sum(IIf([Month]="เดือน10",([output]))) AS เดือน10, Sum(IIf([Month]="เดือน11",([output]))) AS เดือน11, Sum(IIf([Month]="เดือน12",([output]))) AS เดือน12
FROM Sum1
GROUP BY Sum1.Source, Sum1.Year
HAVING (((Sum1.Year)=[Forms]![Result]![getYears]));

Group by Source  ไว้แล้วกำหนดที่ละเดือนเพื่อให้เข้าเงื่อนไขและแสดงผลทั้ง 12 เดือน

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

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

แต่ยัง error อยู่ครับ
คือโปรแกรมผม มันเป็น form ซ้อน form อยู่อ่ะครับ
 ผมลองใส่ code ในตัว subform แล้วรันเฉพาะ subform
ใช้ได้ ไม่ error

แต่พอรัน form ชื่อ input มัน error
ทำไงดีคับ
อ่อเปน Sub Form เดี่ยวแก้ให้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

98
ห้อง MS Access / ระบบจองห้องประชุม
« เมื่อ: 03 มิ.ย. 61 , 10:35:59 »
 :sweat:สวัสดีครับ
  รบกวนสอบถามเกี่ยวกับระบบจองห้องประชุมครับ
  เงื่อนไขคือ จะทำอย่างไร ไม่ให้ผู้จอง จอง วัน - เวลา ซ้อนกันครับ

  (ถ้ามีัตัวอย่างโปรแกรม รบกวนอาจารย์แนะนำด้วยครับ)
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

99
ใช้อันนี้แทน แต่ต้องกด Enter หลังจากใส่สูตรทุกครั้ง

Private Sub Output_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo Output_Err:
Dim myValue As Variant

If KeyCode = vbKeyReturn Then
    myValue = Eval(Me.Output.Text)
    Me.Output = myValue
End If
   
Output_Err:
    'bypass error

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

100
Private Sub Output_AfterUpdate()
On Error GoTo Output_Err:
Dim myValue As Variant

myValue = Eval(Me.Output)
Me.Output = myValue

Output_Err:
  ' bypass error

End Sub

หมายเหตุ: ไม่ต้องใส่เครื่องหมาย = นะครับ ใส่ตัวเลข + - * / ได้เลย
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

101
ห้อง MS Access / : การ Import ไฟล์รูปภาพ
« เมื่อ: 01 มิ.ย. 61 , 11:46:23 »
ผมลองทำตัวอย่างใหม่ เมื่อกดจัดเก็บให้เพิ่ม (1),(2) เก็บไว้กรณี ชื่อซ้ำ ประมาณนนี้นะครับ
เวลากำหนด Pathเอง ให้ใส่แบบนี้นะครับ C:\PIC   หรือถ้ามี Sub Folder C:\PIC\SUBFLODER ประมาณนี้ครับ


เพิ่มไฟล์ครั้งแรก ที่ OutputPath จะแสดงชื่อไฟล์ปกติ


เมื่อเพิ่ม ไฟล์อันต่อไปซึ่งซ้ำกับอันแรก มันจะนับต่อแบบนี้ ผมลองกดอันที่ชื่อซ้ำกัน 3 ครั้ง นะครับ


ไฟล์ใน Floder ที่ได้


Path ในตาราง


ส่วน Function ที่เพิ่มตามนี้เลย
โค๊ด: [Select]
Function FileNameGetUnique(sFileName As String) As String
    Dim lCount As Long, lPosDot As Long
    Dim sFileNoExtension As String, sExtension As String
    On Error GoTo ErrFailed
    If Len(sFileName) = 0 Then
        Debug.Assert "ไม่เจอไฟล์ที่จะปรับปรุงนะครับ" & FileNameGetUnique
        Exit Function
    End If
    lPosDot = InStrRev(sFileName, ".")
    If lPosDot Then
        sFileNoExtension = Left$(sFileName, lPosDot - 1)
        sExtension = Mid$(sFileName, lPosDot)
    Else
        sFileNoExtension = sFileName
    End If
    Do
        lCount = lCount + 1
    Loop While Len(Dir$(sFileNoExtension & "(" & CStr(lCount) & ")" & sExtension))
    FileNameGetUnique = sFileNoExtension & "(" & CStr(lCount) & ")" & sExtension
    Exit Function
ErrFailed:
    Debug.Print Err.Description
    Debug.Assert False
    FileNameGetUnique = ""
End Function
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

102
ห้อง MS Access / : การ Import ไฟล์รูปภาพ
« เมื่อ: 31 พ.ค. 61 , 16:32:41 »
เดี่ยวพรุ่งนี้เพิ่มให้นะครับ คุณ Prajak ลืมตรวจเช็คดูตรงนั้นขอโทษด้วยนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

103
ห้อง MS Access / : การ Import ไฟล์รูปภาพ
« เมื่อ: 30 พ.ค. 61 , 19:26:19 »

ปรับปรุงใหม่ให้แล้วนะครับ มีจุดที่จะกำหนด Default Path ได้นะครับตรง
กำหนด Default Path ที่
Private Sub Default_AfterUpdate()
If Default = True Then
Me.SetPath = "C:\Pic"
Else
Me.SetPath = Null
End If
End Sub

หมายเหตุ
1.ก่อนจะกด Import ให้กำหนด Path ที่จะจัดเก็บก่อน ถ้ายังไม่ระบุจะมีแจ้งเตือน
2.ปรับปรุงให้แสดงชื่อหลัง Path จัดเก็บแล้ว
3.ถ้ายังใส่รายละเอียดเกี่ยวกับการ import รูปไม่เสร็จแล้วไปกดปิดฟอร์ม รูปในหน้านั้นจะไม่บันทึกในตารางให้ (ป้องกันข้อผิดพลาด)
4.ตำแหน่งของ Path ถ้าติ๊กเลือก Default Path หลังกดปุ่ม จัดเก็บ แล้ว Path จะแสดง Default หรือ ถ้ากำหนด Path เองก็จะกับไปยัง Path ที่กำหนดไว้ เพื่อให้พร้อมในการ จัดเก็บไฟล์ใหม่

ตัวอย่างด้านล่างนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

104
ห้อง MS Access / : การ Import ไฟล์รูปภาพ
« เมื่อ: 30 พ.ค. 61 , 14:50:08 »
ตรง textbox OutputPath กำหนด RecordSource ด้วยครับพอดีผมลืมกำหนดให้
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

105
ห้อง MS Access / : การ Import ไฟล์รูปภาพ
« เมื่อ: 30 พ.ค. 61 , 11:44:47 »
.
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

106
ถ้าไม่ต้องการลบข้อมูลใน table ก่อนตัดคำสั่งนั้นออกไปถูกแล้วครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

107
ทำเหมือนเดิม แต่ให้เปลี่ยน Event เป็น On KeyPress แล้วใช้โค้ดตามนี้ครับ

Private Sub INVOICE_KeyPress(KeyAscii As Integer)
    If KeyAscii = 32 Then
        KeyAscii = 0
    End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

108
อ่อโอเค เป็นบน Spilit Form ผมอ่านไม่เคลียอิอิ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

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