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

كود ل Microsoft Access الجزء الاول

مغلق
بدأه خضر ترزي في 21 أبريل 2001 · 7 رد · 1,173 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخفاء شاشة اكسس

الرئيسية

هناك الكثير من المشاريع الصغيرة تصنع بواسطة

فيجوال بيسك نظرا لانها قد تحتوي على عدة نماذج منفصلة بدون شاشة رئيسية تحتوي

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

به لاستحالة اخفاء الشاشة الرئيسية

ولكن بمقدورنا اخفاء الشاشة الرئيسية بكل

بساطة عن طريق بعض اوامر ويندوس الاساسية واليكم المثال التالي

قم بانشاء قاعدة بيانات جديدة

قم بانشاء

Module

وضع به الكود التالي

'************ Code Start **********

Global Const SW_HIDE = 0

Global Const SW_SHOWNORMAL = 1

Global Const SW_SHOWMINIMIZED = 2

Global Const SW_SHOWMAXIMIZED = 3

Private Declare Function apiShowWindow Lib "user32" _

  Alias "ShowWindow" (ByVal hwnd As Long, _

  ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)

'Usage Examples

'Maximize window:

' ?fSetAccessWindow(SW_SHOWMAXIMIZED)

'Minimize window:

' ?fSetAccessWindow(SW_SHOWMINIMIZED)

'Hide window:

' ?fSetAccessWindow(SW_HIDE)

'Normal window:

' ?fSetAccessWindow(SW_SHOWNORMAL)

'

Dim loX  As Long

Dim loForm As Form

  On Error Resume Next

  Set loForm = Screen.ActiveForm

  If Err <> 0 Then 'no Activeform

  If nCmdShow = SW_HIDE Then

  MsgBox "Cannot hide Access unless " _

  & "a form is on screen"

  Else

  loX = apiShowWindow(hWndAccessApp, nCmdShow)

  Err.Clear

  End If

  Else

  If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then

  MsgBox "Cannot minimize Access with " _

  & (loForm.Caption + " ") _

  & "form on screen"

  ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then

  MsgBox "Cannot hide Access with " _

  & (loForm.Caption + " ") _

  & "form on screen"

  Else

  loX = apiShowWindow(hWndAccessApp, nCmdShow)

  End If

  End If

  fSetAccessWindow = (loX <> 0)

End Function

'************ Code End **********

 

قم بانشاء نموذج وهو النموذج الرئيسي

لبرنامجك وضع به زرين وسمي احدهما

اخفاء الشاشة الرئيسية

واربط معه الكود التالي

fSetAccessWindow SW_HIDE

والثاني

اظهار الشاشة الرئيسية

واربط معه الكود التالي

fSetAccessWindow SW_SHOWNORMAL

ومن ثم غير بعض الخصائص الخاصة بالنموذج الى

ما يلي

Pop Up = YES

Modal = YES

وتلك الخصائص مهمة للغاية لان بدونها سيختفي

النموذج مع الشاشة الرئيسية

ويبقى ان تشغل البرنامج وتشاهد النتيجة

ملاحظة : عندما تضع الكود في برامجك

المستقبلية تاكد جيدا بان البرنامج خالي من الاخطاء ، لانك ستواجه صعوبة في اظهار

شاشات الخطاء عندما تكون النافذة الرئيسية مخفية

#2

Progress Meter

بداخل شريط ال

Status Bar

عندما تشغل استعلام ما او عندما

يقوم اكسس بالقيام بعملية طويلة ، تجده يظهر اسفل النافذة الرئيسية شريط متحرك تبين

الزمن المتبقي لانجاز تلك العملية

ولكن عندما تقوم بصناعة برنامجك

فتضطر الى صناعة شريط متحرك خاص بك في معظم الاحيان

ولكن ماذا عن الشريط المتحرك الخاص

بالنافذة الرئيسية ؟

الكود التالي يعطينا مثال لطريقة

استخدام ذلك الشريط المتحرك ، ويفضل ربطه مع زر ما

Sub ProgressMeter()

Dim i, j As Long

  SysCmd acSysCmdInitMeter, "Text", 10

  For i = 1 To 10

    For j = 1 To 1000000: Next j

    SysCmd acSysCmdUpdateMeter, i

  Next i  

  SysCmd acSysCmdClearStatus

End Sub

ملاحظة : الكود بالاحمر هو كود

تاخير فقط ، لتستطيع رؤية الشريط يتحرك ببطء ، ويجب عليك حذفة من برامجك الحقيقية

#3

الحصول على اسم الكومبيوتر

قد يرغب البعض في الحصول على اسم

الكومبيوتر الموجود على الشبكة وذلك في بعض قواعد البيانات المصممة لاستخدام الشبكة

او لتعقب الاجهزة المستخدمة لقاعدة البيانات او لامور اخرى

قم بانشاء

Module

جديد وضع بع الكود التالي

'********************

Code Start *************************

Private Declare Function apiGetComputerName Lib "kernel32" Alias _

  "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function fOSMachineName() As String

'Returns the computername

Dim lngLen As Long, lngX As Long

Dim strCompName As String

  lngLen = 16

  strCompName = String$(lngLen, 0)

  lngX = apiGetComputerName(strCompName, lngLen)

  If lngX <> 0 Then

  fOSMachineName = Left$(strCompName, lngLen)

  Else

  fOSMachineName = ""

  End If

End Function

'******************** Code End

ومن ثم تستطيع الحصول على اسم

الكومبيوتر عن طريق الامر التالي

A = fOSMachineName()

#4

اسف لشكل الكود ساقوم بصناعة صفحة جديدة اليوم و سانقل الكود فيها ليظهر جيدا

#5

السلام عليكم ورحمة الله وبركاته،،،، الأخ خضرترزي المحترم

شكرا لك على هذا الكود الجبار، فعلا هو مفيد جدا، ولكن هناك مشكلة حصلت معي وأريد منك الإعانة. كل النوافذ تعمل بشكل صحيح ولكن عندما أريد أن أعرض احد التقارير (Report) لا يظهر اي شي على الشاشه وذلك راجع بالطبع الى الكود نفسه، هل هناك اي طريقه لعمل الكود وجعلة يعمل مع التقارير بحيث ان اعمل (Previwe) وليس (Print) أرجو منك أن تفيدني حيث أن تسليم المشروع لدكتور المادة سيكون بعد يومين.....

شكرا

#6

لتفتح ترير للعرض على الشاشة بالكود يجب كتابة

docmd.OpenReport "name",acViewPreview
#7

السلام عليكم

شكرا اخي على ردك السريع، لكن هناك مشكلة ما زالت قائمة، الا وهي اني اريد أن اعرض الربورت (Report) وفي نفس الوقت يكون كود إخفاء شاشة أكسس يعمل، لاني لا أريد اظهار شاشة الاكسس أبدا.

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

[عدلت بواسطة theeban ت:21-05-2001 س: 06:19 AM]

#8

رفع للفائدة

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

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