สมัครสมาชิก

แสดงกระทู้

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

หน้า: [1]
1
โดยทั่วไป Ms Access จะใช้โค้ดสีที่ต่างจากพวก > Hex / RGB / MS Access Color Values link
แต่สามารถกำหนดใช้เป็น RGB ได้เช่น Me.TextBox.BackColor = RGB(255, 255, 255) เป็นต้น

ดังนั้นการที่จะนำโค้ดสีที่เป็น Hex มาใช้ได้ก็ต้องแปลงให้กลายไปเป็น RGB ก่อนด้วย Module ตัวอย่างของท่านปิ่นณรงค์
หรือ > https://stackoverflow.com/questions/40588470/setting-access-colour-codes-in-vba/50523021#50523021 link
โค๊ด: [Select]
Public Function Color_Hex_To_Long(strColor As String) As Long
    Dim iRed As Integer
    Dim iGreen As Integer
    Dim iBlue As Integer

    strColor = Replace(strColor, "#", "")
    strColor = Right("000000" & strColor, 6)
    iBlue = Val("&H" & Mid(strColor, 1, 2))
    iGreen = Val("&H" & Mid(strColor, 3, 2))
    iRed = Val("&H" & Mid(strColor, 5, 2))

    Color_Hex_To_Long = RGB(iRed, iGreen, iBlue)
End Function

หรือ > https://stackoverflow.com/questions/51292169/how-to-set-background-of-a-form-to-a-hexidecimal-color-in-ms-access-vba link
ซึ่งวิธีนี้สามารถแปลงออกมาได้เลยไม่ต้องใช้โมดูล ผมจึงขอนำไฟล์ตัวอย่างของท่านปิ่นณรงค์มาทดสอบได้ผลตามไฟล์ตัวอย่างครับ
โค๊ด: [Select]
Me.Detail.BackColor = RGB("&H" & Left$(s, 2), _
                          "&H" & Mid$(s, 3, 2), _
                          "&H" & Right$(s, 2))
โค๊ด: [Select]
Me.Detail.BackColor = "&H" & Right$(s, 2) & Mid$(s, 3, 2) & Left$(s, 2)
โพสต์นี้ได้รับคำขอบคุณจาก: sjs, สันติสุข, Kxess, nikorn

2
สวัสดีครับ
เริ่มแรกในรูปแบบผมมองออกไปเป็นแนวการเหมือนทำแบบฟอร์มกรอกที่อยู่แล้วใส่รหัสไปรษณีย์ให้อัติโนมัติ ซึ่งก็จะมีการทำเทเบิ้ลเพื่อแยกแต่ล่ะส่วน(tb_geography,tb_province,tb_amphur,tb_district)ใว้ก่อน
ดังนั้นการที่จะมีชั้นลึกเข้าไปอย่างไม่จำกัดคงจะเป็นไปไม่ได้ ยกเว้นว่าจะออกแบบให้มีเทเบิ้ลเปล่ารอใว้ก่อนตามจำนวนที่คิดว่าจะลึกเข้าไปไม่เกินนี้(และโปรแกรมรองรับด้วยอ่านะ)
โดยในแต่ล่ะเทเบิ้ลนั้นก็ต้องมีการอ้างถึงเทเบิ้ลชั้นก่อนหน้าด้วยเช่น ตำบลนี้ อยู่ในอำเภอนี้ จังหวัดนี้ และภูมิภาคนี้ เป็นต้น เท่ากับว่าถ้าข้อมูลลึกลงไป100ชั้น ในเทเบิ้ลชั้นที่100ก็จะมีการผูกว่าเกี่ยวข้องกับใครบ้างในเทเบิ้ลตั้งแต่ 1-99เลย


ที่นี้เมื่อจะมีการเพิ่มข้อมูลลงไป เช่นว่ามีภูมิภาคใหม่ก็ทำฟอร์มลิ้ง tb_geography เพื่อเพิ่มข้อมูลลงไปตรงๆได้เลย
ถ้าจะเพิ่มตำบลล่ะโอเครว่าลิ้ง tb_district แต่ก็ต้องมีการให้ไล่ใส่ข้อมูลมาตั้งแต่ต้นด้วยว่าอยู่ในภูมิภาค->จังหวัด->อำเภออะไร เป็นต้น :shout:
แต่นี้คือมีการระบุ/คิดใว้ล่วงหน้าก่อนแล้วว่าข้อมูลที่จะเพิ่มเข้าไปนั้นอยู่ในชั้นไหนต้องเปิดฟอร์มใดเพื่อมาเพิ่มข้อมูลนั้นๆ หรือจะให้เป็นว่าเมื่อเปิดดูรายการใดๆแล้วให้แสดงรายการย่อยด้านล่างในฟอร์มย่อยแล้วให้สามารถเพิ่มรายการใหม่สดๆลงไปได้เลยลองหาวิธี,หาแนวทางทำดูครับ

ขอจบแนวทางเบื้องต้น(ประสาคนผ่านมาเห็น)ใว้เพียงเท่านี้ครับ :meaw:
โพสต์นี้ได้รับคำขอบคุณจาก: bgfc

3
อ้างถึง
ไม่ให้ช่องภูมิภาคเป็นช่องหลัก , เลือกจังหวัดเสร็จ > ช่องภูมิภาคขึ้นมาให้เลย
ผมขออนุญาตนำไฟล์ของ อ.ปิ่นณรงค์ ไปแก้นะครับ โดย
• เปลี่ยนช่องเลือกภาค(Cb_geography) เป็น TextBox
• จังหวัด
  - column count = 3 , column widths = 0cm;2cm;0cm
  - Data > Row Source =
โค๊ด: [Select]
SELECT tb_province.province_id, tb_province.Province_th, tb_geography.GEO_NAME FROM tb_province INNER JOIN tb_geography ON tb_province.geo_id = tb_geography.GEO_ID;
  - VB ในส่วนของ cb_province_AfterUpdate เพิ่ม     
โค๊ด: [Select]
Me.Cb_geography = cb_province.Column(2)
ปล.ผมก็...เอาอ่านะลองดูจากไฟล์เลยครับ :prettiness:
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์, buakird

4
ห้อง MS Access / : การใช้คำสั่ง iifซ้อน iif
« เมื่อ: 09 ธ.ค. 61 , 13:21:46 »
ต้องใส่ลูกน้ำคั่นวงเล็บปิดด้วยใหมครับนั้น ตย.ที่ผมใช้ =IIf([do_T15]=True,IIf([15_ราคา2]<>"",[15_ราคา2]+[15_ราคา],"0"),"0")
ปล.ถ้าใช้ ),),),),),),),),),),) คือมันไม่มีอะไรอยู่ข้างในมันจะแปลงร่างให้เป็น ))))))))))) ตามเดิมอยู่ดี ลองเป็น ,[%Efficiancy]),[%Efficiancy]),... แทนดูได้ใหมครับ :sweat:

โค๊ด: [Select]
Eff20Auto:
IIf(Not IsNull([Eff20]),[Eff20],
IIf(Not IsNull([Eff19]),[Eff19],
IIf(Not IsNull([Eff18]),[Eff18],
IIf(Not IsNull([Eff17]),[Eff17],
IIf(Not IsNull([Eff16]),[Eff16],
IIf(Not IsNull([Eff15]),[Eff15],
IIf(Not IsNull([Eff14]),[Eff14],
IIf(Not IsNull([Eff12]),[Eff12],
IIf(Not IsNull([Eff11]),[Eff11],
IIf(Not IsNull([Eff10]),[Eff10],
IIf(Not IsNull([Eff9]),[Eff9],[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
,[%Efficiancy])
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

5
ขอแนะนำนอกเรื่องว่า"พยายามไม่ตั้งชื่อกล่องข้อความหรืออะไรก็แล้วแต่เป็นภาษาไทยนะ" :prettiness:

(มือใหม่) อ่านซักนิดถ้าคิดจะใช้ Access ตอนที่ 1- ภาษาไทยใน Access By อ.OddyWriter
โพสต์นี้ได้รับคำขอบคุณจาก: alundc45

6
ลองเป็นวิธีนี้ใหมครับ > วิธีเลือกเครื่องปริ้นแบบเจาะจง
โพสต์นี้ได้รับคำขอบคุณจาก: pitakchan

7
ห้อง MS Access / : การ run number โดยไม่ใช้ autonumber
« เมื่อ: 28 มิ.ย. 61 , 11:55:49 »
หรือลองดูแนวทางครับ ผลการค้นหา AutoNo = Format
โพสต์นี้ได้รับคำขอบคุณจาก: siri

8
Nz คือฟังก์ชั่นในการกำหนดว่าเมื่อค่าในตัวแปลที่1 มีค่าเท่ากับ Null หรือก็คือว่างไม่มีค่าอะไรเลยให้มีค่าเท่ากับตัวแปลที่2

ดังนั้น Nz(Me.Amount, 0) จึงเป็นการกำหนดว่าเมื่อ Me.Amount ว่างให้มีค่าเท่ากับ 0

หมายเหตุ ทุกการคำนวนของโปรแกรมต้องมีค่า จะมา 1+2+Null+4 ไม่ดี,ไม่ควร(หรือจะใช้ไม่ได้ด้วยซ้ำไปครับ) :dizzy: 
            เมื่อใช้ Nz มาช่วยจะกลายเป็น 1+2+0+4 โปรแกรมจึงจะหาผลลัพธ์(=7)ให้ครับ
            หรือจะเอาไปประยุกต์ใช้อย่างอื่นนอกเหนือจากแนวคำนวนก็ได้นะ https://www.techonthenet.com/access/functions/advanced/nz.php link
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์, Tae Songvut, สุรเกตุ แซ่เอี้ย

9
ห้อง MS Access / : สร้าง runing number บนฟอร์ม
« เมื่อ: 22 พ.ค. 61 , 14:34:15 »
ใน query ที่ดึงออกมาตามรูปนั้นมีข้อมูลอื่นที่เป็นข้อมูลที่ไม่มีค่าซ้ำเช่น เลขที่บิล,เลขที่... อีกใหมถ้ามีในมุมมองออกแบบใส่มันเข้ามาแล้วไม่อยากให้ใครเห็นค่อยไปสั่งซ้อนในมุมมองแผ่นข้อมูลก็ได้
หรือไม่มีข้อมูลอะไรที่ไม่มีค่าซ้ำกันถ้าจะทำตามวิธีนี้ก็ไปทำให้มีครับ


จากนั้นในกล่อง No ตามรูปใส่โค้ด
โค๊ด: [Select]
=GetLineNumber([Form],"Bill_no",[Bill_No])

ก็จะได้เลข No โดยอัตโนมัติ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

11
> ออกแบบรายงาน(Report)บนขนาดกระดาษ A6
> ออกแบบรายงาน(Report)บนขนาดกระดาษ A4 แต่ให้มีเนื้อหาจริงๆแค่ครึ่งของกระดาษ A4 แนวตั้ง (ถ้ามีการทำหัวท้ายด้วยที่จบครับ :ouch:)
> รายงานเดิมสั่งปริ้นเป็น PDF > เปิดไฟล์ PDF สั่งปริ้นบนขนาดกระดาษ A6 (โปรแกรมจะทำเหมือนย่อรูปให้เอง :cool:)


คิดง่ายๆแนวคนไม่เก่งอ่านะ
โพสต์นี้ได้รับคำขอบคุณจาก: mookda16

12
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ

เว็บบอร์ดแห่งนี้มีใว้เพื่อแบ่งปันความรู้,แนวความคิด,ปัญหา,แนวทางแก้ปัญหา,ฯลฯ โพสต์ได้ไม่ต้องเกรงใจครับ :grin:
แค่ว่าโพสต์แล้วคำตอบตรงปัญหา,แก้ปัญหาได้ขนาดไหน ตรงใจหรือเปล่านั้นค่อยว่ากันครับ :shout: :shout: :shout:


@ เขียนคำถามให้ผู้ตอบเข้าใจ จะช่วยให้ผู้ถามได้คำตอบที่ชัดเจน และรวดเร็ว / @ คุณได้คำตอบที่ต้องการแล้วหรือยัง กลับมาอีกสักครั้งเพื่อแจ้ง ผู้ตอบ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์, royaltool

13
 :vomit: ใจเย็นๆครับผู้ตอบมีไม่กี่ท่าน  :cool:
เมื่อ Status  |  ให้ Final
AA
A,DA
A,C,DA
DD
C,DD
P,DP

อืมเห็น Code - 004 มี Status A กับ P จะให้ Final เป็นอะไรครับ :want:

ปล.แค่มาช่วยถามนะ ไม่ได้ช่วยหาคำตอบ
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

14
โปรแกรมสำเร็จรูปพร้อมใช้งาน เขาก็เขียนให้ซ้อนเมนูไม่ต้องแสดงออกมาให้คนใช้ไปกดเล่นนะครับ :shout:
โพสต์นี้ได้รับคำขอบคุณจาก: laemthong

15
ห้อง MS Access / > เปลี่ยนแป้นภาษาด้วย VB
« เมื่อ: 26 มี.ค. 61 , 10:13:02 »
> คีย์บอร์ดไม่มีปุ่มเปลี่ยนภาษาเหรอครับ
> ตั้งค่าให้เมื่อมาใช้ textbox1 ให้เปลี่ยนภาษาตั้งต้นเป็นภาษาอังกฤษได้ตามรูป (ถ้าจะพิมพ์ไทยก็กดปุ่มเปลี่ยนภาษา~)


> เขียนฟังก์ชั่นให้ "*" เป็นปุ่มเปลี่ยนภาษาแล้วให้ textbox1 เรียกใช้งานฟังก์ชั่นนั้นอีกที (ได้หรือไม่,ทำอย่างไรรอดูกันต่อไปครับ :smile:)
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

หน้า: [1]