31 ธันวาคม 2557

ตัวอย่าง Windows API

ตัวอย่าง Windows API จาก เว็บ http://www.news2news.com

1. เปิดเครื่องคิดเลขของวินโดว์ในโปรแกรมที่เราสร้างขึ้นเอง
http://www.news2news.com/vfp/?example=245&ver=vfp

2. หา Mac Address
http://www.news2news.com/vfp/?example=585&ver=vfp

3. Convert to Unicode
http://www.news2news.com/vfp/?example=212&ver=vfp

4. Play MIDI note
http://www.news2news.com/vfp/?example=537&ver=vfp

5. Create desktop shotcut
http://www.news2news.com/vfp/?example=583

6. Display On-screen Keyboard
http://www.news2news.com/vfp/?example=582&ver=vfp

7. Set Default Printer
http://www.news2news.com/vfp/?example=589&ver=vfp


เรียนรู้การเขียนเว็บเพจ ในแบบ Responsive web


04 มิถุนายน 2557

Excel VBA - 1. เริ่มต้นเขียน VBA กัน

หรับผู้ที่ใช้ Excel 2007, 2010 หรือ รุ่นที่ใหม่กว่า ก่อนอื่นเราต้องกำหนดค่าเพื่อให้สามารถใช้ VBA และ Macro ก่อน โดยทำตามขั้นตอน ดังนี้

เปิดโปรแกรม Excel 2007, 2010 หรือ รุ่นที่ใหม่กว่า จากนั้น

1. เลือก เมนู File -> Options
2. ที่หน้าต่าง Excel Options ให้คลิกที่รายการ Customize Ribbon
3. ในส่วนของ กล่อง Main Tabs ให้ติ๊กเครื่องหมายถูกหน้ารายการ Develop จากนั้นคลิกปุ่ม OK 


















จากนั้นเมนูของ Excel ก็จะปรากฎรายการเมนู Developer เพิ่มขึ้นมา 

4. ให้คลิกที่เมนู Developer เลือก Macro Security
5. ที่หน้าต่าง Trust Center ให้เลือกรายการ Macro Setting
6. ในส่วนของ Macro Settings ให้เลือกรายการ 

       Enable all macros (not recommended; potentially dangerous code can run) 
 และ Trust access to the VBA project object model จากนั้น คลิกปุ่ม OK



เท่านี้โปรแกรม Excel ของเราก็สามารถใช้งาน VBA ได้แล้ว


เริ่มเขียนคำสั่ง VBA กัน

1. ที่ Excel ให้เลือกเมนู Developer 
2. จากนั้นคลิกเลือก ไอคอน Visual Basic จะปรากฎหน้าต่าง Microsoft Visual Basic for Application ขึ้นมา
3. ไปที่เมนู Insert เลือก รายการ Module 
4. ที่หน้าต่าง Module1(Code) ให้ทำการป้อนคำสั่ง ดังนี้

Sub mySub()
MsgBox ("Hello World")
End Sub

จากนั้นทำการบันทึก Excel Workbook 

เมื่อต้องการเรียกใช้งานให้คลิกปุ่ม F5 หรือไปที่เมนู Run เลือกรายการ Run Sub/UserForm

ก็จะปรากฎ Messagebox ขึ้นมาดังภาพ

*** เมื่อต้องการบันทึก workbook ของ Excel เวลาบันทึกให้กำหนดประเภทของไฟล์ เป็น Excel Macro-Enabled Workbook (*.xlsm)




















การเรียกใช้งาน subroutine อัตโนมัติ

สำหรับ subroutine ที่จะถูกเรียกใช้งานแบบอัตโนมัติ จะใช้ชื่อว่า Workbook_open ซึ่งจะถูกเรียกใช้งานโดยอัตโนมัติเมื่อเราทำการเปิดไฟล์ Workbook ของ Excel

วิธีการกำหนดสามารถทำได้ดังนี้

1. ทำการเพิ่ม Subroutine ใหม่ โดยใช้ชื่อว่า Workbook_Open ทำได้โดย ไปที่หน้าต่าง
Project - VBAProject แล้ว ดับเบิ้ลคลิกที่รายการ ThisWorkbook 


















จะเข้าสู่หน้าต่างเขียนคำสั่ง ให้เขียนคำสั่ง ดังนี้

Private Sub Workbook_Open()
mySub 'mySub คือชื่อ subroutine ที่เราสร้างขึ้นเอง
End Sub

ทำการ บันทึก (save) workbook แล้วปิด (close)

*** อย่าลืม --- การบันทึก workbook ให้กำหนดประเภทของไฟล์ เป็น Excel Macro-Enabled Workbook (*.xlsm)

จากนั้นเปิด workbook ใหม่อีกรอบ ก็จะมีการเรียกใช้งาน mySub ผ่านทาง subroutine Workbook_Open โดยอัตโนมัติ

สำหรับ Excel VBA ตอนแรก ก็ขอจบไว้เพียงเท่านี้ 

ช่วงนี้มี เป็นช่วง เคอร์ฟิว (curfew) คือ การห้ามออกจากเคหสถานเวลาค่ำคืน ตามที่รัฐกำหนด
ขอให้ทุกคนหลับฝันดี รวยๆ เจริญๆ

26 เมษายน 2557

การสร้างผู้ใช้ใหม่ สำหรับ SQL Server

การสร้างผู้ใช้ใหม่ (user) สำหรับเข้าถึงทรัพยากรต่างๆ ของ SQL Server มีวิธีการอยู่หลายวิธี
สำหรับบทความนี้จะนำเสนอ วิธีง่ายๆ 3 ขั้นตอน สามารถทำได้ไม่ยากโดยอาศัยคำสั่ง T-SQL ซึ่งมีขั้นตอนวิธีทำดังนี้

สำหรับคำสั่งในขั้นตอนต่างๆ จะใช้สิทธิ์ของผู้ใช้ ชื่อ sa
ทำการสร้างฐานข้อมูลเตรียมไว้โดยกำหนดชื่อ เป็น kasem_db

ขั้นตอนที่ 1
ให้ทำการสร้าง ชื่อล็อกอิน (Login Name) เช่น kasem (อยู่ภายใต้เซิร์ฟเวอร์ชื่อ SUPERMAN-TWIST)
โดยกำหนดรหัสผ่านเป็น P@ssw0d และกำหนดดีฟอล์ตฐานข้อมูลชื่อ kasem_db

USE master
GO
CREATE LOGIN [SUPERMAN-TWIST\kasem] WITH PASSWORD = 'P@ssw0d'
       DEFAULT_DATABASE = [kasem_db]
GO

ขั้นตอนที่ 2
ต่อมาทำการสร้าง ชื่อผู้ใช้งานฐานข้อมูล (User Name) ปกติจะใช้ชื่อเดียวกันกับชื่อ ล็อกอินที่สร้างขึ้นก่อนหน้า เช่น kasem ให้กับฐานข้อมูล kasem_db

USE [kasem_db]
GO
CREATE USER kasem FOR LOGIN kasem

GO


ขั้นตอนที่ 3
ทำการกำหนดบทบาทของผู้ใช้งานฐานข้อมูล (database role) สำหรับตัวอย่างนี้จะใช้บทบาทของ SQL Server ได้จัดเตรียมไว้ให้ ดังแสดงในตาราง

ตารางแสดงรายละเอียดของ Fixed database role
Database Role
รายละเอียด
db_owner
กำหนดให้มีสิทธิ์ในการทำงานทุกอย่างในฐานข้อมูล
db_accessadmin
กำหนดให้มีสิทธิ์ในการ เพิ่ม ลบ ผู้ใช้งานฐานข้อมูล รวมถึงบทบาทของผู้ใช้
db_securityadmin
กำหนดให้มีสิทธิ์ในการจัดการสิทธิ์ต่างๆ ของผู้ใช้งานฐานข้อมูล
db_ddladmin
กำหนดให้มีสิทธิ์ในการใช้งานคำสั่งในกลุ่ม Data Definition Language (DDL)
db_backupoperator
กำหนดให้มีสิทธิ์ในสำรองข้อมูล (backup)
db_datareader
กำหนดให้มีสิทธิ์ในการอ่านข้อมูลของตารางในฐานข้อมูล
db_datawriter
กำหนดให้มีสิทธิ์ในการ เพิ่ม แก้ไข ลบ ข้อมูลในตารางของฐานข้อมูล
db_denydatareader
กำหนดให้ไม่สามารถอ่านข้อมูลของตารางในฐานข้อมูล
db_denydatawriter
กำหนดให้ไม่สามารถ เพิ่ม แก้ไข ลบ ข้อมูลในตารางของฐานข้อมูล

ในที่นี้กำหนดบทบาทให้กับผู้ใช้ kasem เป็น db_owner โดยเขียนคำสั่งดังนี้

USE TestDB
GO
EXECUTE sp_addrolemember 'db_owner' , 'Kasem'
GO

หรือถ้าหากต้องการกำหนดเป็นอย่างอื่น เช่น ต้องการให้ทำได้เฉพาะ การเพิ่ม แก้ไข ลบข้อมูลในตาราง และสิทธิ์ในการสำรองข้อมูล ซึ่งต้องใช้บทบาทหลายๆ อย่าง ก็สามารถเขียนคำสั่งได้ดังนี้

USE TestDB
GO
EXECUTE sp_addrolemember 'db_datareader' , 'Kasem'
EXECUTE sp_addrolemember 'db_datawriter' , 'Kasem'
EXECUTE sp_addrolemember 'db_backupoperator' , 'Kasem'
GO

เพียงขั้นตอนง่ายๆ 3 ขั้นตอน คุณก็สามารถสร้างชื่อผู้ใช้งานฐานข้อมูลได้เอง

สวัสดีมีเงินใช้ ถึงอากาศจะร้อน แต่ใจเราอย่าใจร้อน

"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.