الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهي صعبة عليكم أن شاء الله

مغلق
بدأه الغريب في 16 أبريل 2001 · 9 رد · 726 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي قاعدة بيانات في اكسس 97 أحد الجداول يحتوي على حقلي (رقم المعاملة) و(تاريخها) .

كما أن بعض المعاملات يوجد بنفس ارقامها مستندات لوورد تخص هذه المعاملات ضمن مجلد My Documents ومجلد آخر داخل نفس هذا المجلد .

السؤال :

كيف أضع زر أمر على أحد النماذج يقوم بأخذ رقم المعاملة من حقل (رقم المعاملة ) في السجل المعروض ضمن هذا النموذج ويقوم بالبحث عنه ضمن مجلد My Documents والمجلد الآخر الموجود داخله ، فإن وجده فيقوم بعرضه ضمن نفس نافذة وورد المفتوحة وليس بفتح نافذة جديدة للورد وإذا لم يجده يعطي رساله بأنه لم يعثر على أي مستندات لهذه المعاملة .

أرجو من يستطيع مساعدتي أن يكتب لي الكود اللازم لأني محتاج له في عملي اليومي .

ملاحظة : نفس السؤال قمت بوضعه ضمن منتدى فيجول بيسك لقواعد البيانات فأعتذر عن ذلك ولكن السبب هو أني محتاج إلى هالكود وسأقوم بوضع كود جيد في كلا المنتديين يقوم بمنع تكرار تسجيل السجلات وعرض السجل الذي سبق تسجيله

#2

اخي الكريم ، اخبرني ان قام احدهم بحل الموضوع ، و ان لم يقم احد ساحاول غدا الاهتمام بالموضوع ولكنه بحاجة الى وقت

#3

السلام عليكم

يمكن فتح المستند عن طريق الكود التالي:

    Dim oApp As Object
    Screen.MousePointer = 11
    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    oApp.WindowState = 1
    oApp.Documents.Open ("C:My Documents" & Me.اسم الحقل & ".DOC")

مع تعديل اسم الحقل الى مايناسبه

ولكم تحياتي

#4

شكراً

أما البحث عن الملفات فلقد وجدت دالة $dir

فكرة الكود الآن شبه مكتملة

ولكن بقي مشلكة بسيطة ان شاء الله وهي أن الكود اللي وضعه الأخ عامر يقوم بفتح كل مستند في نافذة جديدة من الوورد فهل يمكن أن تعديل الكود بحيث يقوم بفتح المستندات في نافذة واحده فقط .

سأقوم هنا بنشر الكود كاملاً أن شاء الله

#5

Private Sub أمر10_Click()

Dim oApp As Object

Dim a

a = Me.اسم_الحقل & ".doc"

If Dir$("c:My Documents" & a) = "" Then

MsgBox " لايوجد مستند لهذه المعاملة"

Exit Sub

Else

Screen.MousePointer = 11

Set oApp = CreateObject("word.application")

oApp.Visible = True

oApp.windowstate = 1

oApp.Documents.Open ("c:My Documents" & a)

End If

End Sub

طبعاً في هذا الكود مشكلتان :-

الأولى : انه يفتح كل مستند في نافذة جديدة وليس كما يفعل الويندوز من أنه يفتح جيمع ملفات الوورد في نافذة واحده.

الثانية : أنه هناك شئ يبقى معلقاً في الذاكرة حيث يتحول المؤشر إلى شكل الساعة ويبقى هكذا حتى بعد غلق نافذة الوورد .

ملاحظة : بالنسبة لشكل الكود فلم استطع أن أنسقه كما يفعل الأخوان .

#6

للرفع

#7

الأخ الغريب

بخصوص المشكلة الأولى وهي أنه يفتح في إطار جديد فجرب في خيارات الوورد في صفحة التبويب عرض امسح علامة صح من مربع التدقيق إطارات في شريط المهام .

أما المشكلة الثانية وهي تحول المؤشر الى شكل الساعة فالمسئول عنها السطر

Screen.MousePointer = 11

وإما أنك تزيله نهائيا أو تضع قبل End If في نهاية الكود السطر التالي :

Screen.MousePointer = 0

ولك تحياتي

#8

شكراً لك وسأجرب ماقلت .

#9

فعلاً ابو حمود زالت مشكلة تحول المؤشر إلى ساعة بإضافة عبارة

Screen.MousePointer = 0

إلى الكود .

لكني لم أجد ما اشرت اليه كحل للمشكلة الأولى .

#10

الأخ الغريب

لقد بحث في صفحة التبويب عرض فلم أجد ما قلت أنا فما أدري من وين جبت الكلام هذا !!! ولكن يمكن أنه في الاصدار 2002 والذي كان موجود على جهازي ولكن حذفته أما الاصدار 2000 فهذا الكلام غير موجود .

اعتذر لهذا الخطأ .

ولك تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة