سلام
اجازه بديد يه گريز ديگه بزنيم به يك مشكل مرتبط كه فكر مي كنم اكثر دوستان كم و بيش با اون برخورد داشتن .
اگر دقت كرده باشيد در مواردي خطاي كامپايل با عنوان User-Defined Not Defined ظاهر ميشه و اين خطا در حالي رخ ميده كه حتي Reference مربوط به Microsoft DAO Object Library تيك خورده و مشكلي هم نداره منتها در زمان تعريف متغير ديتابيس و ركوردست به اين شكل اقدام شده :
Dim Db As Database
Dim Rs As Recordset
اينجور مواقع معمولاً خطا روي خطي كه ركوردست ما Set ميشه قرار ميگيره
Set Rs = Db.OpenRecordset("Table1")
حالا در فايلهايي كه اين اتفاق رخ ميده اگر شما در خط تعريف متغيير يه اين شكل عمل كنيد مشكل در 98 درصد مواقع حل ميشه :
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
و اما 2 درصد بقيه مواقعيه كه ممكنه روشهاي فوق افاقه نكنه و شما نهايتاً مجبور به Repair و يا نصب Office بشيد
آقا نبيل اگر خاطرتون باشه مشكل دوستمون dadsara در تاپيك نمونه هاي كاربردي و آموزشي VBA از همين دست مشكلات بود
نتيجه : توصيه هاي دوستمون آقا نبيل رو در خصوص تعريف صريح متغييرهاي مرتبط با اشياء موجود در كلكسيونهاي VBA رو حتماً رعايت كنيد .