تم الوصول الى الخلل
السبب وجود فرز في هذه الاستعلامات order by وكان الكود يضيف هذه الزيادة الى الاسم
ثم عمدت الى الاستفادة من الدالتين كليهما
العلامة المنقوطة كانت تظهر في دالة الاستاذ foksh فعملت خلطة خاصة بين الكودين وخرجت بهذه النتيجة المحكمة :
Public Function GetTableNameFromComboBox(cbo As ComboBox) As String
On Error Resume Next
Dim strTableName As String
Dim ctl As Control
Set ctl = cbo
If Not ctl.RowSourceType = "" And Not ctl.RowSource Like "SELECT*" Then
Exit Function
End If
If ctl.RowSourceType = "Table/Query" Then
strTableName = Mid(ctl.RowSource, InStr(ctl.RowSource, "FROM ") + 5) ' يتم استخراج الجزء بعد الكلمة "FROM"
strTableName = Left(strTableName, InStr(strTableName, ";") - 1) ' يتم استخراج الجزء قبل الفاصلة المنقوطة
ElseIf ctl.RowSourceType = "Value List" Then
strTableName = "Value List"
End If
' استخرج اسم الجدول من الجملة SQL
GetTableNameFromComboBox = strTableName
End Function
الفضل لله ثم لكم احبتي
والاستدعاء :
GetTableNameFromComboBox(ComboBoxName)