แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 6
1
ห้อง MS Access / : Textbox ถ้าค่าแสดงเป็น #TYPE!
« เมื่อ: 28 ก.ย. 64 , 10:42:43 »
ลองใช้คำสั่ง IIF ร่วมกับ ISERROR ดูครับ โดยกำหนดว่า ถ้า Error ให้แสดงเป็น ""
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

2
https://docs.microsoft.com/en-us/office/vba/api/access.docmd.movesize link
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

3
Toggle Button ต้องใช้ร่วมกับ Option Group

วิธีการคือ
1. กำหนด Control Source ให้ Option Group
2. ตั้ง Default เป็นค่าในปุ่มแรก



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

4
ห้อง MS Access / : เปิดฟอร์มแล้ว ...
« เมื่อ: 09 เม.ย. 64 , 09:59:27 »
1. เปิดฟอร์มแล้วให้ซ่อนหน้าต่างนำทาง โค้ดอย่างไรครับ
2. เปิดฟอร์มแล้วให้ขอบซ้ายของฟอร์มชิดขอบหน้าต่าง (ตอนนี้หน้าต่างมันอยู่กึ่งกลาง) กำหนดตรงไหนครับ
ข้อ1 ใส่ใน Event Form_Load ก็ได้ครับ

    Private Sub Form_Load()
    DoCmd.ShowToolbar "Ribbon", acToolbarNo  'ซ่อน Ribon ด้านบน
    DoCmd.NavigateTo "acNavigationCategoryObjectType"
    DoCmd.RunCommand acCmdWindowHide  'ซ่อนหน้าต่างนำทาง
    End Sub

ข้อ2
1.ประกาสตัวแปลไว้บนสุดของคำสั่ง
    Public FrmTop  As Long
    Public FrmLeft As Long

2.ที่ Event Form_Activate() ใส่โค๊ดนี้เข้าไป
    Private Sub Form_Activate()
    FrmTop = Forms![ชื่อฟอร์ม].WindowTop
    FrmLeft = Forms![ชื่อฟอร์ม].WindowLeft
    FrmTop = Me.WindowTop
    FrmLeft = Me.WindowLeft
    End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

5
ลืมนึกถึงเรื่องนี้ไปเลย
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

6
จากการไล่ดูพบว่าในบางตารางท่านมีการใช้ชื่อฟิวล์เป็นภาษาไทยครับ เช่น คิวรี่ ManCustomer เชื่อมตาราง CodePAT ในนั้นมีฟิวล์ภาษาไทย
แต่ลองแก้ชื่อฟิวล์ภาษาไทยในทุกตารางแล้วก็ยังใช้ไม่ได้ จึงดึงข้อมูลทั้งหมดไปใส่ในไฟล์ใหม่ถึงจะใช้งานได้ครับ

สรุปที่ผมแก้คือ แก้ชื่อฟิวล์ภาษาไทยในทุกตารางเป็นภาษาอังกฤษ(a1,a2,a.../c1,c2,c...) --> สร้างไฟล์ใหม่แล้วดึงตาราง,คิวรี่,หน้าฟอร์มไปใส่ = combo box ทุกตัวขึ้นรายการตามที่พิมพ์
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

7
ดูแล้วก็น่าจะเกิดปัญหาอย่างที่เจออยู่ตอนนี้ครับ เพราะ Row Source ของ Combo Box อันนี้ หยิบมาจากคิวรีที่ซับซ้อน
เวลาสั่งให้แสดงผล มันก็ทำงานไม่ทัน มันก็เลยไม่ทำ


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

8
บันทึก เปิดใหม่ ใช้ไม่ได้แล้วครับ
แต่ถ้าเปิดใหม่มาแล้วสร้าง combo box ใหม่ จะใช้ได้ครับ ทำวนไป

แต่สังเกตว่าเวลาเราพิมพ์ข้อความลงไปแม้ว่าจะพิมพ์ถูกต้องครบทุกตัวอักษร แต่มันก็แจ้งว่าข้อความที่พิมพ์ไม่ตรงถูก ต้องเลือกเท่านั้น
งงจริงครับ -..-



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

9
ผมก็ลองทำหน้าฟอร์มเปล่าๆขึ้นมาใหม่เหมือนกันบางทีก็ได้แต่สุดท้ายก็ไม่ได้ / ลองไปไล่ใส่ References ใน VB ดูก็ยังไม่ได้  :question:
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

10
สาเหตุ ไม่ทราบจริง ๆ

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

งงสิครับ 555

รอท่านอื่นครับ ผมอยากรู้เหมือนกัน



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






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

11
ลองหัดเล่นแบบผู้ศึกษามือใหม่ ผมมีข้อมูลที่เป็น Queries ที่สร้างเปรียบเทียบค่าความต่างเช่นผลรวมของสินค้า ระหว่างข้อมูล 2 Table แล้ว แล้วจะเอาข้อมูลอีก Table มาชนข้อมูลที่เป็น Queries นี้ ก็จะเป็น ข้อมูลอีก Queries นึง พอเสร็จแล้ว จะแก้ไขข้อมูล ในฝั่ง Table มันไม่สามารถแก้ไขแล้ว แม้ตั้ง Recordset Type:Dynaset (Inconsistent Updates) ขอรบกวนอาจารย์ด้วยครับ ผมมือใหม่หากถามไรผิดไปขออภัยด้วยครับ ศึกษาแบบ ลูกทุ่งจริงๆ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

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

13
วิธีเบื้องต้นที่ผมทราบคือเรากดที่ปุ่มลูกศร▼ของ combo box ก็จะกรองรายการเบื้องต้นมาให้เราเลยครับ(กดก่อนพิมพ์จะเห็นผลตามว่าครับ)
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

14
ห้อง MS Access / : Code ใช้งานไม่ได้
« เมื่อ: 21 มี.ค. 64 , 13:57:53 »
ไฟล์ใหญ่ไหมครับส่งมาผมลองเปิดดู error หน่อย
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

15
ห้อง MS Access / : ลบ Code เราเฉยเลย
« เมื่อ: 20 มี.ค. 64 , 12:17:37 »
ปัญหานี้เรียก corruption (เป็นปัญหาร้ายแรงเหมือนการเมืองเลย 555)
ผมเจอมาหลายครั้ง
สาเหตุ ทั้งหมดเกิดจาก network error คือ ผมเก็บ back-end กับ front-end (accde) ไว้คนละที่ พอ network ใช้งานไม่ได้ /หรือช้ามาก โปรแกรมค้างเลย (ไม่ได้เกิดทุกครั้ง) โดยเฉพาะตอนแก้ไข code vba
ส่วนสาเหตุอื่นที่เคยอ่านเจอ ก็เปลี่ยน versions MS 32-64 bit
เมื่อเกิดปัญหาแล้วแก้ไม่ได้
ดังนั้น ทุกครั้ง ก่อนแก้ไขโปรแกรมควร Backup ก่อนทุกครั้ง

ลองศึกษาจากนี่ดูครับ

http://allenbrowne.com/ser-25.html link (prevent corruption)
http://allenbrowne.com/ser-47.html link (fix corruption)


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

16
ห้อง MS Access / : ลบ Code เราเฉยเลย
« เมื่อ: 19 มี.ค. 64 , 15:14:42 »
เรื่องนี้มักเกิดจากไฟล์ข้ามเวอร์ชั่น หรือข้ามแพลตฟอร์ม (เช่นจาก 64 บิตเป็น 32 บิต) ซึ่งถ้า Code ไหนที่ Access เวอร์ชั่นที่เปิดล่าสุดไม่รู้จัก มันจะลบให้เลย (เกลียดมันก็ตรงนี้แหละ) เคยเจอมาตอน เปลี่ยน Access 2003 เป็น 2016
วิธีการแก้ไข ไม่มีครับ เพราะมันหายแล้วหายเลย

แนะนำว่าให้เปิดด้วยเครื่องที่ไม่มีปัญหา แล้ว Save ตัว VBA ออกมาก่อน จากนั้นค่อยๆ ใส่กลับเข้าไปในเครื่องใหม่ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

หน้า: [1] 2 3 4 ... 6