ابوخليل قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات السلام عليكم المرفق ادناه يحتوي مثل ما في الصورة المعروضة عند النقر على الزر يفتح مربع حوار اكسس ، وعند النقر على Open يتم فتح المرفق المطلوب : لا اريد ظهور مربع حوار اكسس اريد ان يتم فتح المرفق من الزر مباشرة DbTest.rar
kanory قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه 22 دقائق مضت, ابوخليل said: ند النقر على الزر يفتح مربع حوار اكسس ، وعند النقر على Open يتم فتح المرفق المطلوب : لا اريد ظهور مربع حوار اكسس اريد ان يتم فتح المرفق من الزر مباشرة وعليكم السلام اهلا بك استاذي القدير @ابوخليل في حالة المرفق داخل قاعدة البيانات ..... دائما التعامل يكون بحيلة سواءا لفتح المرفق او عرض المرفق مباشرة .... والحيله هي تصدير المرفق ثم التعامل معه .... في مثالك مثلا والطلب بفتح المرفق مباشرة .... الكود يقوم اولا بتصديره ثم فتحه .... جرب هذا الكود لاني لم افتح القاعدة التي لديك Private Sub cmdOpenAttachment_Click() Dim rs As DAO.Recordset2 Dim rsA As DAO.Recordset2 Dim fld As DAO.Field2 Dim tmpPath As String Dim fileName As String 'افتح السجل الحالي Set rs = Me.Recordset 'اسم الحقل الذي يحتوي على المرفق Set fld = rs.Fields("MyAttachmentField") '← غيّر الاسم حسب جدولك If fld.Value Is Nothing Then MsgBox "لا يوجد مرفق لفتحه.", vbExclamation Exit Sub End If 'افتح المرفق داخل الحقل Set rsA = fld.Value If rsA.RecordCount = 0 Then MsgBox "لا يوجد مرفق.", vbExclamation Exit Sub End If rsA.MoveFirst 'الاسم الأصلي للمرفق fileName = rsA.Fields("FileName").Value 'حدد مسار مجلد مؤقت tmpPath = Environ("TEMP") & "\" & fileName 'احفظ المرفق كملف مؤقت rsA.Fields("FileData").SaveToFile tmpPath 'افتح الملف بالبرنامج الافتراضي FollowHyperlink tmpPath End Sub 1
Foksh قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه متابع عن بعد 😊 لأن ما يفعله آكسيس هو استخراج المرفق إلى مجلد Temp ثم فتحه باستخدام :- FollowHyperlink filePath
ابوخليل قام بنشر منذ 1 ساعه الكاتب قام بنشر منذ 1 ساعه 21 دقائق مضت, Foksh said: متابع عن بعد 😊 لأن ما يفعله آكسيس هو استخراج المرفق إلى مجلد Temp ثم فتحه باستخدام :- يجب ان تتابع عن قرب افتح مجلد التيمب بعد اظهار المجلدات المخفية واجعله مفتوحا من اجل تتأكد عند الاجراء انا اعتقد انه يستخدم جدولا مخفيا
Foksh قام بنشر منذ 58 دقائق قام بنشر منذ 58 دقائق 27 دقائق مضت, ابوخليل said: انا اعتقد انه يستخدم جدولا مخفيا اعتذر عن مقاطعتك ومخالفتك الرأي .. فآكسيس يستخدم المسار التالي في مربع حوار المرفقات عند النقر على الزر Open C:\Users\Foksh\AppData\Local\Microsoft\Windows\INetCache\ACC9BE9 المسار من جهازي الشخصي باستبدال اسم المستخدم Foksh في جهازك للتجربة
Foksh قام بنشر منذ 48 دقائق قام بنشر منذ 48 دقائق انظر الصورة المرفقة للتأكد . لذالك ، وتحقيقاً لنفس الفكرة من زر Open .. استخدمت الدالة التالية :- Public Sub OpenAttachmentFile(ByVal RecordID As Long, Optional ByVal PKFieldName As String = "ID") Dim rs As DAO.Recordset Dim rst As DAO.Recordset2 Dim filePath As String Dim cachePath As String Dim subFolder As String cachePath = Environ("LOCALAPPDATA") & "\Microsoft\Windows\INetCache\" Randomize subFolder = "ACC" & Int((9999 * Rnd) + 1) If Dir(cachePath & subFolder, vbDirectory) = "" Then MkDir cachePath & subFolder End If Set rs = CurrentDb.OpenRecordset("SELECT progIcon FROM tblEnDc WHERE " & PKFieldName & "=" & RecordID) Set rst = rs.Fields("progIcon").Value If Not rst.EOF Then filePath = cachePath & subFolder & "\" & rst.Fields("FileName").Value If Dir(filePath) = "" Then rst.Fields("FileData").SaveToFile filePath End If FollowHyperlink filePath End If rst.Close: Set rst = Nothing rs.Close: Set rs = Nothing End Sub واستدعيها حسب رقم السجل من خلال الزر كما يلي :- Call OpenAttachmentFile(Me.ID) طبعاً اسم المجلد عشوائي لمحاكاة نفس اسلوب آكسيس في السطر subFolder = "ACC" & Int((9999 * Rnd) + 1) 1
ابوخليل قام بنشر منذ 31 دقائق الكاتب قام بنشر منذ 31 دقائق منذ ساعه, kanory said: والحيله هي تصدير المرفق ثم التعامل معه .... في مثالك مثلا والطلب بفتح المرفق مباشرة .... الكود يقوم اولا بتصديره ثم فتحه .... جرب هذا الكود لاني لم افتح القاعدة التي لديك هذا الكود تم تداوله في موضوعنا السابق وكنت اريد تجاوز الوسيط جزاك الله خيرا اقتباس لذالك ، وتحقيقاً لنفس الفكرة من زر Open .. استخدمت الدالة التالية :- تمام ارفع يدي استسلاما اخي فادي .. وان ما تفضلت به عين الحقيقة وهو الذي يقوم به اكسس ايضا لاحظت بالتتبع انه يحذف المرفق بعد الاغلاق .. وهذا جيد .. سوف اطبقها
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان