ऐसा नहीं लगता है कि आप रिकॉर्डसेट में किसी अन्य रिकॉर्ड में जा रहे हैं। बस i
को बढ़ाना अगले रिकॉर्ड पर नहीं जाता है। आपके अन्य चर (i
) की आवश्यकता के बिना रिकॉर्डसेट पर पुनरावृति करना एक अधिक पारंपरिक तरीका होगा और rsCnt
)।
Dim rs as DAO.Recordset
Set rs = CurrentDb.OpenRecordset("qryMyQuery", DB_OPEN_DYNASET)
rs.moveFirst
Do Until rs.EOF
rs.Edit
rs!FieldNameHere = "test"
rs.Update
rs.MoveNext
Loop
संपादित करें थोड़ी खोजबीन के बाद मुझे यह धागा मिला। जो आपके मुद्दे के समान प्रतीत होता है। थ्रेड के निचले भाग में "उन्नत" टैब का चयन करके और "मिलान मिलान पंक्तियों को वापस करें" विकल्प का चयन करके आपके MySQL DSN के लिए ODBC सेटिंग्स को संशोधित करने का सुझाव दिया गया है। पोस्ट में यह भी कहा गया है कि लिंक की गई तालिका को छोड़ दें और फिर इसे अपने एक्सेस डेटाबेस से दोबारा लिंक करें। मैंने अतीत में MySQL के साथ एक्सेस का उपयोग नहीं किया है, इसलिए मुझे नहीं पता कि यह काम करेगा या नहीं, इसलिए सावधानी से आगे बढ़ें!पी>
आप रिकॉर्डसेट लॉकिंग विकल्प के लिए dbOptimistic ध्वज का उपयोग करने के लिए अपने रिकॉर्डसेट को बदलने का प्रयास कर सकते हैं यह देखने के लिए कि क्या यह बिल्कुल मदद करता है:
set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)