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

نسخ بيانات جدول في قاعدة بيانات الى جدول آخر في قاعدة بيانات أخرى وفق شرط معين

مغلق
بدأه sjb في 22 أبريل 2002 · 5 رد · 582 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف استطيع عمل ذلك

شكرا على المساعدة

#2

اخى الفاضل sjb

يمكنك عمل استعلام انشاء جدول تقوم بتحديد الحقل / الحقول التى تريد نقلها ثم نقل الجدول الجديد المكون من الاستعلام هذا او عمل استيراد له للقاعدة الثانية

بالتوفيق

أخــــــBengaــــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#3

الأخ العزيز

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

#4

عفوا ايها الأخوة اريد عمل ذلك بواسطة الكود في فيجول بيسك

ارجو ان يكون السؤال واضح!!!!

#5

يا أخ sjb

الطريقة التي أفاد بها الأخ Access XP ممتازه وبعدين لا تنسى أن الرد جاءك من أخر نسخة من أكسيس 0

وإذا كنت مصر على الكود فحول لغة SQL الموجودة في الإستعلام إلى كود مع بعض التعديلات البسيطة0

تحياتنا لك

#6

نلاحظ أن السؤال مطلوب تحديث فى قاعدة أخري

فان كان الحل المقترح من الأخوة فيجب عمل ربط للجدول المطلوب التحديث اليه فى القاعدة الحالية

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

اما الحل الآخر فيلزم استخدام DAO أو ADO

و هنا يتم تعريف قاعدة البيانات الأولي و الثانية ثم مصدر و ووجهة البيانات ك Recordset و تيم البحث عن السجل المطلوب و تحديثه

هذا مثال لل DAO

و توجد أمثلة أخري هنا و دروس هنا و في قسم البيزيك عن استخدام ال ADO

مع ملاحظة أن GETFIELD و nvl2 دوال خارجية ليس لها علاقة بالموضوع هنا و لكن المثال يوضح تحويل القيم الموجودة فى جدول الي صفر ثم جمع القيم المناظرة فى جدول آخر ووضعها فى الحقل المناظر و ذلك حتي ناريخ معين

مثال ال DAO

Dim mydate As Date, datapath As String
datapath = GetField("company", "c_name4")

mydate = InputBox(" enter the cut off date ", " date confirmation")

Dim MYdb1 As Database, Mydb2 As Database, Myset1 As Recordset, Myset2 As Recordset

Set MYdb1 = CurrentDb
Set Mydb2 = OpenDatabase(Trim(datapath))
Set Myset1 = MYdb1.OpenRecordset("Qchanges")
Set Myset2 = Mydb2.OpenRecordset("CONTRACTS", DB_OPEN_TABLE)

DoCmd.Hourglass True
Rem
If Myset1.RecordCount > 0 Then
 Myset1.MoveFirst
 Myset2.Index = "PrimaryKey"

 Do Until Myset1.EOF
 If Myset2.RecordCount > 0 Then
   Myset2.MoveFirst
 End If

 Myset2.Seek "=", Myset1![ID]
 If Not Myset2.NoMatch Then
   If mydate >= nvl2(Myset1![CHDate], 0) Then
    If Myset2![P#] = Me.Combo70 Then

    Myset2.Edit
    Myset2![AppV/o] = nvl2(Myset2![AppV/o], 0) + nvl2(Myset1![CHAppV/O], 0)
    Myset2![Est V/o] = nvl2(Myset2![Est V/o], 0) + nvl2(Myset1![CHEstV/O], 0)
    Myset2![ExpChanges] = nvl2(Myset2![ExpChanges], 0) + nvl2(Myset1![CHExpChanges], 0)
   'Myset2![End Date] = nvl2(Myset2![End Date], 0) + nvl2(Myset1![CHDuratrion], 0)
    Myset2.Update

    End If
   End If
  Else
    Dim m As String
    m = " there are invoices for cono = " & Myset1![ID]
    MsgBox m
  Exit Sub
End If

 Myset1.MoveNext
 Loop
Else
 MsgBox ("no records")
End If

Myset1.Close
Myset2.Close
Set MYdb1 = Nothing
Set Mydb2 = Nothing

DoCmd.Hourglass False

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

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

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

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

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

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