แสดงกระทู้

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

หน้า: 1 2 3 4 [5]
73
ขอบคุณ คุณ ekppom กับคลิปความรู้นะครับ ติดตามครับ
โพสต์นี้ได้รับคำขอบคุณจาก: ekppom, Ongart

74
อ.สันติสุข ช่วยขยายความได้ไหมครับ ที่ว่า "เมื่อมีการ Compact ฐานข้อมูลแล้ว ค่าของฟิลด์ Autonumber จะถูกจัดเรียงใหม่ให้ต่อเนื่องกันไปโดยไม่สนใจค่าเดิม" มันจะเกิดขึ้นกรณีไหนบ้างครับ นี่คือความรู้ใหม่ของผมเลยอะครับ เพราะเท่าที่ทราบ การ Compact จะทำให้ฟิลด์ AutoNumber รันลำดับใหม่แค่เรคคอร์ดสุดท้าย ให้ต่อเนื่องกันเท่านั้นเอง ไม่ได้ไปเรียงเรคคอร์ดใหม่ที่มีค่าอยู่แล้วหนิครับ แล้วในฐานข้อมูล Northwind ของทางไมโครซอฟเองก็ใช้ฟิลด์ AutoNumber ในการเชื่อมความสัมพันธ์กันแทบทุกตารางเลยครับ เลยอยากขอความเห็นของอาจารย์หน่อยครับ ว่ากรณีไหนบ้าง?
ปล. ขออภัยหากอ่านความหมายของ อาจารย์ผิดไปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Ongart

75
ทำเหมือนเดิม แต่ให้เปลี่ยน Event เป็น On KeyPress แล้วใช้โค้ดตามนี้ครับ

Private Sub INVOICE_KeyPress(KeyAscii As Integer)
    If KeyAscii = 32 Then
        KeyAscii = 0
    End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

76
ห้อง MS Access / : สร้าง QR Code
« เมื่อ: 26 พ.ค. 61 , 13:42:56 »
จริงๆแล้วไฟล์ DLL ตัวนี้ ผมใช้กับโปรแกรมอื่นที่รองรับ มันสามารถแสดงเป็นภาษาไทย หรือ ญี่ปุ่นได้หมดนะครับ แต่พอมาใช้กับ MS Access มันกลับใช้ได้แค่ภาษาอังกฤษเท่านั้นครับ ยังไม่ทราบว่าเพราะอะไร สงสัยว่าอาจเป็นที่ตัว VBA ของ MS Access เองครับ
คราวนี้ผมเคยอ่านเจอกระทู้เก่ากระทู้นึงของคุณ kamsuk เป็นโค้ดที่รองรับภาษาญี่ปุ่นได้ ไม่ต้องใช้ไฟล์ไลบารี่หรือฟอนต์ใดๆ เขียนโค้ดอย่างเดียว แต่สามารถใช้กับรายงานเท่านั้น ไม่สามารถแสดงบนฟอร์มได้ ยังไงรองศึกษาดูที่กระทู้นี้ครับ https://www.thai-access.com/yeadram_view.php?topic_id=5576


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

77
ห้อง MS Access / : สร้าง QR Code
« เมื่อ: 16 พ.ค. 61 , 15:51:06 »
คือจะประมาณว่า ถ้าโปรแกรม MS Access เป็นแบบ
32bit ให้ใช้ไฟล์ QRCode_x86.dll
64bit ให้ใช้ไฟล์ QRCode_x64.dll
ไม่เกี่ยวกับ Windows ครับ Windows จะเป็น 32bit หรือ 64bit ก็ได้ แต่ทว่า โฟลเดอร์ระบบมาตรฐานของ Windows 32bit กับ 64bit มันใช้โฟลเดอร์คนละตัวกันคือ
Windows 32bit เราต้องก๊อปปี้ใส่ในโฟลเดอร์ Windows\system32
Windows 64bit เราต้องกีอปปี้ใส่ในโฟลเดอร์ Windows\sysWOW64

สรุปคือ: ถ้าคุณใช้ MS Access 64bit ให้ก๊อปไฟล์ QRCode_x64.dll ไว้ใน Windows\sysWOW64 ได้เลย (เพราะ Access 64bit ต้องใช้ Windows 64bit อยู่แล้ว) แต่หากคุณใช้ MS Access 32bit ต้องดูว่ารันบน Windows 32bit หรือ 64bit ถ้า Windows เป็น 32bit ก็ใช้ไฟล์ QRCode_x86.dll ก๊อปปี้ใส่ในโฟลเดอร์ Windows\system32 แต่หากรันบน Windows 64bit ก็ก๊อปปี้ไฟล์ QRCode_x86.dll ใส่ในโฟลเดอร์ Windows\sysWOW64 แทนครับ

ปล. จริงๆแล้วมันสามารถเขียนโค้ดให้รัน Dll ไฟล์จากในโฟลเดอร์ที่เรากำหนดได้เลยโดยไม่ต้องไปก๊อปใส่เครื่องให้ยุ่งยาก รวมทั้งฟอนต์ด้วย แต่ต้องใช้การเขียนโค้ดอีก ซึ่งมันจะยืดหยุ่นกว่ามาก ไม่ต้องทั้งเพิ่มฟอนต์ QRCode และ ไฟล์ dll ลงในเครื่องเลย สามารถเรียกรันในโฟลเดอร์เดียวกับฐานข้อมูลเราได้เลย แต่มันต้องเขียนโค้ดอีกพอสมควร ในคลิปที่ผมทำเน้นความง่าย เลยไม่ได้ทำในส่วนนี้ให้ดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, sjs, Earth

78
คือหากจะใช้ QR ในการแสดงรายละเอียดแทนก็ได้ครับ เช่นในการส่งซ่อมเราก็เขียนรายละเอียดแบบไม่ต้องมากนะครับ เพราะ qr จะใหญ่ เสร็จแล้วก็ Gen เป็น QR Code
ส่วนการอ่านรับของซ่อม ก็ใช้เครื่องยิ่งบาร์โค้ดที่เป็นรุ่นที่อ่าน qr ได้ ส่วนใหญ่จะเป็นแบบ ccd ซึ่งราคาแพงกว่าเครื่องธรรมดา หลักหลายพันขึ้น เราก็สามารถอ่าน qr code ได้ทั้งจากกระดาษ และ หน้าจอมือถือก็ได้ แค่คนส่งซ่อมนำมือถือถ่ายภาพ qr code มา เรา Scan จากมือถือก็รู้รายละเอียดได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: chaoclub

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

80
ห้อง MS Access / > ซ่อน Page Header
« เมื่อ: 06 มี.ค. 61 , 10:55:22 »
Me.Section ต้องไม่มี s ต่อท้าย ไม่ใช่หรือครับ ส่วนชื่อ PageHeaderSection ต้องเป็นชื่อของพื้นที่ ที่เราจะทำการซ่อน เช่นถ้าเราต้องการซ่อนพื้นที่ในส่วนของ Header ก็คล๊กที่พื้นที่ Header นั้น ในมุมมองออกแบบ แล้วดูที่ Property > Other > Name ว่าใช้ชื่อว่าอะไรก็ใส่ให้ตรงกับชื่อนั้น ส่วนการเทียบ Page = Pages เราจำเป็นต้องสร้าง Control Text Box ขึ้นมา โดย Control Source กำหนดเป็น [Pages] จะแสดงหรือไม่ก็ได้แต่ต้องมี เพื่อให้การนับหน้าทั้งหมดทำงาน เราถึงจะเทียบค่ากับหน้าปัจจุบันได้จริง ประมาณนี้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

81
ก็ต้องวางแผนฐานข้อมูลก่อนนะครับ ว่าจะเชื่อมโยงข้อมูลกันหรือไม่ ถ้าแยกร้านกันไม่ต้องเชื่อมโยงข้อมูลกันก็ไม่มีปัญหาใช้ตามความถนัดไปก่อนได้ แต่ถ้าต้องการเชื่อมโยงข้อมูลกันก็ควรใช้เป็นฐานข้อมูล SQL Server หรือ My SQL หรืออื่นๆหลายค่าย (ต้องศึกษาดู ส่วนตัวผมใช้แต่ SQL Server) โดยการใช้งานผ่านทาง Web Browser  น่าจะง่ายที่สุดแล้ว โดยหาคนที่เขียน Web application เป็นก็สามารถทำได้ครับ ส่วนเรื่องข้อมูลเก่าใน MS Access เราสามารถ Export ไปที่ SQL Server (ในกรณีใช้ SQL Server นะครับ ค่ายอื่นๆ ก็ได้ แต่ไม่แน่ใจในวิธีการทำ) ได้ครับ ยกเว้นฟิลด์ที่ไม่ใช้มาตรฐานของฐานข้อมูลจริงๆ อย่าง Attachment ถ้ามีก็ต้องเปลี่ยนรูปแบบการจัดเก็บใหม่
สรุป ลองปรึกษาคนที่รับเขียนเว็บครับ ยิ่งปัจจุบันเค้าสามาถเขียนเป็นแอฟรองรับมือถือได้ด้วยทำให้ใช้งานได้หลาย Device อีกต่างหาก
โพสต์นี้ได้รับคำขอบคุณจาก: laemthong

82
สมมุติตารางคุณชื่อ Table1

1. ใส่ฟังก์ชั่นนี้ลงใน Module
โค๊ด: [Select]
Function ConcatRelated(expression$, domain$, criterial$)
    Dim db As DAO.Database
    Dim rs As Recordset
    Dim SQLCmd As String
    Dim ConCat As String
 
    Set db = CurrentDb()
    SQLCmd = "SELECT " & expression$ & " FROM " & domain$ & " WHERE " & criterial$
    Set rs = db.OpenRecordset(SQLCmd)
 
    If Not rs.EOF Then
        rs.MoveFirst
    End If
 
    Do While Not rs.EOF
        ConCat = ConCat & rs(0) & ", "
        rs.MoveNext
    Loop
   
    If ConCat & "" <> "" Then
        ConcatRelated = Left(ConCat, Len(ConCat) - 2)
    End If
    rs.Close: Set rs = Nothing: Set db = Nothing
End Function

2. สร้างคิวรี่ใหม่ เขียน SQL ดังนี้:
โค๊ด: [Select]
SELECT Table1.[รหัสใบสั่งซื้อ], ConcatRelated("รายการ","Table1","รหัสใบสั่งซื้อ=" & [รหัสใบสั่งซื้อ]) AS รวมรายการ
FROM Table1
GROUP BY Table1.[รหัสใบสั่งซื้อ];

ประมาณนี้ ปรับใช้ดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Peak21, Jieng2021

หน้า: 1 2 3 4 [5]