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

تحديث بيانات حقل من جدول آخر


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

السلام عليكم ورحمة الله وبركاته أحبتي في الله 

لدي جدولين .. الأول الموظفين والآخر الدول 

أريد بمجرد كتابة الدولة بالعربي في جدول الموظفين يقوم بقراءه الدول الموجودة في جدول الدول وتحديث الدول بالانجليزي

إليكم الملف المرفق وشكرا مقدما

الدول.rar

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

2 ساعات مضت, hosam shehata said:

وعليكم السلام ورحمة الله وبركاته

يرجى الاطلاع على المرفق .. 

الدول.rar

وعليكم السلام :rol:

 

وتكملة لمرفق أخي حسام ، يمكنك عمل استعلام ، وتختار اي الاسمين تريد ، بالعربي او الانجليزي:

252.Clipboard01.jpg.9c89cb659defbb0351cb

.

252.Clipboard02.jpg.94892f87dfffb3516975

 

 

جعفر

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

اشكركم على التفاعل .. ولكن .. 

المشكلة أني اقوم بسحب هذه الأسماء من موقع حكومي ... وهي بيانات لموظفين من ضمنها الدولة ولكن بالعربي .. 

يعني لازم يكون الدولة بالعربي هيا المفتاح الرئيسي لانها لن تتكرر ومنها أستطيع من جدول الدول الحصول على اسم الدولة بالإنجليزي

ما الحل وهل ذا يمكن بإستخدام معادلة dlOOKUP ?

 

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

طيب يا أستاذي أنا مبتدئ أكسيس :D .. الكلام دا بعمله في الأكسيل في ثواني .. بس مع كبر البيانات شيل الإكسيل تقل جداً .. لذلك انتقلت على الأكسيل والحمد لله ماشي بخطوات جيدة بمساعدة جميع الاخوان لم يقصروا معايا .. يعني همتك معانا وياريت تعملهالي في المثال بتاعي في المفرقاتلاني شكلك هتعبك معايا الأيام الجاية في مشاكل هتواجعني في تصميم قاعدة البيانات الخاصة بي 

ويلاحظ بعد إذنكم انا مش عايزها فروم .. أنا عايزها يا يكتبها في جدول الموظفين يا يفضل ويكون الأحسن يتستبدل الجنسيات العربي تماما من جدول 

الموظفين ويحط مكانها الجنسيات الإنجليزي في نفس جدول الموظفين

تحياتي لك يا راقي :)

 

الدول1.rar

تم تعديل بواسطه عمرو بزان
رابط هذا التعليق
شارك

أخي جعفر .. لازم عن طريق فوم ؟ .. 

حضرتك أنا عندي قائمة بتحدث يومياً .. تضم أكثر من 17 ألف موظف قابل للزيادة .. حضرتك بالنموذج دا بتقولي امسك اسم اسم واحد جنسيته تاني .. 

أنا عايز نفس نفس الجدول زي الاكسيل كدا .. اول ما احط الدولة في جدول الموظفين أعمل كويري أبديت يشوف كل جنسية ويحطلي على طول الجنسية بالإنجليزي

يعني يفضل في نفس الجدول بكويري أبديت .. مش فورم :)

تم تعديل بواسطه عمرو بزان
رابط هذا التعليق
شارك

سيدي الفاضل

 

الاكسس يختلف عن الاكسل ، لذلك ، وللأسف ، لا يمكن اتباع طرق الاكسل 100% في الاكسس :rol:

 

انا بالفعل عملت لك استعلام تحديث Update Query ، واقترح عليك عمل التالي:

ان تكتب جميع الاسماء بالعربي ، ولما تنتهي ، تستطيع ان تضغط على الرز اللي في النموذج ، وسيُحدث الجدول بأكمله ، ويكتب الاسم بالانجليزي :rol:

بس عندي سؤال لوسمحت:

انت الان كتبت في خانة الانجليزي ، فهل خانة الانجليزي ستكون فاضية؟

 

 

جعفر

252.1.الدول1.accdb.zip

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

تصدق وتؤمن بالله .. أنا قاعد بقالي أكثر من 5 ساعات عمال أدخل في اليوتيوب علشان اعمل اللي إنتا عملته دا .. موصلتش لحل :D .. في الآخر قولت لنفسي روح لأوفيسنا ومشكلتك هتتحل 

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

جزاك الله خيرا يا أستاذي :)

تم تعديل بواسطه عمرو بزان
رابط هذا التعليق
شارك

لوسمحت تستخدم المرفق التالي ، حيث ان التحديث فيه لن يتم لكل الجدول Emp ، وانما للحقل الفاضية للحقل Nationality_En فقط :rol:

252.Clipboard03.jpg.1d6477e02a7e53ded475

.

 

وحياك الله في المنتدى ، الجميع يحاول ان يساعد هنا :rol:

 

 

جعفر

251.Database3.accdb.zip

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

من حضرتك استنتجت لو عايز أغير في الجدول الجنسيات العربي للإنجليزي مرة واحدة بكويري الأبديت .. 

ألف شكر لحضرتك مرة تانية :)

AAA.jpg

ممتاز .. لو الخلية بصفر بس اللي إتحدثها .. ولو فيها حاجة متعملش حاجة .. 

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

تسلم والله يا راقي وبارك الله في وقتك وجهدك وجعل ذلك في ميزان حسناتك :)

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

اساتذي الأفاضل .. الحمد لله بفضل الله ثم بفضلكم تعلمت أجزاء جديدة من منتداكم الراقي

ولكن اليوم واجهتني مشكلة صغيرة وهي عند تحديث جوازات السفر لبعض الأفراد في الشركة وسحبها من الموقع الحكومي

في بعض الأحيان يكون جواز السفر على شكل رقم ولكن في بدايته صفر مثل 0910144 .. وقمت بحل هذه المشكلة عن طريق Val

و في بعض الأحيان يكون جواز السفر بدايه حروف مثل ED01541 وللأسف ساعات بيكون فيه مسافات مثل ED 01541 وقمت بحل المشكلة دي عن طريق Replace

المشكلة الحقيقة أن جوازات السفر دائماً تكون أرقام أوحروف او الاثنين معا .. وهم بالطبيعي في فيلد واحد .. ماهي الطريقة اللي ممكن عن طريقها أشترط عليه 

لو كان الفيلد نص امسح المسافات ب Replace ولو الفيلد فيه رقم استخدم ال Val

الملف مرفق لكم أخوتي

 

 

Test.rar

تم تعديل بواسطه عمرو بزان
رابط هذا التعليق
شارك

أيضا استاذتي الأفاضل وجدت مشكلة ثانية 

وهي انني عند سحب تاريخ الجواز من الموقع الحكومي يكون التاريخ بالهجري على الشكل مثلا 14370812 واريد تحويل ذلك التاريخ إلى ميلادي

فكرة التحويل إلى ميلادي تم حلها بفضل الله .. لكن المشكلة الآن هو عند عمل ماسك للتاريخ الهجري من 14370812 إلى 0000/00/00 

بالتالي يصبح التاريخ كالتالي 1437/08/12 ولكن في الحقيقة هو مازال رقم والذي حوله لتاريخ هو فقط الماسك وبالتالي عند تحويله إلى التاريخ الميلادي

يرفض لأنه لا يتعامل مع تاريخ وإنما يتعامل مع رقم .. 

لذلك اريد طريقة ما بمجرد وجود في الفيلد تاريخ على شكل 14370812 اريد تحويله إلى 1437/08/12 بدون ماسك

ما الحل وفقا للملف المرفق

Test2.rar

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

16 ساعات مضت, عمرو بزان said:

لو كان الفيلد نص امسح المسافات ب Replace ولو الفيلد فيه رقم استخدم ال Val

وعليكم السلام أخي عمرو :rol:

 

الامر isNumeric سيساعدك في الفصل بين اذا كانت المعلومة رقم (وستكون نعم) ، او نص (وستكون لا) ،

يعني (وبدون انزال مرفقك):

if isnumeric(X) = true then
هذا رقم
A=val(x)

else
هذا نص

A=Trim(x)
او
A=Replace(X," ","")

endif

 

جعفر

 

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

5 ساعات مضت, عمرو بزان said:

أيضا استاذتي الأفاضل وجدت مشكلة ثانية

رجاء عمل سؤال جديد لهذا الموضوع ، لأن قوانين المنتدى لا تسمح بأكثر من سؤال في كل موضوع :rol:

 

جعفر

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

15 ساعات مضت, jjafferr said:

وعليكم السلام أخي عمرو :rol:

 

الامر isNumeric سيساعدك في الفصل بين اذا كانت المعلومة رقم (وستكون نعم) ، او نص (وستكون لا) ،

يعني (وبدون انزال مرفقك):


if isnumeric(X) = true then
هذا رقم
A=val(x)

else
هذا نص

A=Trim(x)
او
A=Replace(X," ","")

endif

 

جعفر

 

استاذ جعفر .. ممكن لو سمحت تعملي مثال لاني فعلا إحترت مع الكود .. هل أحطه في MODULE ولا في الاستعلام نفسه ؟

تم تعديل بواسطه عمرو بزان
رابط هذا التعليق
شارك

وعليكم السلام :rol:

 

بما انك تستخدم الاستعلام مباشرة ، فاليك طريقتين:

1.

بإستخدام الوحدة النمطية Con:

276.Clipboard01.jpg.55da827adacb67fc42cf

.

وهذه هي الوحدة النمطية:


Function Con(x)

    If IsNumeric(x) = True Then
        'رقم
        Con = Val(x)

    Else
        'نص

        Con = Replace(x, " ", "")
    
    End If

End Function

.

والطريقة الاخرى ، هي وضع الكود كله في الاستعلام ، هكذا:

276.Clipboard02.jpg.30ff6747f139f0d4790e

.

طبعا التغيير على الكود هنا سيكون اكثر صعوبة من التغيرر في الوحدة النمطية ،

والنتائج في كِلا الاستعلامين:

276.Clipboard03.jpg.21ccf947b59bf09f36b7

.

 

جعفر

 

276.Test.accdb.zip

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

أستاذ جعفر .. والله بجد مش عارف من فرحتي أقولك إيه .. 

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

بهذا الكود تغلبت على مشكلة الجوازات اللي تبدأ ب 0 و 00 و 000 و 0000 اصفر وفي نفس الوقت لغيت المسافات 

من الآخر آخد كام من عشرة يا أستاذ جعفر :)

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

شكرا مرة تانية يا أستاذي .. :)

Untitled.jpg

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

وعليكم السلام أخي عمرو :smile:

 

ماشاء الله عليك ، وللامام ان شاء الله :smile:

 

بس للأسف في بطئ / تأخير في الكود:blink:

 

انت كلما قلت if ثم endif ، فالكود يقوم بفحص كل if (لا يقرأ اي كود بين الجملتين ، اذا لم يتحقق الشرط) ، مما يعني ان البرنامج سيتحقق في 4 if في الكود الذي عملته انت ،

بينما لو عملت if ثم elseif ثم elseif ثم .... ثم else  ثم endif ، فإن البرنامج سيفحصه كله مرة واحدة فقط ، حيث ان if و elseif و else تُعتبر شرط واحد :smile:

 

اليك طريقتين بدل الكود الذي استعملته انت:


Function Con(x)

    If Mid(x, 1, 1) = "0" Then
        Con = Mid(x, 2, 15)
        
    ElseIf Mid(x, 1, 2) = "00" Then
        Con = Mid(x, 3, 15)
        
    ElseIf Mid(x, 1, 3) = "000" Then
        Con = Mid(x, 4, 15)
        
    ElseIf Mid(x, 1, 4) = "0000" Then
        Con = Mid(x, 5, 15)
        
    Else
        Con = Replace(x, " ", "")
    
    End If

End Function

او

Function Con(x)

    If IsNumeric(x) = True Then
    
        For i = 1 To 4
            If Mid(x, i, 1) = 0 Then
                Con = Mid(x, i + 1, 15)
            Else
                Exit For
            End If
        Next i

    Else
        Con = Replace(x, " ", "")
    
    End If

End Function

 

جعفر

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

ياخي أقسم بالله فهمت .. ياخي والله إنتا مبدع .. ياخي أقسم بالله إنتا فنان .. 

جزيت عني خير الجزاء يا راقي .. فعلا استفدت كتير اليومين دول في إعداد قاعدة البيانات الخاصة بي .. 

ألف شكر يا أستاذ جعفر وبجد أنا عاجز عن الشكر .. :)

تحياتي لك يا راقي .. :)

 

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

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