สอบถามขอบเขตตัวแปรในการเขียน VBA
กระทู้เก่าบอร์ด อ.Yeadram

 1,766   2
URL.หัวข้อ / URL
สอบถามขอบเขตตัวแปรในการเขียน VBA

ผมประกาศตัวแปร และให้ค่าตัวแปรนั้น ก่อนที่จะเรียก Report ให้ทำงาน   ใน Report ผมไม่สามารถเรียกใช้ตัวแปรนั้นได้            แต่ถ้าประกาศตัวแปรนั้น ใน Module จะใช้ตัวแปรนั้นได้     การต้องประกาศตัวแปรใน Module ไม่สะดวก และยุ่งยาก ในการเขียนโปรแกรม VBA   อยากทราบจะแก้ปัญหานี้อย่างไร ขอบคุณครับ

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

1 @R11374
โค้ดใน Forms, Reports อยู่ในระดับ class module
แต่โค้ดใน Modules อยู่ในระดับ module

class module ทำงานภายใต้ตัวมันเอง ไม่สามารถเข้าถึงตัวแปรของคลาสอื่น ๆ ได้ แม้จะเป็นคลาสชนิดเดียวกันหรือต่างชนิดกัน

ส่วน module นั้นสามารถเข้าถึงได้จากทุก ๆ คลาส ทั้งนี้ขึ้นอยู่กับการออกแบบ

ดูข้อมูลเพิ่มเติมเรื่อง Variable Scope ในหนังสือจากหัวข้อ 'Macro&VBA'

chat: beem_p@yahoo.com
2 @R11375
ใน Module
แค่ สร้าง โมดูล ขึ้นมา
แล้ว เซฟชื่อ ไว้ เป็น
"Module Public Variable"

เวลาจะเพิ่ม ตัวแปร ใหม่ๆ ก็ เข้าไป เพิ่ม ในนี้ ครับ

ไม่น่าจะยุ่งยาก

ส่วน การประกาศ
ก็ แค่

Public "ชื่อตัวแปร" As "ชนิด ตัวแปร"

ไม่ใช่เหรอครับ

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