แสดงกระทู้

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 ... 9 10 11 [12] 13 14 15 ... 17
199
ผมว่ามันเป็นเรื่องใหม่นะครับ ตั้งกระทู้ใหม่เถอะครับ
ได้ครับ ขอบคุณครับ

200
ที่ Event: On mouse up ให้ใส่ Code นี้เข้าไปครับ


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Me.ชื่อฟิลด์ที่ต้องการซ่อน.ColumnHidden = False Then
    Me.ชื่อฟิลด์ที่ต้อกงารซ่อน.ColumnHidden = True
End If
End Sub

Unhide ได้แป๊บเดียว(ประมาณ 1-2 วินาที)  ก็จะกลับไปซ่อนใหม่ทันที

ถ้ามีหลายฟิลด์ก็เหนื่อยหน่อยนะ
อ้อ! ใช้ได้เฉพาะ Datasheet View เท่านั้นนะครับ
ตามที่อาจารย์แนะนำ ผมลองทำดูแล้วก็ทำงานตามที่อาจารย์บอกครับ แต่ก็ยังไม่ได้ตรงตามจุดประสงค์ของผม แต่ไม่เป็นไรครับผมคงไม่ไป protectหรือ hide อะไรมากมายแล้วครับ

201
แต่ผมจะทำsum ของฟิวด์ที่จะซ่อนไว้บนส่วนหัวฟอร์ม ถ้าไม่query ฟิวด์นั้นมาด้วยก็จะsumไม่ได้อะครับ

202
รบกวนสอบถามครับ ว่าในฟอร์ม access ในแบบ splite form หรือ มุมมองแบบ data sheet ถ้าเราต้องการ disableหรือlock เมนู hide/unhide column เราสามารถทำได้หรือเปล่าครับ พอดีว่าผมมีบางcolumm ที่อยาก hide ไม่อยากให้ทางผู้ใช้เห็นอะครับ

203
ถ้าอาจารย์แนะนำว่ามันค้ากับหลักการ access ผมว่าผมไม่ทำดีกว่ากลัวมีปัญหาทีหลังครับ เดี๋ยวลองหาแนวทางแบบอื่นดู อีกอย่างที่อาจายร์แนะนำวิธีมาผมดูแล้วว่าผมไม่น่าทำได้ครับ 555 ขอบคุณมากๆเลยครับ

204


จากรูป
- ฟอร์มหลักชื่อ POH จากตารางชื่อ POH
- ฟอร์มย่อยชื่อ POD Subform จากตารางชื่อ POD
ทั้ง2ตาราง link กันด้วยฟิวด์ที่ชื่อ PONumber ครับ

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

205
ลองแล้วไม่ทราบว่าผิดตรงไหนครับอาจารย์ รบกวนช่วยอธิบายคำสั่งให้หน่อยนะครับ ว่า POD แต่ละตัวในวงกลมคืออะไรบ้างครับ ใช่ชื่ิอของตารางฟอร์มย่อยทั้งหมดเลยหรือเปล่าครับ


206
รบกวนสอบถามอาจารย์ทุกท่านครับ ตามรูป



ผมต้องการกดปุ่ม"ลบใบสั่งซื้อ" บนฟอร์มหลักแล้วให้ลบข้อมูลในฟอร์มย่อยด้วย จะต้องเขียน code ยังไงครับ โดยข้อมูลมีดังนี้ครับ
- ฟอร์มหลักชื่อ POH จากตารางชื่อ POH
- ฟอร์มย่อยชื่อ POD Subform จากตารางชื่อ POD
ทั้ง2ตาราง link กันด้วยฟิวด์ที่ชื่อ PONumber ครับ




207
รบกวนสอบถามครับ ผมสร้างหน้า report ใน access แต่ตอน export to excel ทำไมมันสลับ column กันไปหมดครับ แก้ไขยังไงได้บ้างไม่อยากสร้าง report ใหม่เลยครับ


208
ผมเคยทำคลิปตอบคำถามแนวๆนี้ ไม่รู้ว่าพอช่วยเป็นแนวทางได้หรือไม่นะครับ ลองดูแล้วกัน

ดูแล้วยังไม่ใช่ครับอาจารย์ คือต้องการตัวกรอง เหมือนแบบ data sheet หรือแบบ excel ที่มีกรองแต่ละcolumn ประมาณนั้นครับ

209
ทำได้แล้วครับ ขอบคุณ คุณOddyWriter ผมจะนำไปเป็นแนวทางในการ Design ในครั้งต่อไปนะครับ,ขอบคุณคุณ PookPuy และคุณ pizza_p มากครับ เพราะผมออกแบบมาเป็นลักษณะนี้แล้วเลยใช้วิธีของท่านทั้งสองก่อนครับ

210
ตามที่คุณ PookPuy ตอบมาเลยครับ กรณีที่มี combobox แล้วตัว combobox มีการ populate data มาจากตารางที่ต้องการอยู่แล้ว แล้วจะกำหนดให้ฟิลด์อื่นๆมีค่าตาม data ใน combobox ก็แค่เพียงกำหนดให้ฟิลด์นั้นมีค่าเท่ากับ column(0), column(1), column(2)...โดยที่ไม่ได้ต้องไป dlookup ข้อมูลในตารางอีก แต่ผมแนะนำผูกไว้กับ AfterUpdate event

Private Sub StyleNo_AfterUpdate()
       OD#.Value = StyleNo.Column(1)
       Customers.Value = StyleNo.Column(2)
       QtyOrder.Value = StyleNo.Column(3)
End Sub

ปล. ทำไมถึงไม่ bound Table หรือ Query ไว้กับฟอร์มเลย จะได้ให้ Access มันใส่ค่าให้อัตโนมัติ (หรือต้องการเขียนเผื่อสำหรับ upsize ไป MS SQL)
ทำตามที่แนะนำได้แล้วครับ แต่จะรบกวนสอบถามเพิ่มเติมนะครับ เราสามารถกำหนดความกว้างของ column แต่ละตัว ตามรูปได้หรือเปล่าครับ เช่นขยายช่อง StyleNo ให้กว้างขึ้น

211
Private Function FilterOut()
Dim stCriteria As String

stCriteria = IIf(IsNull(Me.[Style No.]), "", "[Style No.] = '" & Me.[Style No.] & "' AND ") & _
                 IIf(IsNull(Me.Buyer), "", "[Buyer] = '" & Me.Buyer & "' AND ") & _
                 IIf(IsNull(Me.[OD#]), "", "[OD#] = '" & Me.[OD#] & "' AND ") & _
                 IIf(IsNull(Me.Currency), "", "[Currency] = '" & Me.[Currency] & "' AND ") & True

Me.SubFormName.Form.Filter = stCriteria
Me.SubFormName.Form.FilterOn = True

End Function

ใน Combobox ทุกอันในช่อง AfterUpdate ให้ใส่ = FilterOut() หรือจะ call FilterOut ใน Sub AfterUpdate event ก็ได้

ปล. พวกชื่อฟิลด์หรือคอนโทรลต่างๆ ให้ตรวจสอบกับชื่อที่ใช้จริงก่อนนะครับ
ผมหมายถึง สมมุติในช่อง Buyer สามารถเลือกได้มากกว่า1รายการครับ เช่น เลือก BENSHERMAN,BOLO,MC อะไรประมาณนี้อะครับ

212
ถ้าเปิดฟอร์มในมุมมอง Datasheet สามารถกำหนด Filter ได้ครับ
ผมไม่สามารถที่จะเปลี่ยนไปใช้มุมมองแบบ data sheet ได้แล้วครับ ด้วยเหตุผลหลายๆอย่างครับ เรื่องของการใช้งานและการแสดงผล จึงจำเป็นต้องใช้แบบ form view ครับ

213
จากรูปตัวอย่าง ผมรบกวนสอบถามครับ ใน combo หากเราต้องการเลือกมากกว่า1รายการเพื่อค้นหา สามารถทำได้หรือเปล่าครับ หรือถ้าไม่ได้ เราสามารถกำหนด sort filter ให้แต่ละcolumn ใน form view ได้หรือเปล่าครับ คล้ายกับใน excel หรือในมุมมอง แบบ data sheet


214
กลับมาแล้วครับอาจารย์ OddyWriter กรณีตามรูป

ผมกำหนด Row source ให้กับ combo StyleNo ทั้งหมด5 column จะเห็นว่า Style GIGAU มีทั้งหมด2รายการ ซึ่งยอดจะไม่เหมือนกัน หากผมต้องการเลือก GIGAU ตัวที่2 ซึ่งยอดเท่ากับ 772.00 จะต้องทำยังไงครับ
ถ้าใช้คำสั่ง
Private Sub StyleNo_AfterUpdate()
[OD#] = DLookup("[OD #]", "[Production]", "[Style]=[StyleNo]")
[Customers] = DLookup("[Buyer]", "[Production]", "[Style]=[StyleNo]")
[QtyOrder] = DLookup("[QTY PCS]", "[Production]", "[Style]=[StyleNo]")
End Sub

มันก็จะได้ยอดของรายการแรกเท่านั้นครับ

215
ห้อง MS Access / > สอบถามการ Link Table
« เมื่อ: 02 มี.ค. 61 , 14:30:45 »
OK ครับ ทำตามที่ท่านNewbiesบอก ได้แล้วครับ ขอบคุณมากๆเลยครับ

216
ห้อง MS Access / > สอบถามการ Link Table
« เมื่อ: 02 มี.ค. 61 , 11:55:33 »
ไม่ฟ้องอะไรเลยครับ ก็กลับมาหน้าให้เลือกเหมือนเดิม ตามรูปเลยครับ

หน้า: 1 ... 9 10 11 [12] 13 14 15 ... 17