office developer setup ใครใช้แล้ว work ตอบที
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 287   3
URL.หัวข้อ / URL
office developer setup ใครใช้แล้ว work ตอบที

ใครเคยใช้ office dev ทำแผ่นรันไทม์ไปติดตั้งบนเครื่องที่ไม่มี offce ติดตั้งอยู่ได้บ้าง

ผมลองแล้ว รันปุ๊ป เออร์เรอร์ทันที

ผมใช้ ode 2k

โดยตัวโปรแกรมmde ติดตั้งในเครื่องลูก แล้ว data.mdb อยู่ที่ server

ใครทมีประสบการ์ณ แวะมาปรึกษาด้วยครับ

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

1 @R04078
เอ ผมถามคำถามยากไปหรือเปล่าเนี่ย ไม่ยักมีคนตอบเลย :(

ขออธิบายแบบละเอียดเลย ก็แล้วกัน

ลง office runtime แบบ full version แล้ว เอา program.mde ลงติดตั้ง
พอรันโปรแกรมก็ error ทันที เพราะผมเขียน code ให้โปรแกรมเรียกหา data.mdb เพื่อเชื่อมฐานข้อมูลมาจาก server

Access Runtime 2000

ซึ่งผมสันนิฐานว่า office runtime version อาจจะไม่รองรับ VBA หรือเปล่า เพราะผมเขียน code VBA ในโปรแกรมทั้งหมด โดยไม่มีการ bound form กับเทเบิลเลย และมีการเรียก API function มาใช้ด้วย แต่พอผมลงโปรแกรมชุด office พร้อมaccess ด้วยก็รันโปรแกรมผ่านฉลุยได้ทันที! (เออ เอากะมันสิวะ)

** ปัญหาที่เจอนี้ ผมเคยทดสอบตั้งแต่ต้นปีแล้ว พอเจอ error ก็ไม่ได้ทดสอบต่ออีก
แต่ตอนนี้ลูกค้าผมเค้าจ้างผมพัฒนาโปรแกรม แต่เค้ากลัวเรื่องลิขสิทธิ์ ผมเลยต้องไปรื้อ ode มาปัดฝุ่น ลองใหม่ แต่ขี้เกียจฟอร์แมตฮาร์ดดิกส์ เพราะถ้าผมจะทดสอบรันไทม์ ผมจะต้องไม่ลง office เลยในเครื่องนั้น เลยต้องแวะมาถามท่านผู้รู้ก่อนดีกว่า

ถ้าท่านอาจารย์สุภาพหรือเพื่อนๆ ผู้มีประสบการณ์ เคยใช้ MOD หรือ ODE (แล้วแต่ใครจะเรียกก็ตาม) ใช้งานได้ดี ไม่มีปัญหา ขอคำแนะนำด้วย ขอบคุณล่วงหน้าสำหรับทุกคำตอบ
2 @R04081
ปัญหาอาจอยู่ที่รายการใน References ที่ได้ตั้งไว้ ไม่มี หรือ มีแต่ต่างเวอร์ชันกัน ในเครื่องเป้าหมายครับ ลองตรวจดูว่ามีการเพิ่ม References อะไรไว้บ้าง

อาจทดสอบง่ายๆ โดยการทำโปรแกรมจำลองแบบง่ายๆ โดยไม่ต้องกำหนด References อะไร ทำเป็น Back End / Front End เหมือนเดิม แล้วนำไปติดตั้งดูว่าปัญหา หรือได้ Error ตัวเดิมหรือเปล่า จะได้ตัดปัญหาไปที่ละอย่าง

ถ้าผมต้องเรียกใช้ dll เพิ่มเติม ผมจะติด dll ตัวนั้นไปด้วย แล้วลงทะเบียบใหม่ตอนที่ลงโปรแกรมเรา ซึ่ง dll พวกนี้สามารถเก็บไว้ในห้องเดียวกับไฟล์โปรแกรมของเราได้
ซึ่งผมจะใช้โค้ดในหน้า http://agserver.kku.ac.th/basiceng/activexreg.asp ช่วยครับ

อีกส่วนหนึ่งอย่างให้ดูคือ การเขียนโค้ดแบบ Late Binding ซึ่งจะไม่ต้องกำหนด References และไม่ต้องกังวลกับเรื่องเวอร์ชันที่ต่างกัน โดยเฉพาะการใช้ DAO และ ADO ไม่ทราบว่าใช้ตัวไหนครับ

ตัวอย่างการเขียนโค้ดแบบ Late Binding

Dim con As Object, rst As Object
Set con = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
...

ส่วนการใช้ VBA นั้น ที่ผมได้ยินมา เขาแนะนำให้เขียนโดยใช้ VBA ให้มากที่สุด เพราะถ้าใช้ Macro หรือโค้ดที่อ้างอิงคำสั่งในเมนูต่างๆ ซึ่งจะถูกตัดไปในเวอร์ชัน Runtime จะทำให้ไม่สามารถทำงานได้

ผมว่าลอง Error Message ที่มันฟ้องมา แล้วลองวิเคราะห์หาสาเหตุ หรือลองเอา Error Message ไปค้นใน MS หรือ Google ดู อาจจะมีคนเคยมีปัญหานี้แล้วก็ได้ครับ
3 @R04093
ขอบคุณอาจารย์สุภาพ ที่มาตอบคำถามครับ

เอาไว้ผมจะลองทดสอบ ถ้าได้ error จะcapture ภาพมาให้ดูครับ

@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0410s