يجب أن يؤدي استدعاء الوظيفة على الجانب الأيسر من المهمة إلى إرجاع خطأ في المتغير أو الكائن

StackOverflow https://stackoverflow.com//questions/23063137

سؤال

لقد قمت بتطوير برنامج في Excel vba لبعض الوقت الآن دون أي أخطاء.ومع ذلك، اليوم، لا يقوم adter إلا بالتعليق على شيء ما خارج الفرع الفرعي، حيث تقوم جميع وظائفي الآن بإلقاء علامة Function call on left-hand side of assignment must return variant or object error خطأ.انظر عينة أدناه:

Public Function fGetEmployees() As Variant()

Dim oDB As ADODB.Connection
Dim oCM As ADODB.Command
Dim oRS As ADODB.Recordset
Dim strSQL As String

On Error GoTo Err:

strSQL = "SELECT StaffId, FirstName, LastName " & _
        "FROM ptqEmployees"

Set oDB = New ADODB.Connection
oDB.Open gcConn
Set oCM = New ADODB.Command

With oCM
    .ActiveConnection = oDB
    .CommandText = strSQL
    .CommandType = adCmdText
    Set oRS = .Execute
End With

fGetEmployees = oRS.GetRows()

oRS.Close
Set oRS = Nothing
oDB.Close
Set oRS = Nothing

Exit Function

Err:
    Call fLogDBError(Err.Number, Err.Description, 4)

End Function

يتم طرح الخطأ على الخط:fGetEmployees = oRS.GetRows()

كما قيل، كان هذا يعمل دون أي مشاكل لبعض الوقت الآن.لا يوجد خيار لتصحيح الأخطاء أيضًا.

هل يمكن لأي شخص أن يساعد في ما هي المشكلة؟

هل كانت مفيدة؟

المحلول

غريب جدًا ولكني قمت بتصدير الوحدة ثم استيرادها وهي تعمل بشكل جيد الآن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top