با سلام
من در VB از دستور RecordCount براي گرفتن تعداد ركوردها استفاده ميكنم اما متاسفانه اين دستور مقدار منفي يك 1- را بر ميگردونه در صورتي 2 ركورد دارم و بايد عدد 2 را برگردونه.
Printable View
با سلام
من در VB از دستور RecordCount براي گرفتن تعداد ركوردها استفاده ميكنم اما متاسفانه اين دستور مقدار منفي يك 1- را بر ميگردونه در صورتي 2 ركورد دارم و بايد عدد 2 را برگردونه.
اين موضوع اينجا هم مطرح شده و جواب داده شده. اما دليلش معلوم نيست!!!
دوست عزيز اين مربوط ميشه به نحوه باز كردن ديتا بيست در vb لطفاً موقع باز كردن بعد از نام connectionString مربوطه به شكل زيردوبار 3 بگذار:
conn,3,3
Conn.CursorLocation = 1
سلام
دوستان عزيز من بالاخره راه حل منطقي و صحيح اين قضيه را پيدا كردم كه ظاهراً در تاپيك ديگري اين قضيه بيان شده و من جهت نتيجه گيري تاپيك در زير قرار ميدهم:
rs.Open "select count(*) from TableName", db, adOpenKeyset, adLockPessimistic
RecordCount = rs(0)
دوستان این مشکل مربوط به انتخاب نوع مکان نما (کرسر) در هنگام بازکردن بانک اطلاعاتی است. به خاطر داشته باشید که اگر به همراه خاصیت RecordCount از مکان نمای Forward-Only (کرسر پیش فرض همین است) استفاده کنید، مقدار -1 برگردانده خواهد شد.
برای رفع این مشکل باید نوع مکان نما (کرسر) را قبل از بازکردن بانک اطلاعاتی مشخص کنید و یکی از انواع Scrollable که عبارتند از (adopenKeySet ، adopenDynamic ، adopenStatic ) را انتخاب کنید.
** نوع adopenDynamicدر اکسس پشتیبانی نمی شود.
موفق باشید
اگه به جاي اون عبارتها فقط دوبار عدد 3 را بگذاريد هم درسته.در واقع اين عدد معادل همون عبارتهاست
دوست عزیز به منابع زیر از شرکت مایکروسافت مراجعه کنید :
مثالی از طریقه تنظیم کرسر در رکوردست :
http://msdn.microsoft.com/en-us/library/ms675320(VS.85).aspx
توضیح کامل و جامع در مورد انواع کرسر و کاربرد آنها :
http://msdn.microsoft.com/en-us/library/ms677593(VS.85).aspx
مثالی در مورد استفاده صحیح از متد RecordCount در ویژوال بیسیک :
http://msdn.microsoft.com/en-us/library/ms681465(VS.85).aspx
موفق باشی...