لدي قاعدة بيانات اكسيس بها عدة جداول اريد ان انسخ سجل واحد أو عدة سجلات ضمن هذا الجدول الى جدول آخر ضمن قاعدة بيانات أخرى
كيف استطيع عمل ذلك
شكرا على المساعدة
لدي قاعدة بيانات اكسيس بها عدة جداول اريد ان انسخ سجل واحد أو عدة سجلات ضمن هذا الجدول الى جدول آخر ضمن قاعدة بيانات أخرى
كيف استطيع عمل ذلك
شكرا على المساعدة
اخى الفاضل sjb
يمكنك عمل استعلام انشاء جدول تقوم بتحديد الحقل / الحقول التى تريد نقلها ثم نقل الجدول الجديد المكون من الاستعلام هذا او عمل استيراد له للقاعدة الثانية
بالتوفيق
أخــــــBengaــــوك
قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..
الأخ العزيز
قم بعمل استعلام (( إلحاق )) في قاعد البيانات الجديدة تقوم من خلاله باختيار الجدول الذي تريد إضافة البيانات إليه (( وفق الشروط التي تريدها )) من الجدول الموجود في القاعدة الأخرى
عفوا ايها الأخوة اريد عمل ذلك بواسطة الكود في فيجول بيسك
ارجو ان يكون السؤال واضح!!!!
يا أخ sjb
الطريقة التي أفاد بها الأخ Access XP ممتازه وبعدين لا تنسى أن الرد جاءك من أخر نسخة من أكسيس 0
وإذا كنت مصر على الكود فحول لغة SQL الموجودة في الإستعلام إلى كود مع بعض التعديلات البسيطة0
تحياتنا لك
نلاحظ أن السؤال مطلوب تحديث فى قاعدة أخري
فان كان الحل المقترح من الأخوة فيجب عمل ربط للجدول المطلوب التحديث اليه فى القاعدة الحالية
و يمكن تنفيذ التحديث بجملة 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هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…