แสดงกระทู้

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

หน้า: [1]
1
สามารถใช้กับการค้นหาภายในปีได้ตามต้องการครับ ขอบคุณสำหรับคำเเนะนำครับ

เเต่ตอนนี้กำลังหาทางให้สามารถ filter ข้อมูลข้ามปีครับ

Private Sub MAYrecordbut_Click()

Dim strCriteriaM1 As String
Dim strCriteriaM2 As String
Dim strCriteriaMA As String
Dim strCriteriaMB As String
Dim task1 As String
Dim task2 As String
Me.Refresh

If IsNull(Me.FROMmonthtxt) Or IsNull(Me.TOmonthtxt) Then
MsgBox " Please enter the month range", vbInformation, "Month Range Required"
Me.SetFocus
ElseIf IsNull(Me.FROMyeartxt) Or IsNull(Me.TOyeartxt) Then
MsgBox " Please enter the year range", vbInformation, "Year Range Required"
End If

'ใช้ค้นหาข้อมูลภายในปีนั้นๆ เมื่อ Me.FROMyeartxt.Value = 2020 เเละ Me.TOyeartxt.Value = 2020
If Me.FROMyeartxt.Value = Me.TOyeartxt.Value Then
strCriteriaM1 = "([Month] between " & Me.FROMmonthtxt.Value & " and " & Me.TOmonthtxt.Value & ") and ([Year] between " & Me.FROMyeartxt.Value & " and " & Me.TOyeartxt.Value & ")"
task1 = " SELECT * From QueryRECORD where " & strCriteriaM1 & " order by [Month] ASC , [Year] ASC "
DoCmd.ApplyFilter task1
Me.Requery

'ใช้ค้นหาข้อมูลข้ามปี เมื่อ Me.FROMyeartxt.Value = 2020 เเละ Me.TOyeartxt.Value = 2021

ElseIf Me.FROMyeartxt.Value < Me.TOyeartxt.Value Then

'ให้หาข้อมูลจาก Query ภายในปี 2020 จากเดือนที่ต้องการใน textbox ชื่อ FROMmonthtxt จนถึงเดือน 12
strCriteriaMA = " ([Month] between " & Me.FROMmonthtxt.Value & " and " & 12 & ") and ([Year] = " & Me.FROMyeartxt.Value & ") "

'ให้หาข้อมูลจาก Query ภายในปี 2021 จากเดือน 1 จนถึงเดือรที่ต้องการใน textbox ชื่อ TOmonthtxt
strCriteriaMB = " ([Month] between " & 1 & " and " & Me.TOmonthtxt.Value & ") and ([Year] = " & Me.TOyeartxt.Value & ") "

'รวมคำสั่ง
strCriteriaM2 = "  '" & strCriteriaMA & "' And '" & strCriteriaMB & "' "

task2 = " SELECT * From QueryRECORD where " & strCriteriaM2 & "   order by [Month] ASC , [Year] ASC "

DoCmd.ApplyFilter task2
Me.Requery
End If

End Sub

ใช้โค้ดตามนี้เเต่ยังไม่สามารถเเสดงข้อมูลข้ามปีได้ครับ พอมีคำเเนะนำในการเขียนโค้ดไหมครับ

2
ได้โจทย์มาจากพี่ๆให้สร้างฟอร์มที่สามารถ เเสดงข้อมูลของสินค้าที่นำเข้ามาเเละสินค้าที่ถูกนำออกไปครับ
โดยในฟอร์มนี้ต้องสามารถหาข้อมูลโดย ดูจากเดือนเเละปีเเละสามารถดูเป็นช่วงเลาได้ เช่น อยากทราบว่าระหว่างเดือน 1 ถึง เดือน  3 มีสินค้าเข้า-ออกไปเเล้วกี่ชิ้น



รูปเเบบฟอร์มที่ผมสร้างเป็นเเบบนี้ครับ



เมื่อใส่ช่วงของเดือนเเละปีที่ต้องการค้นหา เเละ กด search เพื่อค้นหา record

คำสั่งปุ่ม Refresh

Private Sub MAYrebut_Click()
Dim strSQL_REFRESH As String

strSQL_REFRESH = "SELECT * from QueryRECORD order by [Month] ASC , [Year] ASC "

Me.FROMmonthtxt.Value = Null
Me.TOmonthtxt.Value = Null
Me.FROMyeartxt.Value = Null
Me.TOyeartxt.Value = Null

Me.RecordSource = strSQL_REFRESH
End Sub

คำสั่งปุ่ม Search

Private Sub MAYrecordbut_Click()

Dim strCriteriaM As String
Dim task As String
Me.Refresh
'ตรวจสอบว่าผู้ใช้ช่วงเดือนที่ต้องการค้นหาหรือไม่
If IsNull(Me.FROMmonthtxt) Or IsNull(Me.TOmonthtxt) Then
MsgBox " Please enter the month range", vbInformation, "Month Range Required"
Me.SetFocus
'ตรวจสอบว่าผู้ใช้ช่วงปีที่ต้องการค้นหาหรือไม่
ElseIf IsNull(Me.FROMyeartxt) Or IsNull(Me.TOyeartxt) Then
MsgBox " Please enter the year range", vbInformation, "Year Range Required"
Else
strCriteriaM = "( [Month] >= '" & Me.FROMmonthtxt.Value & "' and [Month] <= '" & Me.TOmonthtxt.Value & "' and [Year] >= '" & Me.FROMyeartxt.Value & "' and [Year] <= '" & Me.TOyeartxt.Value & "')"
task = " SELECT * From QueryRECORD where " & strCriteriaM & " order by [Month] ASC , [Year] ASC "
DoCmd.ApplyFilter task
Me.Requery
End If

End Sub

ตอนนี้ติดปัญหาคือ
1. ไม่สามารถเเสดงได้เมื่อเวลาค้นหาข้อมูลข้ามปี
2. พี่ต้องการเเบบว่า ถ้าให้ค้นหาระหว่างเดือนเก้าถึงเดือนสิบ เเม้ว่าเดือนเก้าจะไม่มีบันทึกข้อมูลเลย เเต่ข้อมูลของเดือนสิบที่มีบันท฿กต้องปรากฏบนฟอร์มเเต่ผมไม่สามารถเขียน vba ให้มันเเสดงได้เลยครับ

ผมลองเเก้ไขเพิ่มเติมเเล้วเเต่ไม่สามารถเเก้ไขปัญหาข้างต้นได้  :dizzy: :dizzy:
จึงอยากขอคำเเนะนำในการเขียนโค้ด VBA หรือ การเเก้ไขปรับปรุง form,table,Query นะครับ

ปล.ผมได้ทำการอัปโหลดไฟล์ตัวอย่างไว้ด้วยครับ

3

ขอคำเเนะนำครับ
อยากทราบวิธี save ไฟล์ Access ให้กลายเป็นโปรเเกรมที่จะนำไปใช้งาน โดยไม่เเสดง Menu Bar เเละ เเถบข้างๆที่เเสดงพวก table query form ครับตามภาพเเละวิดีโอ ตัวอย่างด้านล่างครับ ต้องตั้งค่าอย่างไรบ้างครับ






4
ขอทราบวิธีด้วยได้ไหมครับ

5
พอสร้าง listbox ขึ้นมา

1. อยากตั้งค่าให้ตัวหนังสือใน listbox อยู่ตรงกลางทั้งหมดนะครับพอจะมีวิธีการตั้งค่าไหมครับ
2. อยากตั้งค่าให้ตัวหนังสือใน listbox บางช่องอยู่ตรงกลาง บางช่องอยู่ชิดขวานะครับพอจะมีวิธีการตั้งค่าไหมครับ
3. อยากตั้งค่าให้ตัวหนังสือของ column heads นะครับพอจะมีวิธีการตั้งค่าไหมครับ

คือเคยลองค้นหาข้อมูลเเล้วพบว่าใช้โค้ด ชื่อlistbox.LabelAlign  เเต่ไม่พบตัวอย่างการเขียน vba นะครับ เลยไม่ทราบว่าสามารถใช้ตั่งค่า listbox ได้หรือเปล่า ขอคำเเนะนำด้วยครับ   :cry: :cry:

6
ขอบคุณสำหรับคำเเนะนำครับ จะลองนำไปใช้ดูครับ  :miao: :yuush:

7
คือ ผมทราบว่าปกติเราสามารถ นำข้อมูลเข้าออก จาก access ไป excel ได้โดยการเลือก external data เเละไปที่ excel
เเต่อยากทราบว่าเราสามารถสร้างปุ่มไว้ใน ฟอร์ม เเล้วเขียน VBA ให้นำข้อมูลเข้าหรือออก จาก access ไป excel ได้รึเปล่าครับ

ถ้าสามารถทำได้ต้องเขียนโค้ดยังไงบ้างครับ ขอคำเเเนะนำด้วยครับ :dizzy: :dizzy:

8
ผมก็เขียน accessไม่ค่อยเก่งเหมือนกัน เเต่พอจะเเนะนำได้ดังนี้ครับ

1. ไปกำหนด vba ที่ปุม search

Private Sub Command83_Click()
ประกาศตัวเเปร
Dim strseach As String
Dim strText As String

    If IsNull(Me.txtSearch) Then
    strsearch = "SELECT * from Qpart" (ตอนที่ช่องค้นหาว่างจะขึ้นมาทั้งหมด เเต่กรณีของผมเป็นเเบบ continuous form ครับ)
    Else
    strText = Me.txtSearch.Value (เก็บค่าจากช่องค้นหาไปในตัวเเปร strtext)
    strsearch = "SELECT * from ( ฟอร์มหรือQueryที่ต้องการให้เลือกข้อมูล ) where ((............LIKE ""*" & strText & "*"")
     or(........ LIKE ""*" & strText & "*"") or (....... LIKE ""*" & strText & "*"") ) "
    Me.RecordSource = strsearch
    End If
    (ให้เลือกข้อมูลทุกอย่างจากฟอร์ม หรือ คิวรี่ โดยตรง ...... คือ ชื่อ filed ที่ต้องการให้ค้นหาครับ )
End Sub

2.ผมจะสร้าง Query ที่รับค่าจากฟอร์มโดยการไปกำหนดที่ Criteria ของ ฟอร์ม เช่น [Forms]![ชื่อฟอร์ม]![textboxที่เราต้องการให้query รับค่า] เพื่อให้เวลาเปลี่ยน record ที่ค้นหา จะได้ปริ้นได้ถูกต้อง

3.สร้าง Report จาก Query ในข้อสอง ที่นี้เวลาเราค้นหา record ใหม่ report จะเปลี่ยนไป

4.ไปกำหนดในปุ่ม report   โดยใช้โค้ด vba ---> DoCmd.OpenReport " ชื่อ report  "  เมื่อกดปุ่มนี้เเละเชื่อมกับ printer อยู่       
    จะสามารถปริ้นท์ได้ครับ

ถ้าเป็นผมจะทำประมานนี้ครับ ไม่เเน่ใจว่ามีวิธีง่ายกว่านี้รึเปล่านะครับ ถ้าท่านอื่นสามารถทำได้ดีกว่าก็ช่วยเเนะนำด้วยนะครับ  :spook:
ถ้าไม่เข้าใจ หรือ ทำไม่ได้ก็ขออภัยด้วยครับ :zzz: :zzz:


9
ทำได้เเล้วครับ ขอบคุณมากครับ  :miao:

10
ขอคำเเนะนำครับ
คือผมต้องการสร้างฟอร์ม เพื่อใข้ในการค้นหา Record ต่างๆ เเละใน Record นั้นมีการเก็บ ที่อยู่ของไฟล์รูปภาพด้วย
ซึ่งผมต้องการสร้างฟอร์มเเบบ Continuous Forms เเล้วมีรูปภาพปรากฎในฟอร์มด้วย ซึ่งผมไม่สามารถกำหนดให้ภาพตรงกับข้อมูลที่ต้องการได้
 
ผมจึงทำการออกเเบบใหม่โดยการสร้าง icon รูปกล้องขึ้นมา เเล้วหวังว่า เมื่อกดไอคอนรูปกล้อง(เป็น picture นะครับ) ภาพที่ตรงกับข้อมูลจะปรากฎขึ้นเเบบ pop up
เเต่ผมก็ไม่สามารถเขียน vba ได้ครับ จึงอยากขอคำเเนะนำในการเขียนโค้ด vba ครับ (หรือ ถ้ามีวิธีกำหนดรูปใน Continuous Forms  ได้ก็ยินดีรับฟังครับ)



ขอบคุณทุกท่านที่เข้ามาตอบล่วงหน้าครับ ขอบคุณครับ

11
ขอสอบถามผู้รู้ครับ

คือผมต้องการสร้างฐานข้อมูล้เกี่ยวกับการเก็บข้อมูลชิ้นส่วนอุปกรณ์ , เลข PN (Part Number) เเละรูปภาพ
โดย Form สามารถอัปโหลดรูปภาพลงไปใน table ได้ด้วย  attachment (ต้องการให้รูปถูกเเนบลงฐานข้อมูลเพื่อไปเเสดงใน Form หรือ Report ได้ในภายภาคหน้า) เเละ เมื่อมีเลข PN ที่เคยบันทึกเอาไว้ถูกเลือกลงไปใน combo box   ภาพที่เคยบันทึกไว้กับเลข PN นั้นๆต้องเเสดงออกมาโดยทันที่

ผมควรเขียนโค้ดในการบันทึกรูปเเละเรียกรูปตามเลข PN อย่างไรดีครับ ????  :cry: :cry:

ปล.เป็นกระทู้เเรกถ้าเขียนไม่รู้เรื่องก็ขออภัยด้วยครับ


หน้า: [1]