Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย

น้อมรำลึกในพระมหากรุณาธิคุณอันหาที่สุดมิได้ พระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดชฯ พระผู้เสด็จสู่สวรรคาลัย

Back to Board : Relation Knowledge New Topic    Reply
ฟังก์ชั่น Barcode (39, 128, EAN-8, EAN-13)

Topic by Message Posted : on : 21/10/2557 21:13:38
TTT  ฟังก์ชั่น Barcode (39, 128, EAN-8, EAN-13)

Barcode39

- เป็น Barcode แบบมาตรฐานธรรมดา ไม่มีการบีบข้อมูลให้แคบลง ทำให้บาร์โค๊ตที่ได้จะมีความยาวมาก
- ลักษณะการแปลงข้อมูลจะเป็นการแปลงแบบตรงๆ โดยใส่เครื่องหมาย * คร่อมที่หัวและท้ายข้อมูลเพียงเท่านั้น เช่น ABC123 = *ABC123*
- อักษรที่รองรับได้แก่: 0-9, A-Z, - + . $ % / SPACE

<วิธีการทำ>

1. ติดตั้งฟอนต์ชื่อ free3of9.ttf ลงในส่วนของ MS Windows โดยคลิ๊กขวาที่ตัวไฟล์ฟอนต์ แล้วเลือกหัวข้อ Install (โหลดไฟล์ฟอนต์ที่นี่ Barcode39.zip)

2. ใส่โค๊ดลงใน Module ดังนี้:

'----------------Function Start----------------
Public Function Code39(c39 As String)
    Dim Counter As Integer    
    If Len(c39) > 0 Then
        c39 = UCase(c39)
        For Counter = 1 To Len(c39)
            Select Case Asc(Mid(c39, Counter, 1))
               Case 32, 36, 37, 43, 45 To 57, 65 To 90
               Case Else
                    MsgBox "Invalid character in barcode string." & vbCrLf & vbCrLf & "Only use 0-9, A-Z, - + . $ % / and the SPACE character", vbCritical
                    Code39 = ""
                    Exit Function
            End Select
        Next
    End If
    Code39 = "*" & c39 & "*"
End Function
'-----------------Function End-----------------

3. บนฟอร์ม หรือ รายงาน ให้สร้าง Textbox ที่ต้องการแสดง Barcode39 โดยกำหนดฟอนต์ให้เป็นชื่อ Free 3 of 9 (ที่ได้ทำไว้ตามข้อ 1 โดยหากไม่พบชื่อให้ปิดโปรแกรม MS Access แล้วเปิดใหม่อีกครั้ง)

4. กรณีใช้งานฟังก์ชั่นโดยการกำหนด Property > Control Source: =Code39([txtCode])
- หรือ หากใช้เป็นแบบเขียนใน VBA: Text1 = Code39("ABC1234567890")
-----------------------------------------------------------------------------------------------

Barcode128 Auto

- Code128 สามารถเข้ารหัสทำให้ข้อมูลแคบลงกว่า Code39 ซึ่งเป็นแบบไม่เข้ารหัส ได้ประมาณ 30%
- Code128 แบ่งเป็น 3 ประเภทดังนี้:

Code128A - ASCII without lowercase characters
Code128B - ASCII without the initial ASCII special characters
Code128C - Numeric

- ส่วนของ Code128 Auto คือ โค๊ดที่รองรับทั้ง Code128 A และ B และ C (ดังนั้นจึงแนะนำให้ใช้ เพราะมีความยืดหยุ่นสูง)
Code128 Auto - Support Code 128 A/B/C characters. Automatically switch between the different code sets and performs characters optimization

<วิธีการทำ>

1. ติดตั้งฟอนต์ชื่อ code128.ttf ลงในส่วนของ MS Windows โดยคลิ๊กขวาที่ตัวไฟล์ฟอนต์ แล้วเลือกหัวข้อ Install (โหลดไฟล์ฟอนต์ที่นี่ Barcode128.zip)

2. ใส่โค๊ดลงใน Module ดังนี้:
'----------------Function Start----------------
Option Explicit

Public Function Code128(SourceString As String)
    Dim Counter As Integer
    Dim CheckSum As Long
    Dim mini As Integer
    Dim dummy As Integer
    Dim UseTableB As Boolean
    Dim Code128_Barcode As String
   
    If Len(SourceString) > 0 Then
        For Counter = 1 To Len(SourceString)
            Select Case Asc(Mid(SourceString, Counter, 1))
               Case 32 To 126, 203
               Case Else
                    MsgBox "Invalid character in barcode string." & vbCrLf & vbCrLf & "Please only use standard ASCII characters", vbCritical
                    Code128 = ""
                    Exit Function
            End Select
        Next
        Code128_Barcode = ""
        UseTableB = True
        Counter = 1
        Do While Counter <= Len(SourceString)
            If UseTableB Then
               mini = IIf(Counter = 1 Or Counter + 3 = Len(SourceString), 4, 6)
               GoSub testnum
               If mini% < 0 Then 'Use Table C
                    If Counter = 1 Then
                        Code128_Barcode = Chr(205)
                    Else 'Switch to table C
                        Code128_Barcode = Code128_Barcode & Chr(199)
                    End If
                    UseTableB = False
               Else
                    If Counter = 1 Then Code128_Barcode = Chr(204) 'Starting with table B
               End If
            End If
            If Not UseTableB Then
               mini% = 2
               GoSub testnum
               If mini% < 0 Then 'OK for 2 digits, process it
                    dummy% = Val(Mid(SourceString, Counter, 2))
                    dummy% = IIf(dummy% < 95, dummy% + 32, dummy% + 100)
                    Code128_Barcode = Code128_Barcode & Chr(dummy%)
                    Counter = Counter + 2
               Else
                    Code128_Barcode = Code128_Barcode & Chr(200)
                    UseTableB = True
               End If
            End If
            If UseTableB Then
               Code128_Barcode = Code128_Barcode & Mid(SourceString, Counter, 1)
               Counter = Counter + 1
            End If
        Loop
        For Counter = 1 To Len(Code128_Barcode)
            dummy% = Asc(Mid(Code128_Barcode, Counter, 1))
            dummy% = IIf(dummy% < 127, dummy% - 32, dummy% - 100)
            If Counter = 1 Then CheckSum& = dummy%
            CheckSum& = (CheckSum& + (Counter - 1) * dummy%) Mod 103
        Next
        CheckSum& = IIf(CheckSum& < 95, CheckSum& + 32, CheckSum& + 100)
        Code128_Barcode = Code128_Barcode & Chr(CheckSum&) & Chr$(206)
    End If
    Code128 = Code128_Barcode
    Exit Function
     
testnum:
        mini% = mini% - 1
        If Counter + mini% <= Len(SourceString) Then
            Do While mini% >= 0
               If Asc(Mid(SourceString, Counter + mini%, 1)) < 48 Or Asc(Mid(SourceString, Counter + mini%, 1)) > 57 Then Exit Do
               mini% = mini% - 1
            Loop
        End If
        Return
End Function
'-----------------Function End-----------------

3. บนฟอร์ม หรือ รายงาน ให้สร้าง Textbox ที่ต้องการแสดง Barcode128 โดยกำหนดฟอนต์ให้เป็นชื่อ Code 128 (ที่ได้ทำไว้ตามข้อ 1 โดยหากไม่พบชื่อให้ปิดโปรแกรมแล้วเรียกใหม่อีกครั้ง)

4. กรณีใช้งานฟังก์ชั่นโดยการกำหนด Property > Control Source: (txtCode คือ รหัสที่ต้องการจะแปลงเป็น Barcode128)
=Code128([txtCode])
หรือ หากใช้เป็นแบบเขียนใน VBA:
Text1 = Code128("ABC-1234567890")



19 Reply in this Topic. Dispaly 2 pages and you are on page number 1

Reply by Message on : 21/10/2557 21:36:40
TTT
(R19633)
Barcode EAN-8

- เป็นบาร์โค๊ตที่รองรับเฉพาะตัวเลขเท่านั้น โดยหากเป็น EAN-8 คือจะต้องใส่รหัสจำหนวน 7 หลัก ส่วนหลักที่ 8 ฟังก์ชั่นจะทำการ generate ให้เองเพื่อใช้ในการตรวจสอบ



1. ติดตั้งฟอนต์ชื่อ EAN13.ttf ลงในส่วนของ MS Windows โดยคลิ๊กขวาที่ตัวไฟล์ฟอนต์ แล้วเลือกหัวข้อ Install (โหลดไฟล์ฟอนต์ที่นี่ EAN-13.zip)

2. ใส่โค๊ดลงใน Module ดังนี้:

'----------------Function Start----------------
Public Function EAN8$(chaine$)
    Dim i%, checksum%, first%, CodeBarre$, tableA As Boolean
    EAN8$ = ""
    If Len(chaine$) = 7 Then
        For i% = 1 To 7
            If Asc(Mid$(chaine$, i%, 1)) < 48 Or Asc(Mid$(chaine$, i%, 1)) > 57 Then
               i% = 0
               Exit For
            End If
        Next
        If i% = 8 Then
            For i% = 7 To 1 Step -2
               checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
            Next
            checksum% = checksum% * 3
            For i% = 6 To 1 Step -2
               checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
            Next
            chaine$ = chaine$ & (10 - checksum% Mod 10) Mod 10
            CodeBarre$ = ":"   'Ajout marque de debut / Add start mark
            For i% = 1 To 4
               CodeBarre$ = CodeBarre$ & Chr$(65 + Val(Mid$(chaine$, i%, 1)))
            Next
            CodeBarre$ = CodeBarre$ & "*"   'Ajout separateur central / Add middle separator
            For i% = 5 To 8
               CodeBarre$ = CodeBarre$ & Chr$(97 + Val(Mid$(chaine$, i%, 1)))
            Next
            CodeBarre$ = CodeBarre$ & "+"   'Ajout de la marque de fin / Add end mark
            EAN8$ = CodeBarre$
        End If
    End If
End Function
'-----------------Function End-----------------

3. บนฟอร์ม หรือ รายงาน ให้สร้าง Textbox ที่ต้องการแสดง Barcode EAN8 โดยกำหนดฟอนต์ให้เป็นชื่อ Code EAN13 (ที่ได้ทำไว้ตามข้อ 1 โดยหากไม่พบชื่อให้ปิดโปรแกรมแล้วเรียกใหม่อีกครั้ง)

4. กรณีใช้งานฟังก์ชั่นโดยการกำหนด Property > Control Source: =EAN8([txtCode])
- หรือ หากใช้เป็นแบบเขียนใน VBA: Text1 = EAN8("1234567")
ผลลัพธ์: 1234567 0
-------------------------------------------------------------------------------------------------

Barcode EAN-13
- เป็นบาร์โค๊ตที่รองรับเฉพาะตัวเลขเท่านั้น โดยหากเป็น EAN13 คือจะต้องใส่รหัสจำหนวน 12 หลัก ส่วนหลักที่ 13 ฟังก์ชั่นจะทำการ generate ให้เองเพื่อใช้ในการตรวจสอบ



1. ติดตั้งฟอนต์ชื่อ EAN13.ttf ลงในส่วนของ MS Windows โดยคลิ๊กขวาที่ตัวไฟล์ฟอนต์ แล้วเลือกหัวข้อ Install (โหลดไฟล์ฟอนต์ที่นี่ EAN-13.zip)

2. ใส่โค๊ดลงใน Module ดังนี้:

'----------------Function Start----------------
Public Function EAN13$(chaine$)
    Dim i%, checksum%, first%, CodeBarre$, tableA As Boolean
    EAN13$ = ""
    If Len(chaine$) = 12 Then
        For i% = 1 To 12
            If Asc(Mid$(chaine$, i%, 1)) < 48 Or Asc(Mid$(chaine$, i%, 1)) > 57 Then
               i% = 0
               Exit For
            End If
        Next
        If i% = 13 Then
            For i% = 12 To 1 Step -2
               checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
            Next
            checksum% = checksum% * 3
            For i% = 11 To 1 Step -2
               checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
            Next
            chaine$ = chaine$ & (10 - checksum% Mod 10) Mod 10
            CodeBarre$ = Left$(chaine$, 1) & Chr$(65 + Val(Mid$(chaine$, 2, 1)))
            first% = Val(Left$(chaine$, 1))
            For i% = 3 To 7
               tableA = False
               Select Case i%
                    Case 3
                        Select Case first%
                            Case 0 To 3
                                tableA = True
                        End Select
                    Case 4
                        Select Case first%
                            Case 0, 4, 7, 8
                                tableA = True
                        End Select
                    Case 5
                        Select Case first%
                            Case 0, 1, 4, 5, 9
                                tableA = True
                        End Select
                    Case 6
                        Select Case first%
                            Case 0, 2, 5, 6, 7
                                tableA = True
                        End Select
                    Case 7
                        Select Case first%
                            Case 0, 3, 6, 8, 9
                                tableA = True
                        End Select
               End Select
               If tableA Then
                    CodeBarre$ = CodeBarre$ & Chr$(65 + Val(Mid$(chaine$, i%, 1)))
               Else
                    CodeBarre$ = CodeBarre$ & Chr$(75 + Val(Mid$(chaine$, i%, 1)))
               End If
            Next
            CodeBarre$ = CodeBarre$ & "*"   'Ajout separateur central / Add middle separator
            For i% = 8 To 13
               CodeBarre$ = CodeBarre$ & Chr$(97 + Val(Mid$(chaine$, i%, 1)))
            Next
            CodeBarre$ = CodeBarre$ & "+"   'Ajout de la marque de fin / Add end mark
            EAN13$ = CodeBarre$
        End If
    End If
End Function
'-----------------Function End-----------------

3. บนฟอร์ม หรือ รายงาน ให้สร้าง Textbox ที่ต้องการแสดง Barcode EAN13 โดยกำหนดฟอนต์ให้เป็นชื่อ Code EAN13 (ที่ได้ทำไว้ตามข้อ 1 โดยหากไม่พบชื่อให้ปิดโปรแกรมแล้วเรียกใหม่อีกครั้ง)

4. กรณีใช้งานฟังก์ชั่นโดยการกำหนด Property > Control Source: =EAN13([txtCode])
- หรือ หากใช้เป็นแบบเขียนใน VBA: Text1 = EAN13("123456789012")
ผลลัพธ์: 123456789012 8


Back to Top
Reply by Message on : 21/10/2557 21:48:45
TTT
(R19634)
หลักการคิดคำนวณสูตรตัวเลขหลักที่ 13 (EAN-13)
ตัวอย่างการคำนวณ เช่น 885 1124 10450 9
--------------------------------------------------------------
Barcode        8   8   5   1   1   2   4   1   0   4   5   0
Odd/Even Pos? O   E   O   E   O   E   O   E   O   E   O   E
Weighting      1   3   1   3   1   3   1   3   1   3   1   3
Calculation   8*1 8*3 5*1 1*3 1*1 2*3 4*1 1*3 0*1 4*3 5*1 0*3
Weighted Sum   8   24 5   3   1   6   4   3   0   12 5   0

8 + 24 + 5 + 3 + 1 + 6 + 4 + 3 + 0 + 12 + 5 + 0 = 71
71 mod 10 = 1
10 - 1 = 9
--------------------------------------------------------------

- สำหรับ EAN-8 Check digit ประโยชน์และแนวคิดเหมือนกันกับ EAN-13
- สูตรการคิดต่างกันเพียงอย่างเดียวคือ ใช้หลักคี่คูณ 3 (EAN-13 จะใช้หลักคู่ คูณ 3)
ตัวอย่างการคำนวณ เช่น 5512345 7
--------------------------------------------------------------
Barcode        5   5   1   2   3   4   5
Odd/Even Pos? O   E   O   E   O   E   O
Weighting      3   1   3   1   3   1   3
Calculation   5*3 5*1 1*3 2*1 3*3 4*1 5*3
Weighted Sum   15 5   3   2   9   4   15

15 + 5 + 3 + 2 + 9 + 4 + 15 = 53
53 mod 10 = 3
10 - 3 = 7
--------------------------------------------------------------

หวังว่าคงเป็นประโยชน์บ้างนะครับ เพราะเห็นมานานแล้วว่ามีหลายท่านอยากทำบาร์โค๊ดไว้ใช้เองแบบฟรีๆ แต่เท่าที่ดูยังไม่เคยมีใครตอบแบบละเอียด ผมเลยขอแนะนำให้นะครับ

Back to Top
Reply by Message on : 12/12/2557 14:21:48
EnCoM
(R19857)
คุณ TTT มีฟังก์ชั่นในการอ่าน QRCode จากรูปภาพไหมครับ พอดีต้องการทำโปรแกรมอ่าน QRCode จากกล้อง Webcam แต่ไม่รู้จะแปลงรูปภาพออกมาเป็นข้อมูลได้อย่างไรครับ
Back to Top
Reply by Message on : 29/9/2558 11:15:32
อุดมโชค อุตมกุล SCB
(R21256)
เรียน สอบถาม

ถ้าเป็น 64 บิทในปัจจุบัน code ข้างบน ต้องแก้อะไรบ้างครับ เพราะ บาร์โค้ด มีภาษาไทยปนอยู่ครับ
Back to Top
Reply by Message on : 21/5/2560 9:34:50
ekkaphon
(R23382)
คุณTTTครับ เป็นแบบเส้นบาร์โค้ดตอนนี้ทำได้แล้วแต่ผมอยากให้มีText Box อีก1ช่องสำหรับแสดงผลเป็นตัวเลขด้วยได้ไหมครับ เพราะตอนนี้หลังจากที่ได้เส้นบาร์โค้ดมาแล้วผมต้องนำตัวที่ทั้งหมดที่ได้มาใส่ในText Box ที่ต้องการอีกทีหนึ่งครับ อยากให้ทำแบบคลิกครั้งเดียวเป็นอัตโนมัติทั้ง2Text Boxเลย จะได้ไหมครับ
Back to Top
Reply by Message on : 22/5/2560 12:02:50
TTT
(R23391)
ไม่เข้าใจคำถามครับ? ตัวเลขบาร์โค๊ตที่แสดงก็มาจากข้อมูลคุณเองนี่ครับ ก็นำมาแสดงได้เลย ส่วน Digi สุดท้าย ก็ได้มาจากการคำนวณตามที่เขียนไป เราก็เขียนฟังชั่นแสดงออกมาได้ครับ

Back to Top
Reply by Message on : 22/5/2560 21:37:21
ekkaphon
(R23403)
ถูกต้องครับ ยกตัวอย่างกรณีบาร์โค้ด13หลัก เราคีย์ตัวเลขแค่12หลัก ส่วนหลักที่13 ฟังค์ชั่นจะคำนวนเองครับ แต่ปัญหาอยู่ที่ว่า ในฐานข้อมูลจะมีตัวเลขแค่12ตัวที่เราได้ใส่ไว้แต่แรกครับ ซึ่งตัวเลข12หลักไม่สามารถทำการขายได้ครับ ดังนั้นผมจึงต้องทำTextbox ขึ้นมาอีก1ช่องเพื่่อใส่บาร์โค้ด13หลักครับ

ยกตัวอย่างครับ
Textbox1 ใส่ตัวเลข 885015196111
Textbox2 จะได้เส้นบาร์โค้ดพร้อมตัวเลขคือ 8850151961116

กรณีดังกล่าว Textbox1 ไม่สามารถใช้เป็นฐานข้อมูลบาร์โค้ดได้ดเพราะมีแค่12ตัว ขณะเดียวกัน Textbox2 ก็ไม่สามารถใช้เป็นฐานข้อมูลได้เพราะเป็นรูปภาพครับ

ดังนั้นผมจึงต้องสร้า่งTextbox3 เพื่อใส่รหัสบาร์โค้ดทั่้ง13ตัวไว้ใช้ในการขายในหน้าจอขายสินค้าครับ

ความหมายของผมคือว่า มีวิธีใดที่สามารถทำให้ช่องTextBox3 แสดงตัวเลขครบทั้ง13ตัวเหมือนTextbox2 โดยที่รูปแบบเป็นตัวเลข ไม่ใช่เป็นภาพเส้นบาร์โค้ดครับ เพราะเมื่อหลังจากใส่ตัวเลข12ตัวในช่อง Textbox1แล้วกดEnter ผมต้องมาใส่ตัวเลขทั้ง13ตัวในช่อง Textbox3อีกครับ

ยกตัวอย่างตามรูปครับ


Back to Top
Reply by Message on : 22/5/2560 21:54:10
ekkaphon
(R23404)
คุณTTTครับ
จากรูปด้านบนผมทำขั้นตอนอย่างนี้ครับ
1.ใส่รหัสสินค้า12หลักในช่องบาร์โค้ด13(Textbox1) แล้วกด Enter
2.จะมีเส้นบาร์โค้ดเกิดขึ้นในช่อง รหัสบาร์โค้ด(Textbox2) ซึ่งมี13หลักครับ
3.นำตัวเลขที่ได้ทั้ง13หลักไปใส่ในช่องรหัสสินค้า(Textbox3)

ความหมายคือว่า หลังจากที่ผมทำข้อ1เสร็จแล้ว เป็นไปได้หรือไม่ครับ ที่จะให้ช่อง รหัสสินค้า (Textbox3) เกิดตัวเลขทั้ง13หลักขึ้นอัตโนมัติเหมือนช่องรหัสบาร์โค้ด (Textbox2) แต่ต้องเป็นรูปแบบของตัวเลขนะครับ โดยที่ผมไม่ต้องพิมพ์เข้าไปเองครับ

จะขอบพระคุณอย่างสูงเลยครับ
Back to Top
Reply by Message on : 23/5/2560 12:21:50
ekkaphon
(R23406)
ทำได้แล้วครับ อาจจะไม่ตรงตามที่ต้องการ100%แต่ก็ถือว่าไกล้เคียงครับ
1.บังคับให้User ใส่บาร์โค้ดเลขตัวสุดท้ายที่ได้ในช่องDigi


2.ถ้าไม่ใส่เลขในช่องDigi ระบบจะแจ้งเดือนไม่สามารถบันทึกได้ครับ


3.เมื่อใส่บาร์โค้ดตัวสุดท้ายในช่อง Digiแล้ว เลขบาร์โค้ดในช่องรหัสสินค้าจะเป็น13หลักครบตามที่ต้องการครับ


แต่ถึงยังไงผมก็ยังต้องการคำตอบที่ดีกว่าจากคุณ TTT เพื่อปรับใช้อยู่นะครับ
Back to Top
Reply by Message on : 29/5/2560 10:55:10
TTT
(R23444)
จริงๆ แล้วหลักที่ 13 ไม่จำเป็นต้องเก็บนะครับ เราเก็บรหัส 12 หลักที่เราสร้างไว้ก็พอแล้ว ลองดูหลักการณ์ทำ EAN-13 การสร้าง การใช้งาน ในคลิปนี้นะครับ

VDO Barcode EAN-13

แต่หากกรณีต้องเก็บจริงๆ ก็ใช้ฟังก์ชั่นนี้ครับ (ในคลิปมีอธิบายไว้)

Function Digit13(BarCode12 As String)
    BarCode12 = Replace(BarCode12, " ", "")
    If Len(BarCode12) <> 12 Then MsgBox "จำนวนหลักที่ป้อนไม่ถูกต้อง = " & Len(BarCode12) & " (12 ตัวเท่านั้น)", , "จำนวนตัวเลข": Exit Function
    Dim i As Integer, NOdd As Integer, NEven As Integer
    For i = 1 To 12
        If i Mod 2 = 0 Then
            NEven = NEven + CInt(Mid(BarCode12, i, 1))
        Else
            NOdd = NOdd + CInt(Mid(BarCode12, i, 1))
        End If
    Next
    Digit13 = CInt(Right(10 - ((NOdd + (NEven * 3)) Mod 10), 1))
End Function

- จากนั้นก็ไปที่ Textbox1 > Event > After Update:
    Textbox1 = Textbox1 & Digit13(Textbox1)

ประมาณนี้ครับ ปรับใช้ดูครับ
Back to Top
Page:   1 2 Next >>

Reply

 *Indicates required fields
Format:
Bold Under Line Italic Add Hyperlink Add Email Link Italic List Indent Add Image Emoticons Insert code Mode:
Message:*
Your Name*:
Normal word*: Please input : ไทยแอ็คเซส
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++