บทความ

เลขไทยบนรายงาน ของ MS Access

รูปภาพ
ในการทำงานกับ Microsoft Access บ่อยครั้งที่เราต้องใช้เลขไทย เช่น การพิมพ์เลขที่วุฒิบัตร จำเป็นต้องใช้เลขไทย เช่น เลขไทยที่เห็น ใช้ฟังก์ชัน Access ที่เขียนขึ้น เพื่อให้แสดงเลขไทย ฟังก์มีดังนี้ Public Function cThaiNumber(whatString As String) As String Dim myString As String Dim length As Byte Dim i As Byte Dim character As String Dim newString As String myString = whatString newString = "" length = Len(myString) For i = 1 To length     character = Asc(Mid(myString, i, 1))     Select Case character            Case "48": character = "240"            Case "49": character = "241"            Case "50": character = "242"            Case "51": character = "243"            Case "52": character = "244"            Case "53": character = "245"            Case "54": character = "246"            Case "55": character

การถ่ายโอนข้อมูลระหว่าง Access กับ MySQL ผ่านทาง phpMyAdmin

รูปภาพ
การโอนข้อมูลจาก MySQL  ไปยัง MS Access โดยใช้ phpMyAdmin ถ้าต้องการโอนข้อมูลจากฐานข้อมูล MySQL บนเว็บ ไปยัง MS Access ผ่านทาง phpMyAdmin ให้เข้า phpMyAdmin เลือกตารางที่ต้องการถ่ายโอนไปยัง MS Access เลือกส่งออก และกำหนดเป็นชนิด XML เลือกส่งออกเป็นไฟล์ คลิก ลงมือ การนำเข้า MS Access นำเข้า MS Access โดยผ่านทาง ข้อมูลภายนอก > นำเข้าและเชื่อมโยง > แฟ้ม XML เลือกไฟล์ แล้วคลิก ตกลง กำหนดเงื่อนไขว่า จะเอาเฉพาะโครงสร้าง หรือข้อมูลด้วย หรือ จะนำไปต่อท้าย(ผนวก)ตารางที่มีอยู่แล้ว เมื่อกำหนดแล้วคลิก ตกลง เมื่อคลิกตกลงโปรแกรมจะทำงานทันที ถ้าต้องการนำตารางใน MS Access เข้าฐานข้อมูล MySQL ผ่านทาง phpMyAdmin จะทำอย่างไร phpMyAdmin ส่งออกเป็นไฟล์ XML ได้ แต่ไม่สามารถนำไฟล์ XML เข้าฐานข้อมูลได้ ถ้าต้องการนำตารางจาก MS Access เข้าฐานข้อมูล MySQL ผ่านทาง phpMyAdmin ต้องส่งตารางออกเป็นไฟล์ csv จึงสามารถนำตารางเข้าฐานข้อมูลได้ สมมติว่า ต้องการนำข้อมูลจาก Table1 ในฐานข้อมูลของ Access เข้าตาราง MySQL วิธีการ เปิด MS Access 2010 คลิกเลือกตารางที่ต้องการส่งออก บนแถบวัตถุตาราง ขอ

การลบข้อมูลที่มีข้อมูลซ้ำกับตารางอื่น และนำข้อมูลเข้าตาราง

รูปภาพ
การลบข้อมูลในตาราง เราใช้การสร้างแบบสอบถามประเภทลบ และระบุในเงื่อนไขว่า ต้องการลบฟิลด์ที่มีข้อมูลชื่ออะไร เช่น ต้องการลบข้อมูลของ สมศักดิ์ ออกจากตาราง Table1 ทั้งหมด สร้างเป็นเงื่อนไข ในช่องเงื่อนไข ของแบบสอบถาม ได้ดังนี้ [Table1].[fname]="สมศักดิ์" แต่ในกรณีที่ต้องการลบข้อมูลในตารางหนึ่ง โดยให้ลบเฉพาะรายการที่ซ้ำกันกับตารางอีกตารางหนึ่ง ดังภาพ จะทำอย่างไร จากภาพ จะเห็นว่า ใน Table2 มีชื่อคนที่ซ้ำกับใน Table1 อยู่ จำนวน 2 คน คือ สมศักดิ์ รักชาติ และ สุดา อารยา เราต้องการลบข้อมูลของคนทั้งสอง ในตาราง Table2 โดยจะลบเฉพาะที่มีชื่อและนามสกุลซ้ำกับข้อมูลในตาราง Table1 จะทำอย่างไร หลักการ สร้างแบบสอบถาม ประเภทลบข้อมูล แล้วกำหนดในเงื่อนไข โดยในเงื่อนไขระบุให้ไปเลือกข้อมูลในอีกตารางหนึ่งที่มีเงื่อนไขข้อมูลที่ซ้ำกัน วิธีการ สร้างแบบสอบถามชนิดลบข้อมูล ไปที่ เมนูสร้าง กลุ่มแบบสอบถาม เลือกออกแบบแบบสอบถาม นำเข้าตาราง Table2 และกำหนดชนิดแบบสอบถามเป็นชนิด ลบ เลือกฟิลด์ชื่อและนามสกุล เพื่อจะได้ใช้เป็นเงื่อนไข ที่ช่องเกณฑ์ ในเขตข้อมูล ชื่อ ให้คลิกขวา และเลือก ย่อ/ขยาย เพื่

การหาข้อมูลที่ซ้ำกันในตาราง 2 ตาราง ของ Access2010

รูปภาพ
การหาข้อมูลใน Field ที่ซ้ำกันในตารางเดียวกัน เป็นเรื่องไม่ยาก เพราะมี แบบสอบถาม หรือ Query ที่ใช้สำหรับค้นหาข้อมูลที่ซ้ำกันอยู่แล้ว คือ ตัวช่วยสร้างแบบสอบถามเพื่อค้นหารายการที่ซ้ำ (Find Duplicate Query Wizard) (ไปที่แถบสร้าง กลุ่มแบบสอบถาม เลือก ตัวช่วยสร้างแบบสอบถามเพื่อค้นหารายการที่ซ้ำ) และถ้าเป็นการหาข้อมูลที่ซ้ำกันใน 2 ตาราง แต่ต้องการหาเพียงฟิลด์เดียว ก็ไม่ยากเท่าไร เพราะสามารถใช้ ตัวช่วยสร้างแบบสอบถามการค้นหาข้อมูลที่ไม่ตรงกัน (Find Unmatched Query Wizard) ได้ เพียงเปลี่ยนเงื่อนไข จาก is Null เป็น Not is Null ก็ใช้ได้ แต่ ถ้าต้องการหาข้อมูลที่ซ้ำกัน โดยมีเงื่อนไขว่า ต้องซ้ำกันหลายฟิลด์ เช่น ชื่อซ้ำกัน และนามสกุลซ้ำกันด้วย จะทำอย่างไร จากภาพ จะเห็นว่า ในตารางที่ 1 และตารางที่ 2 มีข้อมูลที่ซ้ำกันคือ สมศักดิ์ รักชาติ และ สุดา อารยา ส่วนประสิทธิ์ ชื่อเหมือนกัน แต่นามสกุลต่างกัน จึงเป็นคนละคนกัน การค้นหารายชื่อที่ซ้ำกัน ใน 2 ตาราง โดยมีเงื่อนไขหลายฟิลด์ มีดังนี้ สร้างแบบสอบถามใหม่ โดยไปที่แถบสร้าง กลุ่มแบบสอบถาม เลือกออกแบบแบสอบถาม Query เลือกตารางที่มีข้อมูลที่ต้องการเป

การสร้างปุ่มบนริบบิ้น Access 2010 โดยใช้ภาพที่สร้างขึ้นเอง

รูปภาพ
วันก่อน เคยพูดเรื่อง การสร้างปุ่มบนริบบิ้น ของ MS Access 2007 แต่ยังติดขัดที่ต้องใช้ภาพที่เป็น idMso ของ Access ภาพที่สร้างขึ้นเอง มีปัญหาเรื่อง Transparency วันนี้ ไปพบเรื่องเดียวกัน ที่ http://www.accessribbon.de/en/  แต่สามารถใช้ภาพ png ที่เป็น Transparent และนำมาใช้งาน ได้ และมี Transparency เหมือนกับการใช้ภาพจาก idMso ดังตัวอย่างข้างล่างนี้ การสร้าง ใช้การนำภาพเข้าตาราง และเรียกใช้งานฟังก์ชัน AddBinFile() ของ Sascha Trowitzsch ในโมดูล "basBlob" และ "basGDIPlus" ภาพที่ใช้สร้างเอง โดยใช้โปรแกรมสร้างภาพกราฟฟิก เช่น Gimp Photoshop หรือ Illustrator ก็ได้ และบันทึกเป็นไฟล์ png โดยให้มี Trasparent ด้วย วิธีการ สร้างไฟล์ ขนาด 200 X 200 pixels สำหรับเป็นภาพ icon ที่ต้องการ โดยสร้างเป็นไฟล์ png และให้มี Transparent บันทึกไว้ในห้องเดียวกับไฟล์ Access ในตัวอย่างนี้ ไฟล์ภาพ ชื่อ abc_nfe.png อยู่ในห้อง E:\socialMedia สร้างไฟล์ใหม่ ด้วย Access 2010 และบันทึกไว้ในห้องเดียวกับภาพ คือ E:\socialMedia นำเข้าโมดุล  "basBlob" โดยไปที่ ข้อมูลภายนอก > Acc

การลบ Cookies ใน Internet Explorer

รูปภาพ
Cookies คือ ไฟล์ข้อมูลที่เว็บไซต์บันทึกเก็บไว้ในเครื่องคอมพิวเตอร์ของผู้ใช้ เพื่อวัตถุประสงค์บางอย่าง เช่น จำรหัสสำหรับ login หรือ Password เพื่อให้ความสะดวก เมื่อผู้ใช้เข้ามาในเว็บแล้ว จะได้ไม่ต้องกรอกรหัสอีก ตัวอย่างเช่น Gmail เมื่อเวลา Sign in เข้าใช้งาน จะมีข้อความให้เลือกว่าต้องการ "อยู่ในสถานะลงชื่อเข้าใช้" หรือไม่ ถ้าคลิกเลือก เหมือนในตัวอย่างข้างบน เว็บของ Gmail จะเขียน Cookie ลงในเครื่อง เพื่อว่า เมื่อเข้ามาอีกครั้ง จะได้ไม่ต้องกรอก   เว็บของสถาบัน กศน.ภาคกลาง ก็มีการเก็บ Cookie ในลักษณะนี้ เช่นเดียวกัน ถ้าคลิกเลือก "จำชื่อและรหัสไว้" เมื่อเข้ามาอีกครั้ง ก็ไม่ต้องลงทะเบียนเข้าสู่ระบบ แต่จะสามารถเข้าเลือกวิชาเรียนในระบบได้ทันที   โดยปกติ เว็บที่เขียน Cookie ลงในเครื่องผู้ใช้ จะกำหนดอายุว่า ให้อยู่ได้กี่วัน แล้วจะลบทิ้งไปเอง จำนวนวันจะไม่เท่ากัน แล้วแต่ละเว็บจะกำหนด   ถ้าเราต้องการล้าง Cookies ทั้งหมดที่อยู่เครื่อง ก็สามารถทำได้ โดยใช้โปรแกรม เช่น CCleaner ลบ Cookies ออกทั้งหมด หรือจะทำเอง ก็ได้   วิธีการล้าง Cookies ด้วยตัวเอง ทำดังนี้

การดาวน์โหลดไฟล์จาก อินเทอร์เน็ต ด้วย Access 2010 VBA

รูปภาพ
ก่อนการใช้ MS Access 2010 ดาวน์โหลดไฟล์จากอินเทอร์เน็ต ต้องตรวจสอบเสียก่อนว่า ขณะนี้สามารถเข้าอินเทอร์เน็ตได้หรือไม่ โดยใช้ฟังก์ชันต่อไปนี้ Function checkInternetConnection() As Integer 'code to check for internet connection 'by Daniel Isoje On Error Resume Next  checkInternetConnection = False  Dim objSvrHTTP As ServerXMLHTTP  Dim varProjectID, varCatID, strT As String  Set objSvrHTTP = New ServerXMLHTTP  objSvrHTTP.Open "GET", " http://www.google.com "  objSvrHTTP.setRequestHeader "Accept", "application/xml"  objSvrHTTP.setRequestHeader "Content-Type", "application/xml"  objSvrHTTP.send strT  If Err = 0 Then  checkInternetConnection = True  Else   MsgBox "Internet connection not estableshed: " & Err.Description & "", 64, "Additt !"  End If End Function ฟังก์ชันนี้ ต้องอ้างอิงถึง Microsoft XML, v6.0 เสียก่อน จึงจะใช้งานได้ โดยที่หน้าจอเขียนโค้ด ไปที่ Tool >

การแนบไฟล์ ใน Access 2010

รูปภาพ
เริ่มตั้งแต่ Access 2007 เราสามารถแนบไฟล์ เช่น ไฟล์ Word Excel ไฟล์ภาพ หรือแม้แต่ไฟล์ วิดีโอ ในฟิลด์ตารางของ Access ได้ เพราะมีการกำหนด ประเภทของข้อมูล (data type) เพิ่มเติม เป็นชนิด Attachment ซึ่งดีกว่าการใช้ OLE ในรุ่นก่อน ๆ มาก เพราะสะดวกมากกว่า ไฟล์เล็กกว่า ไฟล์ที่เก็บเป็น Attachment เป็นไฟล์ต้นฉบับ เวลาเปิด จะใช้โปรแกรมภายนอกเปิด เช่น ถ้าเก็บไฟล์ docx เวลาเปิดไฟล์ จะเรียกโปรแกรม MS Word มาเปิด ซึ่งสามารถแก้ไข เพิ่มเติมได้ (แต่มีข้อแม้ว่า เมื่อแก้ไขแล้ว เวลากลับมาที่ MS Access ต้องบันทึกอีกครั้งหนึ่ง มิฉะนั้น สิ่งที่แก้ก็จะยังไม่ถูกจัดเก็บใน MS Access) ไฟล์แนบ หรือ Attachment ช่วยให้เราสามารถเก็บเอกสาร หรือ ไฟล์ที่เกี่ยวข้องกับเรื่องนั้น ๆ ได้ เช่น มีข้อมูลรายการของพนักงานในตาราง พนักงาน เราสามารถแนบเอกสารที่เกี่ยวข้องกับพนักงานแต่ละคน เช่น ไฟล์สัญญาจ้าง ภาพถ่ายลายนิ้วมือ วิดีโอที่เกี่ยวกับพนักงานคนนั้น ๆ เป็นต้น ไฟล์แนบสามารถมีได้ไม่จำกัดจำนวน จำกัดอยู่ที่ขนาดของไฟล์ แต่ละไฟล์ต้องมีขนาดไม่เกิน 256 Mb  รวมกันทั้งหมดแล้ว ไม่เกิน 2 GB (เท่ากับขนาดของ Access) ไฟล์แนบสามารถจัด