أبو عبدالله الحلوانى قام بنشر يناير 25, 2017 قام بنشر يناير 25, 2017 السلام عليكم بحثت مطولا عن طريقة ما لحفظ التطبيق بصيغة accde باستخدام الاكواد وقد وجدت هذه الأكواد التى يتم تشغيل بعضها من خلال vb.net وبعضها خاص بالأكسس ولكن للأسف لم تعمل معى بشكل صحيح '1- By Vb.net 'Here's some code I tried (to make this work you need to set a reference to Microsoft Access 11.0 'Object Library) : Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Integer) As Integer Private Sub BuildMDE(ByRef strSource As String, ByRef strDest As String) 'strSource is the mdb file name ioAccess = New Microsoft.Office.Interop.Access.Application ioAccess.Visible = True SetForegroundWindow(ioAccess.hWndAccessApp()) 'Just to make sure Access is the foreground window! Try System.Windows.Forms.SendKeys.Send(strSource & "{Enter}{Enter}") System.Windows.Forms.SendKeys.Send("{Enter}") ioAccess.RunCommand(Microsoft.Office.Interop.Access.AcCommand.acCmdMakeMDEFile) Catch ex As Exception MessageBox.Show(ex.ToString) Finally System.Windows.Forms.Application.DoEvents() ioAccess.Quit() ioAccess = Nothing System.GC.Collect() 'OK we need som serious cleaning up here ...... End Try End Sub ---------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------- '2- By vb.net Function GenerateMDEFile(ByVal MyPath As String) Dim NAcc As Access.Application Dim convPath As String = "C:\convDB.mdb" Try NAcc = CreateObject("Access.Application") NAcc.ConvertAccessProject(MyPath, convPath, AcFileFormat.acFileFormatAccess2002) System.Windows.Forms.SendKeys.SendWait(MyPath & "{Enter}{Enter}") System.Windows.Forms.SendKeys.SendWait(MyPath & "{Enter}") NAcc.DoCmd.RunCommand(AcCommand.acCmdMakeMDEFile) Catch ex As Exception MsgBox("Exception: " & ex.Message & " " & ex.ToString, MsgBoxStyle.Critical) Finally System.Windows.Forms.Application.DoEvents() NAcc.Quit() NAcc = Nothing End Try End Function --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- ' On Access Vba Code Public Function MakeACCDESysCmd(InPath As String, OutPath As String) Dim app As New Access.Application app.AutomationSecurity = msoAutomationSecurityLow app.SysCmd 603, InPath, OutPath End Function يحتوى الأكسس على هذا الأمر الجاهز Docmd.RunCommand ACcmdMakeMDEFile ولكننى لم أستطع معرفة طريقة تمرير مسار قاعدة البيانات اليها فهل من مساعدة وجزاكم الله خيرا 1
أبو عبدالله الحلوانى قام بنشر يناير 27, 2017 الكاتب قام بنشر يناير 27, 2017 يبدو أنى أطلت باسؤال لدرجة أوصلت لعزوف القراء عنه من أول نظرة وعلى كل هذه محاولة منى للوصول للمطلوب ولكنها ناقصة وبحاجة لتوجيه - لعلى لا أعدم ذلك من أهل الخبرة. هذه المحاولة Private Sub Command0_Click() Dim NAcc As Access.Application MyPath = "C:\Users\ãÍãÏ ÝÑíÏ\Desktop\Test64\2.accdb" convPath = "C:\Users\ãÍãÏ ÝÑíÏ\Desktop\Test64\2.accde" Set NAcc = CreateObject("Access.Application") NAcc.ConvertAccessProject MyPath, convPath, acFileFormatAccess2007 NAcc.DoCmd.RunCommand (AcCommand.acCmdMakeMDEFile) DoEvents NAcc.Quit NAcc = Nothing End Sub وهذه النتيجة
ابوخليل قام بنشر يناير 27, 2017 قام بنشر يناير 27, 2017 وعليكم السلام هذا يابو عبدالله يعمل عندي على الاصدار 2003 جرب وغير امتداد الملفات لعله يعمل عندك Private Sub zer1_Click() CreateMDE End Sub Public Sub CreateMDE() Const strcMDBFullPath As String = "d:\db1.mdb" Const strcMDEFullPath As String = "d:\db1.mde" Dim objACC As Access.Application Set objACC = New Access.Application objACC.SysCmd 603, strcMDBFullPath, strcMDEFullPath objACC.Quit acQuitSaveNone Set objACC = Nothing End Sub main.rar 3
أبو عبدالله الحلوانى قام بنشر يناير 27, 2017 الكاتب قام بنشر يناير 27, 2017 1 ساعه مضت, ابوخليل said: هذا يابو عبدالله يعمل عندي على الاصدار 2003 لا حرمنا الله منكم وزادكم فضلا وعلما وقد عمل عندى أيضا على 2010 ويبدو أن الخطأ كان بعدم اضافة مرجع access 14.0 object Library ملاحظاتى على الكود: 1- يجب اضافة هذا المرجع access 14.0 object Library 2- يجب أن تكون قاعدة البيانات الهدف قابلة لأخذ نسخة accde / أو Mde وذلك بعمل Compile Database جزاكم الله عنا خيرا - جمعة مباركة عليكم جميعا 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.