ขอบคุณครับผมทำได้แล้วครับ อาจารย์ ทีนี้ผมอยากทำให้มันเป็นตัวกรองข้อมุลวันที่ล่าสุดประมาณแบบนี้อะครับ รหัสสินค้า วันที่ สินค้า ชื่อบริษัท ชื่อสินค้า 10000 25/6/2011 1 A A 10000 27/6/2011 2 A A 10000 1/7/2011 2 A A 20000 26/6/2011 5 B B 30000 26/6/2011 10 C C 30000 28/6/2011 0 C C 40000 12/5/2011 6 D D อยากให้แสดงข้อมูลล่าสุด ของแต่ละรหัสสินค้า ค่า ผลลัพธ์ คือ รหัสสินค้า วันที่ สินค้า นำออก คงเหลือ 10000 1/7/2011 2 A A 20000 26/6/2011 5 B B 30000 28/6/2011 0 C C 40000 12/5/2011 6 D D ประมาณนี้ครับอาจารย์
sql = "SELECT * FROM qrySeachINDEED WHERE [INDEED] like " & Nz(Me.Text1, "*") & " AND [Page_Indeed] Like '" & Nz(Me.Text10, " * ") & "'" ถ้ากล่อง text มีข้อมูลจะsearch ข้อมูลได้ แต่ถ้าเว้นว่างจะฟ้อง "ข้อผิดพลาดทางไวยากรณ์(ตัวดำเนินการหายไป)ในนิพจน์ '[INDEED] like * AND [Page_Indeed] Like *' " เพราะอะไรครับ
Dim sql As String sql = "SELECT * FROM qry_input_progress WHERE [subArea]='" & Me.Combo_area & "'" And [DWGDetail_QC] = "" & Me.Combo_ISODWG & "'" รันแล้วมัน Error: Run-time error '2465' can't find the field '|1' referred to in your expression แก้ไขไงดีครับ
อาจารย์ครับ เราสามารถสร้างการแสดงแผนภูมิตามคอมโบบ็อกที่เลือกได้ไหมครับ
สอบถามหน่อยคะ ถ้าเราจะทำเงื่อนไขให้หาจาก select box yes no หลายเงื่อนไขต้องทำอย่างไรคะ
ขอสอบถามครับ
กรณี จะดึงข้อมูล ใน Sub form ไปใช้งานต่อ ต้องอ้างอิง เขียน VBA อย่างไรคับ
คือ ผมใช้ mouse ไป คลิกที่ data sheet ใน filed นึงแล้วให้ event เป็น on click ครับ
ขอขอบคุณล่วงหน้าคับ
ถามเรื่อง รายงาน ครับ ต้องการจัดตัวหนังสือเป็นแนวตั้ง จะทำยังไงครับ (ปกติจะเป็นแนวนอน)
ปัญหาของผมคือ ถ้าผม คลิกขวาเลือก design view ที่Form แล้วเข้าไปที่ VB code ก่อน แล้ว กลับมาเลือก Form view จะสามารถ ใช้ combo box ได้ปกติ แต่ถ้า ผมมาเปิด Formview เลย จะขึ้น complie error แล้วไฮไลท์ที่ .RecordSource ครับ
ขอบคุณมากๆครับ อาจารย์
รบกวนสอบหน่อยครับ แบบฟอร์มการค้นหาข้อมูลที่กรอง ถ้าเรากรองข้อมูลแล้วเราจะสามารถนำไปปริ้นเป็น Report ได้ใหมครับ
ได้ครับ ใน Report เราก็ใช้เงื่อนไขการกรองแบบเดียวกันกับฟอร์มครับ
@@AccessCreator ผมรบกวนสอบถามเพิ่มเติมครับผมลองไปทำใน Report ผมลองวาง combo box ลงไปแล้ว combo box มันไม่มีตัวเลือกให้เลือกเหมือนตอนทำในฟอร์มครับ หรือหลังจากผมกรองข้อมูลที่ต้องการในแบบฟอร์มแล้วมันมีวิธีใหนที่สามารถลิงก์ข้อมูลไปปริ้นใน Report ที่สร้างไว้ได้ใหมครับ ขอบคุณครับ
@@AccessCreator ขอวิธีหน่อยครับ
กรณีที่เราสร้างตาราง มา1 ตาราง 1 ตาราง ให้ตารางนั้นชื่อสินค้า ในรายระเอียดตารางนั้นมี ชื่อสินค้า หน่วย (ในตอนออกแบบตาราง ตรงหน่วย เราเลือกชนิดข้อมูลเป็นแบบ ตัวช่วยสร้างการค้นหา โดยให้ไปรับข้อมูลจากตารางอื่น ) หลังจากนั้น เราเอา ตารางสินค้ามาสร้างฟอร์ม หลังจากเราสร้างฟอร์มเสร็จ **สิ่งที่เราต้องการค้นหาคือ สินค้า ลัง มีอะไรบ้าง เราจะทำการค้นหาได้ยังไงคะ ขอบพระคุณค่ะ หากกรุณามีคลิปอธิบายด้วยขอความกรุณาแปะลิงค์ให้ด้วยได้ไหมคะ กราบขอบพระคุณอีกครั้งค่ะ (ส่วนตารางสินค้าที่เราตั้งนั้น เราก็จะไว้เป็นฐานข้อมูลกรณีเราสร้างฟอร์มคืนสินค้าโดยให้ไปรับข้อมูลตัวสินค้าจากตารางสินค้าค่ะ )
ถ้าเราจะค้นหาด้วยช่วงวันที่จากวันนึงไปถึงวันนึง พอจะมีวิธีแนะนำไหมครับ
ผมถามหน่อยสิ
ของผมขึ้นว่า Microsoft Access ไม่สามารถบันทึกฟอร์มหรือรายงานได้เนื่องจากฟอร์มหรือรายงาน แสดงอักขระจากภาษา ที่ไม่สามารถบันทึกได้ในตำแหน่งที่ระบบปัจจุบันของคุณ
(ให้สลับตำแหน่งที่ตั้งระบบของคุณเป็นภาษาในฟอร์มหรือรายงานแล้วลองอีก)
มันคืออะไร ช่วยผมด้วย
www.picz.in.th/image/OJXn8S
www.picz.in.th/image/OJX6UQ
สวัสดีค่ะ อาจารย์ พอจะทำคลิปให้หน่อยดูหน่อยได้มั๊ยคะ ดิฉันขออธิบายนิดหนึ่ง คือ มีฟอร์มสินค้า เป็นsingle form มีtxtbox2อัน คือ txtbox_ค้นรหัส กับ txtbox_ค้นชื่อ , combobox1อัน เก็บรหัสและชื่อ โจทย์คือ ให้ยูเซอร์ คีย์ txtboxช่องใดช่องหนึ่ง แล้วComboBox ก็แสดงข้อมูลตามที่เราคีย์ จากนั้นเราก็สามารถเลื่อนสกอร์บาร์ลงมาหาข้อมูลที่เราต้องการ พอเราคลิกเลือก ฟอร์มก็แสดงข้อมูลตามที่เราเลือก อะไรประมาณนี้ค่ะ
อาจารย์ถ้าผมอยากให้เลือก combobox ตัวแรกแล้วขึ้นมาเป็นของที่เราเลือก แล้ว comboboxตัวที่2 จะย่อลงมาเหลือแต่ผู้ขายที่มีอยู่ในสินค้าที่เราเลือกทำอย่างไรหรอครับ คล้ายๆ กับการทำจังหวัดอะครับ
ลองดูคลิปนี้ครับ th-cam.com/video/FEeXgAulBYE/w-d-xo.html
ผมลองทำตามแล้ว แต่พอผมตั้ง combobox ตัวที่สองมาแล้วพอกดเลือกตัวแรก ข้อมุลใน sunfrom มันหายไปหมดเลยอะครับอาจารย์
ขอบคุณครับผมทำได้แล้วครับ อาจารย์ ทีนี้ผมอยากทำให้มันเป็นตัวกรองข้อมุลวันที่ล่าสุดประมาณแบบนี้อะครับ
รหัสสินค้า วันที่ สินค้า ชื่อบริษัท ชื่อสินค้า
10000 25/6/2011 1 A A
10000 27/6/2011 2 A A
10000 1/7/2011 2 A A
20000 26/6/2011 5 B B
30000 26/6/2011 10 C C
30000 28/6/2011 0 C C
40000 12/5/2011 6 D D
อยากให้แสดงข้อมูลล่าสุด ของแต่ละรหัสสินค้า ค่า ผลลัพธ์ คือ
รหัสสินค้า วันที่ สินค้า นำออก คงเหลือ
10000 1/7/2011 2 A A
20000 26/6/2011 5 B B
30000 28/6/2011 0 C C
40000 12/5/2011 6 D D
ประมาณนี้ครับอาจารย์
ที่ Combo Box ตัวที่ต้องการ ใน Property > Row Source > ที่เป็น SQL ให้เรากำหนดให้เป็น Totals ที่ฟิลด์ รหัสสินค้า กำหนดเป็น Group By ส่วนฟิลด์ที่เหลือลองกำหนดเป็น Last ดูครับ
ทำได้แล้วครับอาจารย์ ผมอยากถามเพิ่มนิดนึงครับอาจารย์ ผมได้ดูคลิปที่อาจารย์สอนทำ from ordering แล้วถ้าเวลาที่ผมสั่งไปแล้วเราไม่เคยมีสินค้าตัวนี้ในสต้อก ผมอยากให้มันพิมพ์เพิ่มลงไปได้ไม่ให้มันเกิด eror ต้องทำยังไงหรอครับ
ผมต้องการให้ สิ่งที่แล้วกรองเรียบร้อยแล้วแสดงเป็นรายงาน ตามรูปแบบที่เราว่างไง้ ผมต้องทำอย่างไรต่อครับ
ในการเปิดรายงานที่เราสร้าง เราสามารถกำหนดเงื่อนไขให้เหมือนกับในฟอร์มที่เรากรองข้อมูลได้ครับ
@@AccessCreator ผมต้องตั้งค่าอย่างไร มีคลิปพอเป็นแนวทางไหมครับ เพราะ ผมทำแล้วลองเรียกรายงาน รายงานออกมาไม่เป็นไปตามที่กรอกครับ แต่ออกมาหมดเลยครับ
พี่ครับผมสงสัยว่า ถ้าเกิดแยก table กันแบบนี้แล้ว เช่นแบบของพี่จะแยก Department กับ Employee ซึ่ง ถ้าผมทำฟอร์มกรอกเอกสารอันนึงให้ผู้ใช้กรอก แล้วถ้าในส่วนของ Department ต้องการที่จะเพิ่มข้อมูลขึ้นมา สามารถเพิ่มได้จาก ฟอร์มนั้นได้เลยมั้ยครับโดยใช้ textbox หรือ combobox ก็ได้ เพราะที่ผมเคยทำ เวลาพิมพ์ข้อมูลอื่นไปมันจะแจ้งว่าไม่พบข้อมูลใน Table นั้น พอจะมีวิธีมั้ยครับที่จะสามารถเพิ่มข้อมูลใหม่ให้กับ Table นั้น
ใช่ประมาณในคลิปแบบนี้หรือป่าวครับ
th-cam.com/video/49DHexUAGbc/w-d-xo.htmlm57s
ขอบคุณมาก ๆ ครับผม
ขอสอบถามเพิ่มอีกนิดนึงครับ เราสามารถเพิ่มข้อมูลภาษาไทยใน VBA ได้ยังไงครับ ขอบคุณล่วงหน้าครับ
ไม่เข้าใจครับ อะไรคือเพิ่มข้อมูลภาษาไทยใน VBA ?
หมายถึงว่า จะพิมพ์ภาษาไทยอะครับ แต่มันขึ้นภาษามั่ว ๆมา T_T
อาจารย์คะ ติด error ค่ะ
อยากให้สอนการสร้างโค้ดที่แปลงตัวเลขเป็นตัวอักษรค่ะ
ขอบคุณค่ะ
หมายถึงฟังก์ชั่นที่เปลี่ยนเลขเป็นคำอ่านค่าเงินเหมือน BahtText ใน Excel หรือป่าวครับ ถ้าใช่ หากเครื่องคุณมีโปรแกรม Excel อยู่ด้วย ให้ทำตามคลิปนี้ได้เลยครับ คุณจะได้ฟังก์ชั่น BahtTextExcel ที่ดึงไลบรารี่จาก Excel มาใช้ใน Access ได้เลย แต่ถ้าไม่ต้องการดึงจาก Excel ก็ต้องเขียนฟังก์ชั่นเองใน Access ครับ โดยมีโต้ดอยู่ที่กระทู้นี้ครับ
www.thai-access.com/topic_post.asp?CategoryID=1&TopicID=5378
ลองใส่แล้วมันออกมาเป็นแบบนี้ค่ะ หนูไม่ทราบว่ามันเกิดจากอะไร พอืจะมีวิธีแก้ไขไหมค่ะ
Function BahtText(ByVal sNum)
Dim sNumber, sDigit, sDigit10
Dim nLen, sWord, sWord2
Dim sByte, I, J
sNumber = Array("", "?????", "???", "???", "???", "???", "??", "????", "???", "????")
sDigit = Array("", "???", "????", "???", "?????", "???")
sDigit10 = Array("", "???", "??????", "??????", "??????", "??????", "?????", "???????", "??????", "???????")
sNum = Replace(FormatNumber(sNum, 2), ",", "")
nLen = Len(sNum)
If sNum = ".00" Then BahtText = "?????"
For I = 1 To nLen - 3
J = (15 + nLen - I) Mod 6
sByte = Mid(sNum, I, 1)
If sByte "0" Then
If J = 1 Then sWord = sDigit10(sByte) Else sWord = sNumber(sByte) & sDigit(J)
BahtText = BahtText & sWord
End If
If J = 0 And I nLen - 3 Then
BahtText = BahtText & "????": BahtText = Replace(BahtText, "?????????", "????????")
End If
Next
If Left(sNum, 1) = "1" Then BahtText = Replace(BahtText, "????????", "?????????")
If Left(sNum, 2) = "11" Then BahtText = Replace(BahtText, "????????????", "???????????")
If Len(BahtText) > 0 Then BahtText = BahtText & "???"
If nLen > 4 Then BahtText = Replace(BahtText, "????????", "???????")
sNum = Right(sNum, 2)
If sNum = "00" Then
BahtText = BahtText & "????"
Else
If Left(sNum, 1) "0" Then BahtText = BahtText & sDigit10(Left(sNum, 1))
If Right(sNum, 1) "0" Then BahtText = BahtText & sNumber(Right(sNum, 1))
BahtText = BahtText & "??????"
If Left(sNum, 1) "0" Then BahtText = Replace(BahtText, "???????????", "??????????")
End If
End Function
End Function
เวลาก็อปปี้มาใช้ใน VBA ของ Access หากมีภาษาไทยอยู่ในโค้ดมันจะเป็นแบบนี้อะครับ การแก้ไขคือให้เราสร้างฟอร์มใหม่ขึ้นมา แล้วสร้าง TextBox เปล่าๆ ขึ้นมาอันนึง รันฟอร์มขึ้นมาแล้ว Paste ลงใน Textbox ตัวนั้นก่อน จากนั้นค่อย Select ก็อปปี้โค้ดจาก TextBox มา Paste ลงใน VBA อีกที คราวนี้ภาษาไทยถึงจะอ่านได้ครับ
Access-Creator ขอบคุณค่ะ
ขอ Code ได้ไหมครับ พิมพ์ยาวมากครับ
ส่วนใหญ่ผมไม่ได้เก็บไฟล์ที่ทำไว้อะครับ
sql = "SELECT * FROM qrySeachINDEED WHERE [INDEED] like " & Nz(Me.Text1, "*") & " AND [Page_Indeed] Like '" & Nz(Me.Text10, " * ") & "'"
ถ้ากล่อง text มีข้อมูลจะsearch ข้อมูลได้ แต่ถ้าเว้นว่างจะฟ้อง "ข้อผิดพลาดทางไวยากรณ์(ตัวดำเนินการหายไป)ในนิพจน์ '[INDEED] like * AND [Page_Indeed] Like *' " เพราะอะไรครับ
Dim sql As String
sql = "SELECT * FROM qry_input_progress WHERE [subArea]='" & Me.Combo_area & "'" And [DWGDetail_QC] = "" & Me.Combo_ISODWG & "'"
รันแล้วมัน Error: Run-time error '2465' can't find the field '|1' referred to in your expression แก้ไขไงดีครับ
ทำไมหนูเขียนสูตรกรองเพศเเล้ว เวลากรองมันไม่ขึ้นข้อมูลเลยอ่ะคะ
@Access-Creator อาจารย์คะ ทำตามจารย์ทุกอย่างแต่พอค้นหาข้อมูล มันขึ้น #NAME
อ้างชื่อ Text box หรือชื่อฟิลด์ผิดครับ
sql = "SELECT "FROM qry_Searchimport WHERE[DateImport]=""& me.combo1&"""
พิมตามนี้เลยค่ะ มันขึ้น Compile Error ตรงคำว่า FORM ค่ะ เกิดจากอะไรค่ะ
น่าจะเป็นอย่างนี้มากกว่านะครับ
sql = "SELECT FROM qry_Searchimport WHERE[DateImport]='"& me.combo1&"'"
ให้ระวังเรื่องของ ' และ " และเรื่องการใส่ข้อมูลแบบ String โดยการคล่อมด้วย "..." ต้องใช้ให้ถูกครับ
@@AccessCreator คัดลอกไปวางแล้วค่ะ มันขึ้นแถบสีเหลืองบนคำ Private Sub SearchCombo() นี้ค่ะ และก็ไม่มีไรเกิดขึ้นเลยค่ะ
icethaiderm เว้นวรรคระหว่าง where กับ [. ลองดูครับ
อีกอย่างดูๆแล้ว เครื่องหมาย ' กับ ". คุณน่าจะเกินมาครับ แล้วก็ใช้ combo1.value. ครับ
คือตรงนี้เป็นคำสั่งภาษา SQL ต้องลองศึกษาดูครับ เช่น ใช้ SELECT แล้ว คุณต้องการเลือกฟิลด์อะไรก็ต้องใส่ชื่อฟิลด์นั้น ถ้าต้องการเลือกฟิลด์ทั้งหมดก็ใช้ * ครับ ตัวอย่าง
"SELECT * FROM qry_Searchimport WHERE [DateImport]='" & me.combo1 & "'"
และต้องวรรคให้ถูกอย่างที่ @ชาญ บ้านสร้าง แนะนำอะครับ
ถ้าใช้คอม 1 combo box กับ 1 check box ในการค้นหา โค้ดจะออกมาเป็นยังไงครับ
ลองดูคลิปนี้ครับ th-cam.com/video/MI7a2clr1Ks/w-d-xo.html
มีไฟล์ไหมครับ
ไม่มีนะครับ ยังไงลองทำตามคลิปไม่ยากครับ
Private Sub Cm2_Click()
Dim Det1 As Date
Det1 = CDate(Me.D1.Value)
Me.SF1.Form.FilterOn = False
Me.SF1.Form.Filter = "T1.[Date1] = #" & Det1 & "#"
Me.SF1.Form.FilterOn = True
End Sub
ทำไมเวลาใส่แล้วกรองวันที่ไม่ได้ครับ เหมือนมันไม่อ่าน ตัวแปร Det1 เลยครับ คือผมต้องการจะ กรองแต่วันที่ครับ แต่่าพอกดปุ่มไปแล้ว กลับไม่มีผลออกครับ แต่เวลา พิม #7/7/2018# กลับได้ครับ โดยที่ไม่ได้ใช้ "#" & ตัวแปร & "#"
ลองเปลี่ยนเป็นอย่างนี้ดูว่าใช่ได้ป่าวครับMe.SF1.Form.Filter = "T1.[Date1] = CDate('" & Det1 & "')"
ถ้าเราไม่ได้เชื่อมreration shipไว้แต้เชื่อมด้วย lookup wizard เราสามารถใช้วิธีเดียวกับอาจารย์ได้ไหมคะ
ไม่เคยลองนะครับ แต่คิดว่าน่าจะได้เหมือนกันครับ