اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته

حقيقة أشعر اليوم بالاحباط فسأحاول أن أستعير الوجه الباسم حتي لا أزعجكم :smile: بكآبتي اليوم 

بعد أن أنهيت العمل علي المشروع الذي ارهقني وأقلق منامي، وبدأت بعمل التجربة النهائية قبل التسليم فوجئت بهذا الخطأ الغريب :blink:

أستخدم كود لإعادة الربط بقاعدة البيانات الخلفية عند الحاجة و عند التشغيل الأول للبرنامج علي جهاز آخر

حتي لا أطيل عند تجربة فتح البرنامج وتغير مسار قاعدة البيانات وتنفيذ الكود يتم الارتباط بالجداول وتظهر لوحة التبديل (navigation pane)  ولا أدري لماذا تظهر لوحة التبديل بعد اعادة الارتباط بالجداول قمت بعدت محاولات وضعت كود اخفاء تلك اللوحة بعد استيراد كل جدول ووضعت الكود عند فتح النافذة التالية بعد الارتباط ووضعته مرة أخري عند تحميل نفس النافذة ولكن دون جدوي :wallbash: لا أدري أين الخلل 

ملاحظة: المشكلة ظهرت بعد عمل الملف التنفيذي للبرنامج وتسطيبه ولم تكن تظهر عند كتابة الكود لأول مرة وتجربته:blink:

هذا هو كود الارتباط  

Public Sub CreateTableLink(strBEPath, strSourceTableName, Optional strPassword = "")

Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim strConnect As String
Dim strLinkName As String
On Error GoTo errLink
strLinkName = strSourceTableName

strConnect = "MS Access;PWD=" & strPassword & _
    ";DATABASE=" & strBEPath
Debug.Print strConnect & " " & strLinkName
Set db = CurrentDb
Set tdf = db.CreateTableDef
tdf.Connect = strConnect
tdf.SourceTableName = strSourceTableName
tdf.Name = strLinkName
'tdf.Attributes = dbHiddenObject
Recreate:
db.TableDefs.Append tdf
db.TableDefs.Refresh
Set tdf = Nothing
Set db = Nothing
DisplayHideNavPane False

Exit Sub
errLink:
    If Err.Number = 3012 Then
    'this conniction is created before this time
        db.TableDefs.Delete strSourceTableName
        DisplayHideNavPane False
        GoTo Recreate
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
End Sub

وهذا كود لاخفاء الـ (navigation pane) 

Sub DisplayHideNavPane(Optional Visible As Boolean = True)
    DoCmd.SelectObject acForm, , True
    If Visible = False Then DoCmd.RunCommand acCmdWindowHide
End Sub

'and call it like this:
DisplayHideNavPane False

وهذا فيديو للمشكلة التي تحدث 

 

 

قام بنشر

طيب ممكن تجرب الكود الاتى 


Public Function DisplayHideNavPane(Optional Visible As Boolean = True)
On Error GoTo ErrHandler
    DoCmd.SelectObject acForm, , True
    'Hide ribbon of access window
    DoCmd.ShowToolbar "Ribbon", acToolbarNo

    'select the navigation pange
    Call DoCmd.NavigateTo("acNavigationCategoryObjectType")
    'hide the selected object
    Call DoCmd.RunCommand(acCmdWindowHide)

Exit Function
ErrHandler:
MsgBox Err.Description, vbCritical, "Error"
End Function

'and call it like this:
DisplayHideNavPane False

 

  • Like 2
قام بنشر

تم حل المشكلة والحمد لله

وجزاكم الله عني خيرا 

لم يكن هناك حاجة لتكرار كود الاخفاء في أكثر من فورم (السهر يؤي الي ظهور المشكلات دائما :biggrin:)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information