ابو عبد الله العراقي قام بنشر الثلاثاء at 21:59 قام بنشر الثلاثاء at 21:59 السلام عليكم ورحمة الله وبركاته الأستاذة الافاضل الـــ Data type في sql server للروابط (link) هو text أما Data type في الاكسس للروابط فهي ارتباط تشعبي (hyperlink ) ، فعندما قمت بربط الاكسس بــ sql server وأحد الجداول في sql server فيها واحد من الحقول هو رابط موقع معين لذلك اخذ نوع البيانات كما اسلفت text وأيضا في الاكسس اخذ نفس النوع من البيانات أيضا text وتم جلب الرابط كما هو sql server لكن المفروض انه الروابط في الاكسس هي hyperlink لكي عندما نريد فتح الرابط في نموذج الاكسس فقط نضغط على الرابط اما الان بعد الربط مع sql server لا استطيع فتح الرابط عند الضغط عليه وانما لكي افتح الرابط لازم اعمل نسخ للرابط ثم اضعه في المتصفح . الفكرة التي تراودني هي ان اضع رز فتح الرابط في نفس النموذج وهو يقوم بفتح الروابط حسب السجلات لكن كيف ابدأ بصناعة هذا الكود ؟؟؟ او اذا كان هناك حل اخر . افيدوني وجزاكم الله خيراً
Foksh قام بنشر الثلاثاء at 22:15 قام بنشر الثلاثاء at 22:15 (معدل) وعليكم السلام ورحمة الله وبركاته ,, في النموذج ، وبعد ان تحدد مربع النص الذي يتم عرض الروابط فيه ، من تبويب Format - تنسيق ، فعل الخيار التالي :- لتحصل على النتيجة :- إضافة الى ما سبق ، تستطيع إضافة الكود التالي لمربع النص في حدث عند النقر :- Dim link As String link = Me.Emails.Value If link <> "" Then Application.FollowHyperlink link End If حيث في مثال ، اسم مربع النص هنا = Emails تم تعديل الثلاثاء at 22:32 بواسطه Foksh إضافة كود لفتح الرابط 3
ابو عبد الله العراقي قام بنشر بالامس في 08:43 الكاتب قام بنشر بالامس في 08:43 السلام عليكم ورحمة الله وبركاته اخي الكريم ، عاشت ايدك تم تحويل مربع النص والذي اسمه (lin_address) إلى hyperlink وا يضأ قمت بإضافة الكود في حدث عند النقر Dim link As String On Error GoTo lil: link = Me.lin_address If link <> "" Then Application.FollowHyperlink link Exit Sub lil: MsgBox Err.Number & Err.Description End If وعملت له Debug ماكو أي مشكلة لكن عند حفظ النموذج والنقر على الرابط في مربع النص تظهر ثلاث رسائل خطأ الأول هي إشعار الأمان لـmicrosoft access فيها زرين الأول نعم والأخر لا فاذا ضغطت على نعم تظهر رسالة run-time error 16388 ونصها ( لا يمكن أن يتم اتباع الارتباط التشعبي إلى الوجهة ) وإذا قمت بالضغط على لا تظهر رسالة run-time error 490 ونصها ( لا يمكن فتح الملف المحدد ) . وكلا الرسالتين يشيران إلى السطر البرمجي Application.FollowHyperlink link علما إني أيضا قد وضعت كود معرفة ارقام الخطأ فهي تظهر نفس الأرقام (16388 ) و ( 490) ما هي المشكلة ؟؟؟
ابو عبد الله العراقي قام بنشر بالامس في 16:14 الكاتب قام بنشر بالامس في 16:14 السلام عليكم ورحمة الله وبركاته استاذ هذا المثال مرفق على رسائل الخطأ hyperlinErr.rar
Foksh قام بنشر بالامس في 16:23 قام بنشر بالامس في 16:23 7 ساعات مضت, ابو عبد الله العراقي said: ما هي المشكلة ؟؟؟ انظر المشكلة :- لاحظ كيف يتم تخزين قيم العنوان الإلكتروني في الجدول داخل الحقل !!!! وهذا مرفقك لتتوضح الصورة لك !! hyperlinErr.accdb
kkhalifa1960 قام بنشر بالامس في 16:24 قام بنشر بالامس في 16:24 يبدو أن المشكلة مرتبطة إما بإعدادات الأمان في Microsoft Access أو بنوع الرابط المخزن في lin_address. إليك عدة حلول ممكنة: 1. تعديل إعدادات الأمان في Access عند النقر على الرابط، تظهر لك رسالة الأمان الخاصة بـ Microsoft Access، وهذا قد يمنع تنفيذ الأوامر المتعلقة بـ FollowHyperlink. لتجاوز هذا، جرب الآتي: افتح Access، ثم اذهب إلى File > Options > Trust Center اختر Trust Center Settings انتقل إلى Macro Settings وتأكد من تحديد Enable all macros انتقل إلى Trusted Locations، وأضف المسار الذي يوجد فيه ملف قاعدة البيانات (إذا لم يكن مضافًا بالفعل) بعد هذه الخطوة، أعد تشغيل Access وجرب مجددًا. 2. التحقق من صحة الرابط المخزن تأكد أن lin_address يحتوي على رابط صالح، مثل: لملف محلي: C:\Users\YourUser\Documents\example.pdf لموقع ويب: https://www.example.com لمجلد مشترك: \\ServerName\SharedFolder\File.pdf 🔹 إذا كان الرابط يحتوي على مسافات، جرب وضعه بين علامات اقتباس: link = """" & Me.lin_address & """" 3. تعديل الكود لمعالجة الأخطاء المحتملة استبدل الكود الحالي بهذا الكود المعدل لمعالجة الأخطاء وإضافة طريقة مختلفة لفتح الملفات المحلية: Dim link As String On Error GoTo ErrorHandler link = Me.lin_address If link <> "" Then If Left(link, 4) = "http" Or Left(link, 3) = "www" Then ' فتح روابط الويب Application.FollowHyperlink link ElseIf Dir(link) <> "" Then ' فتح ملفات محلية باستخدام Shell Shell "explorer.exe " & link, vbNormalFocus Else MsgBox "الرابط غير صالح أو الملف غير موجود.", vbExclamation, "تنبيه" End If End If Exit Sub ErrorHandler: MsgBox "خطأ رقم: " & Err.Number & vbCrLf & Err.Description, vbCritical, "خطأ" 🔹 ماذا يفعل هذا الكود؟ ✔ إذا كان الرابط موقع ويب (http أو www)، يستخدم FollowHyperlink. ✔ إذا كان الرابط ملفًا محليًا، يتم فتحه بـ Explorer بدلًا من FollowHyperlink. ✔ إذا كان الرابط غير صالح، يظهر تنبيه بدلاً من رسالة خطأ. 4. التأكد من صلاحيات الملفات والمجلدات إذا كنت تحاول فتح ملف محلي، تأكد أن الملف موجود في المسار الصحيح. تأكد أن لديك صلاحيات الوصول إلى الملف، خاصة إذا كان على شبكة أو في مجلد محمي.
تمت الإجابة ابو عبد الله العراقي قام بنشر منذ 11 ساعات الكاتب تمت الإجابة قام بنشر منذ 11 ساعات السلام عليكم ورحمة الله وبركاته الأستاذة الافاضل Foksh , kkhalifa1960 شكراً جزيلاً لكما على تواصلكم ومساعدتي في حل هذه المشكلة ، يبدو أن المشكلة في نسخة الـــoffice عندي هو الرابط حاليا يعمل لكن بعد ظهور رسالة الخطأ يعني عند الضغط على اللينك تظهر رسالة الخطأ ثم يفتح الرابط ، على العموم شكرا لكما مرة أخرى وما قصرتوا ؟ 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.