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

كيف يمكن دمج مجموعة من السجلات في نموذج وإلحاقها إلى نموذج آخر؟

بدأه Khodor1985 في 22 نوفمبر 2014 · 16 رد · 744 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم إخواني الأعزاء

لدي نموذجين 

الأول بعنوان Source وهو النموذج الذي يحتوي على السجلات الخام

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

يتم دمج وترحيل تلك السجلات من خلال زر أمر أدرجته في النموذج  Source.

أرجو من الإخوة الأفاضل مساعدتي في هذا الأمر وشكرا.

#2

وعليكم السلام اخي خضر :)

 

عذرا ، لم افهم المطلوب ، وياريت ترفق مثال :)

 

 

جعفر

#3

السلام عليكم أخي الغالي جعفر

أتمنى أن تساعدني في هذه الفكرة

#4

عذرا اخي خضر ، فانا لم افهم المطلوب ، وارفاق مثال سيساعدني في فهم المطلوب :)

 

 

جعفر

#5

السلام عليكم أخي العزيز جعفر

#6

السلام عليكم أخي العزيز جعفر

 

post-275979-0-35727900-1416687836_thumb.

post-275979-0-23986900-1416687881_thumb.

#7

وضحت الفكرة أخي جعفر

#8

وضحت الفكرة أخي جعفر

#9

وضحت الفكرة أخي جعفر

#10

هذا المرفق

#11

هذا المرفق

 

TestKhodor.rar

#12

تفضل :)

 

انا غيرت اسم الزر الى cmd_Append ، وهذا كود حدث الضغط على الزر:

Private Sub cmd_Append_Click()
On Error GoTo err_cmd_Append_Click

    'save the last change in the Form
    If Me.Dirty Then Me.Dirty = False
    
    'place the whole Form data in a Recordset
    Set rst = Me.RecordsetClone
    'load it all in memory
    rst.MoveLast: rst.MoveFirst
    
    'initialize the subjects to nothing
    s = ""
    'loop through the Form Records
    For i = 1 To rst.RecordCount
        
        'only use the Record which's Send is selected
        If rst!Send = -1 Then
            s = s & " " & rst!Subject
        End If
        
        'move to the next Record
        rst.MoveNext
    Next i
    
    
    'do the Append SQL
    mySQL = "INSERT INTO Destination ( Subject ) SELECT " & Chr(34) & Trim(s) & Chr(34)
    'execute it, without warnings
    CurrentDb.Execute (mySQL)
    
    MsgBox "Done"

Exit Sub
err_cmd_Append_Click:

    If Err.Number = 3021 Then
        'ignore, No Record
        Resume Next
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If

End Sub

جعفر

#13

أخي العزيز جعفر شكرا لك جزيل الشكر

لقد تم المطلوب بنجاح

#14

حياك الله :)

#15

شكرا أخي العزيز جعفر من جديد

لقد قرأت الكود بتمعن وقد فهمت القصد منه

#16

هيك الشغل المزبوط :)

لهذا السبب انا دائما اكتب ملاحظاتي في الكود :)

جعفر

#17

السلام عليكم اخي خضر :)

 

معلومة اخرى قد تستفيد منها :)

 

في صفحة الكود ، اختار

View > immediate window

 

هذا سيفتح لك نافذة صغيرة تحت الكود ، ويمكننا في هذه النافذة إعطاء أمر ، او مجرد مشاهدة (وهذا الذي ستلاحظه فيها الآن) ،

 

بعد السطر اللي يبدأ بـ mySQL ، ادخل السطر التالي:

debug.print mySQL

والآن اضغط زر Append في النموذج ، ثم ارجع ولاحظ ما كتب في نافذة الكود ،

سترى انه كود استعلام الإلحاق ،

جرب:

انسخه ،

اخرج من الكود الى الواجهة الرئيسية للاكسس ،

ثم اعمل استعلام جديد ، غير الوضع الى SQL ، والصق هذا السط في SQL الاستعلام ،

غير الوضع الى تصميم ، وسترى الاستعلام بالطريقة المعتادة :)

 

السبب الذي اخبرتك عن هذا كله ، حتى تعرف لماذا استعملت chr(34) في الكود :)

 

 

جعفر

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…