اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كشكول VBA ... متجدد


أبو آدم

الردود الموصى بها

 

الاخوة الكرام السلام عليكم ورحمة الله : 

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

 

اخي العزيز لاتتعب نفسك انا بحثت في الانترنيت كثيرا ودائما يعطونني كتاب vba lessons تحت مسميات عديدة ولكنه كتاب شرحه ناقص اي لايوصلك الى الاحتراف انه يرشدك الى الفكرة ولايستزيد في الفكرة لحين وصولك الى الاحتراف لاتتعب نفسك بالبحث فلا يوجد مرجع شامل عربي لذلك

رابط هذا التعليق
شارك

  • 2 weeks later...

 

 

الاخوة الكرام السلام عليكم ورحمة الله : 

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

 

اخي العزيز لاتتعب نفسك انا بحثت في الانترنيت كثيرا ودائما يعطونني كتاب vba lessons تحت مسميات عديدة ولكنه كتاب شرحه ناقص اي لايوصلك الى الاحتراف انه يرشدك الى الفكرة ولايستزيد في الفكرة لحين وصولك الى الاحتراف لاتتعب نفسك بالبحث فلا يوجد مرجع شامل عربي لذلك

 

 

أحبتي في الله

لست أكاديميا لاجيب عن هذا السؤال

تعلمت كتابه الكود (صدقا بالحوار معه) اطرح له حاجتي و احولها لما اعرف

والتجربة خير برهان

كنت اتمنى من فترة ان اجيب على هذا السؤال بما ينتفع به ، ولكنني لم افلح

قد اكون ممن تعلم بطريقة غريبة ، ولكن المسألة ليس لها ( كتالوج) او دليل مستخدم او وصفة سحرية

فهي معلومات متراكمة و تعلم مترابط مستمر

هو علم ( متفلت ) اذا ابتعدت عنه قليلا هجرك ، وان استمر بك الوصل اقترب منك وزادك قربا ويسرا

 

أعذروني على الانشاء في القول ولكنه جلّ الردّ لدّي

 

و دمتم

 

..................

  • Like 1
  • Sad 1
رابط هذا التعليق
شارك

  • 4 weeks later...
  • 2 weeks later...
  • 2 weeks later...

في النموذج حقل لا نريد للمستخدم ان يتجاوزه فارغا

يتم التنبيه بصريا ... باستخدام اللون في حدث عند الحالي او عند الخروج ....

If IsNull(ContactTitle) = True Then
   ContactTitle.BackColor = vbRed
Else
   ContactTitle.BackColor = vbWhite
End If
  • Like 1
رابط هذا التعليق
شارك

قائمة بمفاتيح لوحة المفاتيح واختصاراتها ، وهي مفيدة جدا خلال استخدالم القاعدة

 

F1 اظهار ملفات المساعدة

F11 عرض اطار قاعدة البيانات

F12 فتح مربع الحوار حفظ باسم

CTRL+N فتح قاعدة بيانات جديدة.

CTRL+O فتح قاعدة بيانات موجودة.

CTRL+P طباعة الكائن الحالي أو المحدد.

CTRL+S حفظ كائن قاعدة البيانات الحالية.

CTRL+W إغلاق الإطار النشط.

ALT+SPACEBAR عرض قائمة التحكم.

ALT+F11 تبديل بين محرر Visual Basic و نافذة قاعدة بيانات Access

SHIFT+F10 عرض القائمة المختصرة (مثل:القائمة المنبثقة).

رابط هذا التعليق
شارك

كما ننشيئ الجداول عبر الكودات يمكن ان نلغيها ... خاصة ان كانت مؤقتة و انتهت الحاجة اليها

Private Sub cmdDeleteTable_Click()
    Dim curDatabase As DAO.Database

    Set curDatabase = CurrentDb

    curDatabase.TableDefs.Delete "Books"
End Sub
رابط هذا التعليق
شارك

يمكننا ان نحذف سجلا محددا بشرط قيمة السجل ( عدد او قيمة او تاريخ او .. ) في عامود معين ....

Private Sub cmdDeleteRecord_Click()
On Error GoTo cmdDeleteRecord_Error

    Dim curDatabase As DAO.Database
    Dim rstEmployees As DAO.Recordset
    Dim fldEmployee As DAO.Field
    
    Set curDatabase = CurrentDb
    Set rstEmployees = curDatabase.OpenRecordset("Employees")
    
    With rstEmployees
        Do Until .EOF
            For Each fldEmployee In .Fields
                If fldEmployee.Name = "LastName" Then
                    If fldEmployee.Value = "Angoula" Then
                        ' The record to be deleted has been found
                        .Delete
                        Exit For
                    End If
                End If
            Next
            .MoveNext
        Loop
    End With
   
    Exit Sub

cmdDeleteRecord_Error:
    MsgBox "There was a problem when deleting the record."
End Sub
رابط هذا التعليق
شارك

AND

يتم استخدام الكلمة AND لايجاد اقتران منطقي. والصيغة التي يتم اتباعها هي:

حدد الأعمدة كذا وكذا وكذا
من كائن ما (جدول او استعلام)
حيث شرط 1 و شرط 2

SELECT WhatColumn(s)
FROM WhatObject
WHERE Condition1 AND Condition2

و كمثال تطبيقي نقول

SELECT Title, Director, CopyrightYear, Rating
FROM Videos
WHERE CopyrightYear = "1994" AND Rating = "PG-13";
رابط هذا التعليق
شارك

  • 4 weeks later...

موضوع مفيد وشكرا لكم على المجهود الرائع

لكن لو كان عندي جدول يحتوي على اسماء الموظفين ولنفرض عشر موظفين

فكيف عندما اكتب في النموذج اسم الموظف وبعد الضغط على انتر 

تاتي معلومات اسم الصف واسم الام تلقائيا في الحقول المجاورة

 

 

post-102045-0-62212800-1391755412_thumb.

رابط هذا التعليق
شارك

  • 1 month later...
  • 2 months later...
  • 2 weeks later...

كنا في المشاركة ... http://www.officena.net/ib/index.php?showtopic=38385&p=223496

 

تحدثنا عن نطاق السنوات لعشر سنوات ماضية وقادمة ، لتكون الوحدة النمطية مصدر الصف في مربع تحرير وسرد

 

وهنا نعدل على الفكرة باستخدام مفهوم callback function ، لغايات تحقيق المرونة و الفاعلية ، ونقوم بانشاء وحدة نمطية عامة ، تحدد هذه الوحدة خصائص مربع التحرير و السرد او مربع القائمة بحيث يكون نوع مصدر البيانات Value List وعدد الاعمدة 1 ، ثم نفرغ المربع المحدد من أي بيانات سابقة ، ونقوم بتحديد بياناته الجديدة بواسطة بقية جمل الوحدة النمطية .

Public Function callbackYearLoop(strContYear As Control, strLoop As Integer)
'By Nart Lebzo .... www.officena.net
'Amman - Jordan 25/06/2014

Dim YearHold As Date
Dim intI       As Integer
   
   strContYear.RowSourceType = "Value List"
    
    ' Clear out
    strContYear.RowSource = vbNullString
    strContYear.ColumnCount = 1
    
    ' Year
    For intI = -strLoop To strLoop
       YearHold = DateSerial(Year(Date) + intI, 1, 1)
       strContYear.AddItem Format(YearHold, "yyyy")
    Next intI
   
End Function

وفي جملة الاستدعاء وفي حدث عند الحالي للنموذج نحدد اسم مربع التحرير و السرد او مربع القائمة المستهدف لاحتواء البيانات ثم عدد السنين لتحديد الدوران ( سابق ولاحق )

Call callbackYearLoop(CombYear, 3)

وتكون النتيجة لدينا مرنه وقابلة للاستدعاء في اي نموذج وللفترات التي نحتاجها في كل نموذج او ظرف ( وحسب التحليل )

 

مرفق تطبيق اصدار 2003 و 2007

NA_CallbackYearLoop.rar

  • Like 2
رابط هذا التعليق
شارك

في المشاركة ... http://www.officena.net/ib/index.php?showtopic=38385&p=225383

كان الأخ الصمت المتحدث تساءل عن تطبيق فكرة نطاق السنوات على الأشهر ، ورغم تأخر الردّ ، نطبق الفكرة لعموم الفائدة

 

وباستخدام مفهوم callback function ، لغايات تحقيق المرونة و الفاعلية ، نقوم بانشاء وحدة نمطية عامة ، تحدد هذه الوحدة خصائص مربع التحرير و السرد او مربع القائمة التي ستحتوي البيانات بحيث يكون نوع مصدر البيانات Value List وعدد الاعمدة 1 ، ثم نفرغ المربع المحدد من أي بيانات سابقة ، ونقوم بتحديد بياناته الجديدة بواسطة بقية جمل الوحدة النمطية .

Public Function callbackMonth(strContMonth As Control)
'By Nart Lebzo .... www.officena.net
'Amman - Jordan 25/06/2014

Dim intI As Integer

    strContMonth.RowSourceType = "Value List"
    
    ' Clear out
    strContMonth.RowSource = vbNullString
    strContMonth.ColumnCount = 1
    
    ' Months
            For intI = 1 To 12
                strContMonth.AddItem Format( _
                  DateSerial(Year(Date), intI, 1), "mmmm")
            Next intI
    
End Function

وفي جملة الاستدعاء وفي حدث عند الحالي للنموذج نحدد اسم مربع التحرير و السرد او مربع القائمة المستهدف لاحتواء البيانات

Call callbackMonth(CombMonth)

مرفق تطبيق اصدار 2003 و 2007

NA_CallbackMonths.rar

  • Like 1
رابط هذا التعليق
شارك

  • 5 months later...
  • 1 month later...

Date And Time At Forms Caption

لإظهار تاريخ اليوم والوقت بدل اسم النموذج ، الكود التالي يفي بالغرض مع تثبيت الرقم 1000 في Timer Interval

 

Private Sub Form_Timer()
Me.Caption = "	 Today is " & "Date :" & " " & Format$(Now())' "dd mm yyyy	" & "	Time : " & "h:mm:ss AMPM"
End Sub
>>>>>>>>>>>>

 

 

بارك الله فيك اخى أبو آدم وأزاح عنكم الهم والغم وفرج عنكم ما انتم فيه وارجعك الينا سالما باذن الله

قد عدلت شيئا بسيط فى الكود لاينقص من روعته شىء حيث عند استخدام له قابلت هذا الخطأ واحببت التنويه عنه للفائده

بالتوفيق للجميع

رابط هذا التعليق
شارك

  • 3 weeks later...
  • 2 months later...

اوجه مشكلة عند كتابة الاكواد في VBA  في الاكسس  عند ادراج msgbox  بالغة العربية لاتظهر وتظهر احرف غير مفهومة بالرغم من ان الاكسس يكتب لغة عربية عادي (النسخة office 2010  انجليزي)

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information