สมัครสมาชิก

แสดงกระทู้

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

หน้า: [1] 2 3
1
อ้างถึง
1. หลักความแตกต่างระหว่าง " และ ' และ & คืออะไรครับ

 " และ '  เราเรียกว่า double quote และ Single quote ครับ สัญลักษณ์พวกนี้เป็นการบอกให้ทราบว่า คุณได้กำหนดช่วงของ ข้อความ หรือ String หรือ ตัวเลข หรือตัว Control จาก ไหน ถึง ไหน ครับ เช่น "..............." เป็นการบอกว่า ภายใน double quote นี้คือเนื้อหาส่วนเดียวกัน

ความแตกต่างของการใช้  " และ ยกตัวอย่างการใช้ Dlookup
เราจะใช้ ' ในการกรณีที่ อ้างถึงเขตข้อมูลที่เป็น string หรือข้อความ เช่น
DLookup("FieldName" , "TableName" , "Criteria= 'String'")

ในกรณีที่เป็น ตัวเลข เราจะใช้ " ในการกำหนดขอบเขตครับเช่น N คือตัวเลข
DLookup("FieldName" , "TableName" , "Criteria = n")

แต่ " " นี้ก็ไม่ได้ใช้กับตัวเลขเสมอไป เราจะใช้ในการกำหนด เริ่มต้นและสิ้นสุดของข้อความที่เรากำหนดได้เหมือนกันเช่น

msgbox "สวัสดีครับ",vbInformation,"ทักทาย"

& นั้นใช้ในการเชื่อมต่อกับส่วน อื่นๆของคำสั่ง เช่น ตัวแปร เชื่อมกับ Control / ข้อความเชื่อมกับ Control / กำหนด เชื่อมฟิลล์เข้าด้วยกัน เช่น Field1 & "/" & Field2  ก็จะได้ Field1/Field2เป็นต้น

อ้างถึง
2. ในกรณีนี้ทำไมต้องใส่ " " ที่ตอนต้นและตอนท้ายด้วยครับ เพราะดูในที่อื่น ก็ select * from  where ไม่เห็นต้องมี " " ปิดหัวท้ายเลย


คุณอ้างถึงตัวแปร Sql ที่เป็น string ซึ่ง ต้องมี " " ปิดหัวท้ายเพื่่อกำหนดขอบเขตของ String ที่เรากำหนดคับ

อ้างถึง
3. like '" & Nz(Me.tcombo, "*") & "'  --> รบกวนช่วยแปล Code นี้หน่อยครับ ไม่เข้าใจตรงการเขียน '" & XXX & "'
จากตัวอย่างนี้ลองสังเกตุ '" & XXX & "' การใส่ เครื่องหมาย  " และ ' ให้การ Control ที่เป็นข้อความคับ
Nz(Me.tcombo, "*") คือการกำหนดให้ตรวจสอบ Control ที่ชื่อ tcombo ครับโดยการกำหนดให้แสดงผลตามว่า tcombo ว่างหรือไม่ว่าง
ถ้า tcombo ไม่เป็นค่าว่าง สมมุติเราใส่ กรุงเทพ เงื่อนไขของ คำสั่งนี้คือ   like "กรุงเทพ" ซึ่ง ถ้าเขตข้อมูลไหนมีคำว่ากรุงเทพก็จะแสดงรายการออกมาครับ
แต่ถ้า tcombo เป็นค่าว่าง Nz Function ก็จะแทนค่าว่างด้วย * คือถ้าว่างก็ให้เงื่อนไขคือแสดงข้อมูลทั้งหมด

ผมตอบได้เท่าที่ผมนึกออกนะคับ  รออาจารย์ท่านอื่นมาเสริม
โพสต์นี้ได้รับคำขอบคุณจาก: Un

2
ถ้าจะเขียนในลักษณะเดียวกับที่คุณมาลีเขียนมา ก็เขียนเป็น Forms!Main!Text2 = Text1

แต่โดยปกติผมจะเขียนเป็น Me.Parent!Text2 = Me.Text1 ครับ โดยที่ Parent หมายถึงเมนฟอร์มของฟอร์มปัจจุบันที่โค้ดเราอาศัยอยู่  (Me) ซึ่งตอนนี้เราอยู่ที่ซับฟอร์ม
โพสต์นี้ได้รับคำขอบคุณจาก: Un

3
ยินดีครับ thai access บอร์ดแห่งการแชร์ประสบการณ์ การแบ่งปันและการเรียนรู้ครับ ผมเริ่มจากไม่เป็นเลยได้เรียนรู้จากบอร์ดนี้แหละครับ จนพอที่จะแนะนำได้บ้าง :meaw:
โพสต์นี้ได้รับคำขอบคุณจาก: Un

4
ห้อง MS Access / : Function Year
« เมื่อ: 03 เม.ย. 62 , 11:06:14 »
ใช้ Year(Now()) ครับ
ถ้ามันได้ 2019 แต่อยากได้ 2562 ก็ ใช้เป็น

Year(Now())+543

หรือถ้าต้องการเปลียนจาก 2562 เป็น 2019 ก็ใช้
Year(Now())-543

หรือใช้ Format(Now(),"YYYY")

แต่ถ้าจะเอาจาก วันที่ Field Date ชื่อ DateIn
ก็กำหนดเป็น
Format(DateIn,"YYYY") ก็ได้คับ

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

5
ใช่ครับ การใช้ DSum เป็นการเรียงลำดับ เพื่อคำนวนผลจาก Record ก่อนหน้า ออกมาตามลำดับ
ครับ
เช่น
โค๊ด: [Select]
RT: Format(DSum("Field1","Table1","ID<=" & [ID]),0)
โพสต์นี้ได้รับคำขอบคุณจาก: Un

6
data type Field นั้นเป็นอะไรครับ ท่าน Un ลองกำหนด Format ที่ต้องการที่ Field นั้นดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

7
ห้อง MS Access / : input mark
« เมื่อ: 17 มี.ค. 62 , 14:02:23 »
ใส่ Input Mark ยังงัย ให้บันทึกไอดีต่างชาติ แบบนี้ได้ครับ

0-0000-T035991-3
น่าจะแบบนี้นะครับ
0\-0000\-A000000\-0;0;_
โดย A ใช้แทนตัวอักษรหรือตัวเลข 1 ตัวคับ

ผมใช้ Event Form_Load นะครับปกติ หรือกำหนดที่ตัว Control เลยก็ได้คับ
โค๊ด: [Select]
Private Sub Form_Load()
Me.Text2.InputMask = "0\-0000\-A000000\-0;0;_"
End Sub

ไม่รู้ผมตอบตรงโจทย์ หรือเปล่านะครับ
ไม่รู้ว่าต้องการแยก ID T0359913 เป็น 0-0000-T035991-3
หรือต้องการกำหนด InputMask แบบข้างบน  :cool: :cool:

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

8
ครับ อาจารย์ผมไปเจอวิธีนี้จากเว็บต่างประเทศ ตรงกำหนดสีกับ ข้อความครับ
เลยเอามาประยุกต์ใช้กับโค้ดนี้ครับ
ส่วนโค้ดนี้ผมไปค้นหาเจอจาก เว็บนอกครับ
มาแบ่งบันให้กับเพื่อนๆสมาชิกคับ โดยเอามาปรับโค้ด จาก excel เป็น Access ครับ  :grin: :grin: :grin:
โพสต์นี้ได้รับคำขอบคุณจาก: Un

9
https://drive.google.com/drive/folders/1J_P2DCrnDaQJDw5PHaddbtAX52xJCO4E?usp=sharing link

sadsadeekabchoeng@hotmail.com
nk_0813kjmn@hotmail.co.th

โหลดใน Google drive ตาม link ได้เลยครับ.....
เป็น Zip ไฟล์   มี สอง ไฟล์ครับ  เป้นไฟล์ Setup.exe ของ Awara Thai Smart card reader และ ไฟล์ MS ACCESS ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

10
Export TextFile ให้มี l ขั้นระหว่างกลางทำได้อยู่ครับไม่ยาก แต่ถ้าจะให้เข้ารหัส MD5 ผมก็ไม่เคยทำเหมือนกันครับผม
โพสต์นี้ได้รับคำขอบคุณจาก: Un

11
ปัญหานี้น่าจะเหมือนกับที่ผมเคยใช้ Tab Delimit เป็นตัวแบ่งข้อมูลใน Text file ที่ส่งออกทำให้การนำเข้าข้อมูลข้อไฟล์นี้ผิดพลาดไป
ปัจจุบันนี้ผมเปลี่ยนมาใช้เครื่องหมายคอมม่า (,) แทนยังไม่เจอปัญหาดังกล่าวเลย

ส่วนการเขียนโค๊ดเพื่อส่งออกข้อมูลยังมีความต้องการให้แนะนำอีกหรือเปล่าครับ
หากต้องการจะทำตัวอย่างเพื่อโพสประกอบคำแนะนำ เพราะมันมีเทคนิคประกอบการเขียนโค๊ดนิดหนึ่ง ซึ่งต้องใช้รูปประกอบด้วยครับ เพื่อความเข้าใจง่าย
โพสต์นี้ได้รับคำขอบคุณจาก: Un

12
"เรื่องอื่นๆ"เกี่ยวกับ Access / Link SQL Server
« เมื่อ: 28 ม.ค. 62 , 15:51:06 »
หากต้องเชื่อมฐานข้อมูลจาก SQL Server โดยตัว Front End เป็น MS-Access

หลักการมีดังนี้ครับ
- ขั้นตอนที่ 1 สร้าง ODBC เพื่อ Connect ไปยัง MySQL Server
- ขั้นตอนที่ 2 ทำการ Link Table เข้ามาในไฟล์ Front End ที่กำลังใช้งานอยู่
- ขั้นตอนที่ 3 ในหน้าเขียนโค๊ด VBA ให้ติ๊กเลือก Tools --> Reference --> Microsoft DAO 3.6 Object libray

เมื่อต้องการจะจัดการกับข้อมูลใน Table สามารถใช้รูปแบบดังนี้

    Dim rst1, rst2, rst3, rst4, rst5, rst6, rst7, rst8 As DAO.Recordset

    Dim dbs As Database
    Set dbs = CurrentDb()
   
    Set rst1 = dbs.OpenRecordset("SELECT * from Table1", dbOpenDynaset, dbSeeChanges)
    'Add
    rst1.addnew
    rst1!Filed1 = "Test"
    rst1.update

    'Edit
    rst1.edit
    rst1!Filed1 = "Test"
    rst1.update

    'Del
    rst1.Delete

    rst1.close
    Set rst1 = nothing

จะเห็นว่า มีรูปแบบคำสั่ง    ", dbOpenDynaset, dbSeeChanges)   ต่อท้ายเพิ่มขึ้นมานิดหน่อย

ขอขอบคุณความรู้เกี่ยวกับ MS-Access จาก อ. สุภาพ ไชยา

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

13
"เรื่องอื่นๆ"เกี่ยวกับ Access / : Link MySQL
« เมื่อ: 28 ม.ค. 62 , 14:27:21 »
ก็ฝากไว้เผื่อจะสามารถช่วยให้มิตรรักแฟนเพลงท่านหนึ่งท่านใด ก้าวพ้นปัญหาที่กำลังแก้อยู่ได้เร็วขึ้น
โพสต์นี้ได้รับคำขอบคุณจาก: Un

14
Line Feed มาจาก Co_unitdrug ครับ เข้าไปแก้ที่นี่ครับ ง่ายกว่าเยอะ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

15
ที่ฟิลด์นี้มี Line Feed ซ่อนอยู่ครับ ลองเปิดอยู่ที่ Text File แล้วกดลูกศรขวาไล่ไปทีละตัวอักษรดู

หลังคำว่า เม็ด ขวด จะกดแล้วไม่ไปไหน 1 เคาะ

(แก้ไข 1) ปล. ไม่แน่ใจว่าเป็น Line Feed หรือ Zero Space นะครับ หาเอง

(แก้ไข 2) มันคือ Line Feed
โพสต์นี้ได้รับคำขอบคุณจาก: Un

16
จะตอบไงดี
เกี่ยวแน่นอนครับ

คือผมทดสอบแล้ว ครั้งล่าสุด หลังจากพบว่าคุณกำหนดเป็น None ตอน Export เลยสามารถทำให้เกิดปัญหาแบบเดียวกับที่คุณเจอได้แล้ว
และการทดสอบก่อนหน้า ตอน Export ใช้ "" แต่ตอน Import ก็ใช้ "" ก็ทำได้อย่างไม่มีปัญหา ข้อมูลมาครบไม่ขึ้นเรคอร์ดใหม่


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

หน้า: [1] 2 3