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

عبد الفتاح كيرة

الخبراء
  • Posts

    3,015
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    4

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

  1. كود حذف المرفق.accdbبعد إذن أستاذنا الكبير @jjafferr

    هذا الكود لحذف المرفق فى السجل الحالى

    وفقكم الله

        Dim rst As DAO.Recordset
        Dim childrst As DAO.Recordset
        Dim db As DAO.Database
        Dim nn As String
        nn = "update table1 set [image].filedata =null WHERE Table1.ID =" & Me.ID
        strSQL = "SELECT * FROM Table1"
        Set db = CurrentDb
        Set rst = db.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges)
        rst.MoveFirst
        db.Execute nn
        Me.Requery

    كود حذف المرفق.accdb

    • Like 1
    • Thanks 1
  2. السلام عليكم

    مؤقتا و حتى أجد حلا

    استبدلت ال dao  ب  ال ado

    الكود لمن يريده

    Set db = CurrentDb
    Set rs = db.OpenRecordset("select * from tblmain order by stunum")
    Set Me.Recordset = rs
    txtfind.ControlSource = "[" & rs.Fields(0).Name & "]"
    txtname.ControlSource = "[" & rs.Fields(4).Name & "]"
    txtqawmy.ControlSource = "[" & rs.Fields(3).Name & "]"
    txtqaydn.ControlSource = "[" & rs.Fields(18).Name & "]"
    txtfn.ControlSource = "[" & rs.Fields(12).Name & "]"
    txtmn.ControlSource = "[" & rs.Fields(15).Name & "]"
    txtwn.ControlSource = "[" & rs.Fields(20).Name & "]"
    txtmelad.ControlSource = "[" & rs.Fields(25).Name & "]"

     

    • Like 1
  3. شكرا للأستاذ جعفر

    لكن أستاذنا بعد تحديد مصدر بيانات الفورم بالكود

    صار الفورم مرتبطا بجملة الاستعلام

    "SELECT * FROM tblmain"

    حتى أنها ظهرت فى نافذة خصائص النموذج تماما كما لو أنه معتمد على جدول

    أنشأت نموذج فارغ غير مضمن

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

    SELECT * FROM tblmain; 

    وشغلت النموذج

    و أضفت سجلا جديدا

     

    Capture33.PNG.e3784ad840a2dae70a76efe4f7d029d2.PNG

     

  4. شكرا للأستاذ جعفر

    لكن أستاذنا بعد تحديد مصدر بيانات الفورم بالكود

    صار الفورم مرتبطا بجملة الاستعلام

    "SELECT * FROM tblmain"

    حتى أنها ظهرت فى نافذة خصائص النموذج تماما كما لو أنه معتمد على جدول

    Capture33.PNG.e3784ad840a2dae70a76efe4f7d029d2.PNG

     

  5. السلام عليكم إخوتى الكرام

    وكل عام و أنتم بخير

    لدى نموذج غير معتمد على جدول أو استعلام

    قمت بفتح recordset  عن طريق ال ado

    قمت بجعل مصدر بيانات النموذج هو ال recordset   المسماة   adorec

    كما قمت بإسناد مربعات النصوص لل recordset   كل مربع نص إلى حقل فى  recordset

    أنشأت أزرارا للسابق و اللاحق و الأول و الأخير ...... كما ترون بالصورة

    المشكلة

    أنشأت زرا لإضافة سجل جديد

    لكنه لم يقبل و ظهرت رسالة تفيد بأنه لا يمكننى الانتقال للسجل المحدد

    جربت إضافة سجل جديد بالكود

    Docmd.gotorecord,,acnewrecord

    و عن طريق إضافة زر جاهز

    كل هذا لم يقبله

    أرجو النصيحة من خبراء المنتدى الأفاضل

    هل لا يمكن إضافة سجل جديد لنموذج تم  تحميل مصدر بياناته ب الريكورد سيت من خلال الكود

    هذا هو كود الفتح

    Dim iBink As Integer

    Dim ForeColor As Long

    Dim adocon As ADODB.Connection

    Dim adorec As ADODB.Recordset

    Private Sub cmdcancel_Click()

    Me.Undo

    End Sub

     

    Private Sub cmdend_Click()

    DoCmd.Close acForm, (Me.Name)

    End Sub

     

     

     

    Dim adocon As ADODB.Connection

    Dim adorec As ADODB.Recordset

    Private Sub Form_Load()

    Set adocon = CurrentProject.AccessConnection

     Set adorec = New ADODB.Recordset

     With adorec

     Set .ActiveConnection = adocon

     .Source = "SELECT * FROM tblmain"

     .LockType = adLockOptimistic

     .CursorType = adOpenKeyset

     .Open

     End With

    هنا إسناد الريكورد سيت لتكون مصدر بيانات النموذج

     Set Me.Recordset = adorec

    و هذه جمل لتحديد مصدر بيانات مربعات النصوص لتكون حقول فى recordset

    txtfind.ControlSource = "=[" & adorec.Fields(0).Name & "]"

    txtname.ControlSource = "=[" & adorec.Fields(5).Name & "]"

    txtqawmy.ControlSource = "=[" & adorec.Fields(4).Name & "]"

    txtqaydn.ControlSource = "=[" & adorec.Fields(20).Name & "]"

    txtfn.ControlSource = "=[" & adorec.Fields(13).Name & "]"

    txtmn.ControlSource = "=[" & adorec.Fields(16).Name & "]"

    txtwn.ControlSource = "=[" & adorec.Fields(22).Name & "]"

    txtmelad.ControlSource = "=[" & adorec.Fields(31).Name & "]"

     

    End Sub

    Set adorec = Nothing

    Set adocon = Nothing

    End Subrec.PNG.70b4fb48f979cd06090588f7c91771bc.PNG

     

    • Like 1
  6. السلام عليكم

    هذا جهد متواضع قابل للتطوير

    كتبته على عجالة

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

    يوجد بالنموذج 6 مربعات نص

    تكتب بكل منها عدد الطلاب بكل قاعة

    والبرنامج يوزع

    بناء على طلب أحد الإخوة هنا

    Capture.PNG.58b6acb9144d5732aca781f04e410cb1.PNG

    الملف بصيغة 2007   و  2003

    keraaaaaaaa.rar

    • Thanks 1
  7. 15 ساعات مضت, ولد جدة said:

    عدد القاعات غير ثابت وممكن تعديله في اي وقت واعاده التوزيع 

    ععد القاعات غير ثابت

    لكن لابد أن هناك حدودا لعدد القاعات بالمبنى

    أقصى عدد نقول مثلا 6 قاعات

    وهذا الكود جاهز لتوزيع الطلاب على أى عدد من القاعات من 1 - 6

    سواء كلها أو بعضها

    سأرفع الملف إن شاء الله فى موضوع منفرد لعل أحدا يستفيد منه

    الكود

    Private Sub أمر11_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim n As Integer
    Dim i As Integer
    Set db = CurrentDb
    Set rs = db.OpenRecordset("q_New_Stu_Tawzee3")
    rs.MoveFirst
    For i = 1 To Val(Me.mh1) + Val(Me.mh2) + Val(Me.mh3) + Val(Me.mh4) + Val(Me.mh5) + Val(Me.mh6)
       Select Case i
            Case Is > Val(Me.mh1) + Val(Me.mh2) + Val(Me.mh3) + Val(Me.mh4) + Val(Me.mh5)
                    n = 6
                rs.Edit
                rs!CurrFasl = n
                rs.Update
            Case Is > Val(Me.mh1) + Val(Me.mh2) + Val(Me.mh3) + Val(Me.mh4)
                n = 5
                rs.Edit
                rs!CurrFasl = n
                rs.Update
            Case Is > Val(Me.mh1) + Val(Me.mh2) + Val(Me.mh3)
                n = 4
                rs.Edit
                rs!CurrFasl = n
                rs.Update
            Case Is > Val(Me.mh1) + Val(Me.mh2)
                n = 3
                rs.Edit
                rs!CurrFasl = n
                rs.Update
            Case Is > Val(Me.mh1)
                n = 2
                rs.Edit
                rs!CurrFasl = n
                rs.Update
            Case Is <= Val(Me.mh1)
                n = 1
                rs.Edit
                rs!CurrFasl = n
                rs.Update
        End Select
            rs.MoveNext
    Next i
    Set rs = Nothing
    Set db = Nothing
      End Sub

     

    17 ساعات مضت, ولد جدة said:

    توزيع القاعات بالصف بعض النظر عن التقدير وبحسب معطيات القاعات وسعتها ۔۔

    ولك جزيل الشكر ۔۔

    طلبك هنا

     

  8. 21 دقائق مضت, kanory said:

    أشكرك أخي @عبد الفتاح كيرة توزيع رائع من شخص رائع ..... بارك الله فيه 

    الله يبارك فيك أستاذى kanory@ 

    18 دقائق مضت, ولد جدة said:

    توزيع القاعات بالصف بعض النظر عن التقدير وبحسب معطيات القاعات وسعتها ۔۔

    ولك جزيل الشكر ۔۔

    هل عدد القاعات ثابت؟

    عدد القاعات و ليس عدد الطلاب بكل قاعة

    • Thanks 1
  9. ليه كده بس 

    كنت خلاص بدأت أستطيع النوم و الراحة بعد ما توصلنا لهذا الكود )لا أنسى فضل الأستاذ محمد صالح مع أن الكود مختلف )

    :biggrin:

    لكن إن شاء الله نجد معك ما تريد

    هل تريد القاعات متوازنة من حيث الضعيف و المتوسط و الممتاز

    أم عدد فقط؟

  10. جدول الحصص عنوان كبير فى عالم البرمجة

    و له برنامج عالمى معروف

    أما جدول الحصص الخاص بى فشأنه شأن آخر

    فهو فقط يستخرج جداول من الجدول الرئيس

    مثل

    جدول مدرس

    جدول فصل

    جدول إشراف

    عدد حصص مدرس

    جدول مادة

    إلخ

    هذا للتصحيح

    وأفضل ما رأيت مشابهة للبرنامج العالمى

    برنامج جدول الحصص تصميم أستاذنا بقسم الإكسيل خبور خير حفظه الله

  11. السلام عليكم

    هذا الموضوع أصله هنا

     

    الكود

    Private Sub ÃãÑ11_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("q_New_Stu_Tawzee3")
    rs.MoveFirst
    Do Until rs.EOF
       On Error GoTo 1
        For x = 0 To 5
            For i = 1 To Me.tfasl
                If x = i Then GoTo skipeme
                          
            rs.Edit
            rs!CurrFasl = i
            rs.Update
            rs.MoveNext
    skipeme:
            Next i
        Next x
    Loop
        Me.Requery
        Me.Refresh
        Set rs = Nothing
        Set db = Nothing
        
    1:  End Sub

     

  12. لجميع الإخوة

    كود التوزيع حسب النمط السابق

    مجرب

    لكود بعد تطبيقه بنجاح على أكسيس
    Private Sub أمر11_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("q_New_Stu_Tawzee3")
    rs.MoveFirst
    Do Until rs.EOF
       On Error GoTo 1
        For x = 0 To 5
            For i = 1 To Me.tfasl
                If x = i Then GoTo skipeme
                Debug.Print i, x

            rs.Edit
            rs!CurrFasl = i
            rs.Update
            rs.MoveNext
    skipeme:
            Next i
        Next x
    Loop
        Me.Requery
        Me.Refresh
        Set rs = Nothing
        Set db = Nothing

    1:  End Sub

    • Like 1
    • Thanks 2
  13. رائع جدا

    أود أن أنبهك إلى أننى طلبت هذا الكود لتطبيق على حقل فى قاعدة بيانات أكسيس 

    ويمكن نقل الكود و تعديله ليعمل على أكسيس

    وقد توصلت لهذا الكود لكنه لم يختبر بعد

    Do until Rs. Eof

    For x = 1 to 5

          For y = 1 to 5

                   If x = y then goto skipme

    Rs.edit

    Rs!classn = I

    Rs.update

    Rs.movenext

    Skipme:

    Next I

    Next x

    Loop

×
×
  • اضف...

Important Information