اذهب الي المحتوي
أوفيسنا

انشاء استعلام بحيث يتم ترحيل البيانات


naguib_3778

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

أرغب فى انشاء استعلام بحيث يتم ترحيل البيانات من جدول التجهيز الى جدول الاساسي

المشكلة (انه يوجد بجدول الاساسي حقل رقم وتاريخ المستند - غير موجودين فى جدول التجهزي ولا اعلمهم غير بعد تجهيز البيانات- قيمهم تكون ثابته مع كل ترحيله
حيث سيتم مسح البيانات بعد الترحيل

المثال
ارغب ترحيل البيانات من جدول التجهيز الى جدول الاساسي "وايضاً كتابة رقم 800فى حقل رقم المستند وتاريخ1/1/2022فى حقل تاري المستند الموجودين فى جدول الاساسي وغير موجودين بجدول التجهيز حيث لايتم اصدار رقم المستند إلا بعد اعداد والانتهاء من التجهيز
وايضاً الترحيلة التي تليها يكون لها رقم مستند وتاريخ مختلفين

شكراً

5.accdb

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

تفضل أخي العزيز ..

لديك فورم للترحيل تدخل فيه رقم وتاريخ المستند .. ثم ترحل البيانات ..

زر الترحيل يشغل لك استعلامين .. الأول إلحاقي .. والثاني حذف ( يحذف البيانات من الجدول)

image.png.0f34d143be609dc0497eb72b66fd686a.png

image.png.41a0da1e44475cebfa5a9649ceb9ea06.png

الكود على زر الترحيل :

Private Sub TarheelBtn_Click()

Dim Count As Integer

If IsNull(Me.DocDatetxt) Or IsNull(Me.DocNumtxt) Then MsgBox "يرجى تعبئة البيانات قبل الترحيل": Me.DocNumtxt.SetFocus: Exit Sub

Count = DCount("*", "[التجهيز]")

If MsgBox("هل ترغب في ترحيل " & Count & " سجلات ؟", vbExclamation + vbYesNo, "تحذير !") = vbYes Then
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "AttachQ", acViewNormal
    DoCmd.OpenQuery "DeleteQ", acViewNormal
    DoCmd.SetWarnings True
    MsgBox "تم الترحيل بنجاح"
Else
    Exit Sub
End If
End Sub

الملف بعد التطبيق :

استعلام ترحيل البيانات.accdb

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

تفضل هذه المشاركة

اضغط على استعلام نقل البيانات فقط

image.png.ff044fb7e43a31fcd6261fbec2177e46.png

 

image.png.c948c7553998e318abde2f15dc9ed801.png

image.png.1aa731261f1a36895474a31c47f21d38.png

image.png.72746a2f3df988017507f6ca855fdd58.png

Public Function TransData()

    Dim db As DAO.Database, Tb1 As DAO.Recordset, Tb2 As DAO.Recordset
    
    If DCount("*", "التجهيز") > 0 Then
        If MsgBox("توجد بيانات جاهزة للترحيل" & vbNewLine & vbNewLine & "هل تريد ترحيل البيانات الآن ؟" _
        , vbExclamation + vbYesNo + vbMsgBoxRight, "تأكيد") = vbYes Then
        
            Set Tb1 = CurrentDb.OpenRecordset("التجهيز"): Tb1.MoveFirst: Set Tb2 = CurrentDb.OpenRecordset("الاساسي")
                While (Not Tb1.EOF)
                    Tb2.AddNew
                    Tb2.Fields("م").Value = Nz(DMax("م", "الاساسي"), 0) + 1
                    Tb2.Fields("الاسم").Value = Tb1.Fields("الاسم")
                    Tb2.Fields("الرقم").Value = Tb1.Fields("الرقم")
                    Tb2.Fields("المبيعات").Value = Tb1.Fields("المبيعات")
                    Tb2.Fields("رقم المستند").Value = 1
                    Tb2.Fields("تاريخ المستند").Value = Format(Now, "yyyy/mm/dd")
                    Tb2.Update
                    Tb1.MoveNext
                Wend
                If MsgBox("تم نقل البيانات بنجاح" & vbNewLine & vbNewLine & "هل تريد حذف البيانات من جدول التجهيز ؟" _
                , vbQuestion + vbYesNo + vbMsgBoxRight, "تأكيد") = vbYes Then
                    Tb1.MoveFirst
                    While (Not Tb1.EOF)
                        Tb1.Delete
                        Tb1.MoveNext
                    Wend
                    MsgBox "تم حذف بيانات جدول التجهيز بنجاح", vbInformation + vbMsgBoxRight, "تأكيد"
                Else
                
                End If
                Tb1.Close: Set Tb1 = Nothing
        End If
    End If
End Function

 

5.accdb

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

عمل جميل استاذ @Moosak

لكني ربما فهمت سؤال الاخ صاحب المشاركة خطأ

ما فهمته ..هو يريد ترحيل البيانات دون رقم مستند او تاريخ .. وبعد ذلك يريد الحاق رقم مستند وتاريخ الى البيانات المرحلة

يعني البيانات المرحلة تكون حقول الرقم والتاريخ فارغة .. وبعد حين يتم الحاق رقم وتاريخ لها

مشتاقون لابداعاتك اخي واستاذي د.حسين @د.كاف يار

ربي تكون بصحة وعافية

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

حياك الله وبياك مهندس قاسم ..

ما فهمته أنا من خلال الشرح وتحديدا الشق الثاني منه .. أنه يريد تحديد الرقم والتاريخ لحل تحويل لذلك أضفتها ..

وإن كان لا يريدهما ويريد تركها فارغة يمكن بتعديل بسيط على الكود تركهما فارغان ولن يسجل أي قيمة عند الترحيل ..

16 ساعات مضت, ahmed_ali71470@yahoo.com said:

ارغب ترحيل البيانات من جدول التجهيز الى جدول الاساسي "وايضاً كتابة رقم 800فى حقل رقم المستند وتاريخ1/1/2022فى حقل تاري المستند الموجودين فى جدول الاساسي وغير موجودين بجدول التجهيز حيث لايتم اصدار رقم المستند إلا بعد اعداد والانتهاء من التجهيز
وايضاً الترحيلة التي تليها يكون لها رقم مستند وتاريخ مختلفين

 

ولإلغاء شرط الرقم والتاريخ يكون الكود هكذا :

Private Sub TarheelBtn_Click()

Dim Count As Integer

Count = DCount("*", "[التجهيز]")

If MsgBox("هل ترغب في ترحيل " & Count & " سجلات ؟", vbExclamation + vbYesNo, "تحذير !") = vbYes Then
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "AttachQ", acViewNormal
    DoCmd.OpenQuery "DeleteQ", acViewNormal
    DoCmd.SetWarnings True
    MsgBox "تم الترحيل بنجاح"
Else
    Exit Sub
End If
End Sub

 

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

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