मैं अपना डेटा लोड होने पर इस डेटा को अपने डेटाशीट सबफ़ॉर्म पर चला रहा हूं और मुझे कोई त्रुटि संदेश या कोड ब्रेक नहीं मिल रहा है। मेरा डीबग.प्रिंट दिखाता है कि रिकॉर्ड्स आरएस 2131 रिकॉर्ड से भरा हुआ है जैसे कि यह होना चाहिए, लेकिन मेरा फॉर्म # नाम के साथ एक पंक्ति दिखाता है? हर क्षेत्र में। मेरे नियंत्रण पर नियंत्रण स्रोत गुण निश्चित रूप से ऊपर सूचीबद्ध फ़ील्ड नामों से मेल खाते हैं। आरएस एक फॉर्म लेवल वैरिएबल है और मैं इसे बंद नहीं कर रहा हूं या फॉर्म बंद होने तक इसे कुछ भी सेट नहीं कर रहा हूं।मेमोरी में, स्टैंड-अलोन, डिस्कनेक्ट किए गए एडीओ रिकॉर्ड्स
कोई विचार क्या मैं गलत कर रहा हूं?
Set rs = New ADODB.Recordset
rs.Fields.Append "TimesUsed", adInteger
rs.Fields.Append "strWorkType", adVarWChar, 150
rs.Fields.Append "DateLastUsed", adDate
rs.Fields.Append "SelectedYN", adBoolean
Set rs.ActiveConnection = Nothing
rs.CursorLocation = adUseClient
rs.LockType = adLockBatchOptimistic
rs.Open
Dim sSQL As String
sSQL = "MyComplicated SQL Statement Ommitted from this SO Question"
Dim r As DAO.Recordset
Set r = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset, dbSeeChanges)
If Not (r.EOF And r.BOF) Then
r.MoveFirst
Dim fld
Do Until r.EOF = True
rs.AddNew
For Each fld In r.Fields
rs(fld.Name) = r(fld.Name).value
Next
rs.Update
r.MoveNext
Loop
End If
r.Close
Set r = Nothing
Debug.Print rs.RecordCount '2131 records
Set Me.Recordset = rs
ठीक है, तो मैं बस this on the MSDN site पढ़ें:
recordset इस तरह के एक मेज के प्राथमिक कुंजी के रूप में एक या अधिक क्षेत्रों की अद्वितीय रूप से अनुक्रमित हैं, शामिल होना चाहिए।
(नोट: यह जानकारी इस संदर्भ में गलत हो रहा है।)
यह एक छोटी सी मेज (4 क्षेत्रों) के बाद rstADO.MoveFirst & rstADO.MoveLast का उपयोग करें। लेकिन मुझे लगता है कि मुझे वास्तव में एंटरप्राइज़ के लिए विकसित नहीं करना पड़ा है, इसलिए मैं डेटाशीट दृश्यों में बड़ी मात्रा में डेटा (10,000 रिकॉर्ड और कभी-कभी अधिक) खींचने के आदी हूं। हमारे सर्वर में गिगाबिट ईथरनेट और तेज़ हार्ड ड्राइव के साथ मुझे अपने उपयोगकर्ताओं से कोई शिकायत नहीं मिलती है, भले ही हम ओडीबीसी लिंक्ड टेबल्स के साथ डीएओ का उपयोग कर रहे हों। इसलिए, मैं वास्तव में अपने दृष्टिकोण को क्षमा नहीं कर रहा हूं जितना कि मैं बस इतना कह रहा हूं कि "अब तक" यह वास्तव में बहुत अच्छी तरह से काम करता है। – HK1