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

المساعدة بان احضر قيمة من فورم اخر


ahmedhassan1948

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

بعمل برنامج اكسس

عاوز اختار twitter و Click من الفورم TBLPLATEFORM

يذهب  ياتي القيمة من p1 من الفورم PlatPrice

 

If ComPlat.Value = Twitter & comType.Value = Click Then
TargetPlas.Value = PlatPrice.NP1.Value  * 0.5

ملف الاكسس

platform.rar

شكرا لكم 

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

مشاركة مع استاذى الحبيب الاستاذ @ناقل :fff: انا ايضا ناقل :biggrin2: من استاذى الجليل ومعلمى القدير و والدى الجبيب الاستاذ @jjafferr :fff:

Dim MyWher As String

Dim A As String
Dim x() As String
    
    A = DLookup("[p1] & '|' & [p2] & '|' & [p3] & '|' & [p4] & '|' & [p5] & '|' & [p6] & '|' & [p7] & '|' & [p7]& '|' & [p9]", "[PlatPrice]")
    x = Split(A, "|")
        
        MyWher = x(0)
        If ComPlat.Value = "Twitter" And Me.comType = "Click" Then TargetPlas.Value = MyWher * 0.5

 

تم تعديل بواسطه ابو جودي
  • Thanks 1
رابط هذا التعليق
شارك

الاستاذ @ahmedhassan1948  شكله نايم ما شاف الحلول الى الان 

واستاذى القدير ومعلمى الاستاذ @ناقل يبدو انه زعلان لانى لم انقل عنه :biggrin: كما تعودنا 

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

منذ ساعه, ابو جودي said:

 

واستاذى القدير ومعلمى الاستاذ @ناقل يبدو انه زعلان لانى لم انقل عنه :biggrin: كما تعودنا 

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

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

جزاكم الله خير 

 

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

Dim MyWher As String

Dim A As String
Dim x() As String
    
    A = DLookup("[p1] & '|' & [p2] & '|' & [p3] & '|' & [p4] & '|' & [p5] & '|' & [p6] & '|' & [p7] & '|' & [p7]& '|' & [p9]", "[PlatPrice]")
    x = Split(A, "|")
        
        MyWher = x(0)
        If ComPlat.Value = "Twitter" And Me.comType = "Click" Then TargetPlas.Value = MyWher * 0.5

كدة هو بيضرب القيمة ثابته في 0.5 انا محتاج اضربها حسب القيمة الموجودة في p1 او p2 او p3 وهكذا 

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

1 ساعه مضت, ahmedhassan1948 said:

انا محتاج اضربها حسب القيمة الموجودة في p1 او p2 او p3 وهكذا 

اذا لم يكن فهمي خاطئا فلم يتسع وقتي لتحميل المرفق 

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

قم بانشاء وحدة نمطية واكتب بها هذا السطر

Public Myvalue as integer

وبهذا الشكل يمكنك تمرير اي قيمة من الفورم اليها لتستعملها بأي فورم آخر تريده بالكيفية التي تريدها مثال

من الفورم الأول مثلا اكتب هذا الكود

Myvalue = p1  'Or p2 or p3 as you want

ومن الفورم الثاني اكتب هذا الكود 

TargetPlas= Myvalue * 0.5  'أو اي معادلة حسابية تريد ان تجريها علي هذا المتغير

وانتهي الأمر

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

جزاك الله خير

يبدوا ان المشكلة عندي

 

انا عملت Modual 

Option Compare Database

Public Myvalue As Integer
Public MyP2 As Integer

الفورم الاول 

Myvalue = NP1.Value
MyP2 = Np2.Value

الفورم الثاني 

    If ComPlat.Value = Twitter & comType.Value = Click Then
        
        TargetPlas.Value = txtCost.Value * Myvalue
        Else
ComPlat.Value = Twitter & comType.Value = engagement
TargetPlas.Value = txtCost.Value * MyP2
       
        End If

 

و لم يعمل 

 

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

22 ساعات مضت, أبو عبدالله الحلوانى said:

واذا اردت ان تمرر احد هذه القيم من فورم الي اخر ولا يشترط ان يكون كلاهما مفتوحا بنفس الوقت

ياريت تشرح الفكرة بأكثر تفصيل استاذنا العزيز @أبو عبدالله الحلوانى

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

12 دقائق مضت, ahmedhassan1948 said:

Option Compare Database

Public Myvalue As Integer
Public MyP2 As Integer

الفورم الاول 

Myvalue = NP1.Value
MyP2 = Np2.Value

الفورم الثاني 

    If ComPlat.Value = Twitter & comType.Value = Click Then
        
        TargetPlas.Value = txtCost.Value * Myvalue
        Else
ComPlat.Value = Twitter & comType.Value = engagement
TargetPlas.Value = txtCost.Value * MyP2
       
        End If

جرب هذا التعديل

Option Compare Database

Public Myvalue As Integer
Public MyP2 As Integer

الفورم الاول 
private sub Zer1_Click()
  Myvalue = NP1.Value
  MyP2 = Np2.Value
End sub

الفورم الثاني 

    If ComPlat.Value = "Twitter" And comType.Value = "Click" Then
        TargetPlas.Value = txtCost.Value * Myvalue
    Elseif ComPlat.Value = "Twitter" And comType.Value = "engagement" then
		TargetPlas.Value = txtCost.Value * MyP2
	End If

ووافني بالنتائج

اذا لم تزل تواجه مشكلة ارفق مرفق للتعديل.

11 دقائق مضت, Eng.Qassim said:

ياريت تشرح الفكرة بأكثر تفصيل

الفكرة بكل بساطة هي:

1- انشاء متغير عام يمكن استدعائه من اي مكان بالبرنامج ( عن طريق انشاء وحدة نمطية عامة وكتابة تصريح عام بها باسم المتغير كما هو موضح بالمشاركة الأولي)

2- نمرر قيمة الي هذا المتغير العام من اي فورم او تقرير او ... 

3- نقرأ قيمة المتغير من اي مكان كذلك سواء فورم او تقرير او ...

وانتهي الأمر

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

في ١٧‏/١‏/٢٠٢٢ at 21:16, ahmedhassan1948 said:

كدة هو بيضرب القيمة ثابته في 0.5 انا محتاج اضربها حسب القيمة الموجودة في p1 او p2 او p3 وهكذا 

انسى الاجابات اللى فاتت 

انسى اى شئ وما تفكرش انك تطلب الحل على افكارك انت
لان انت ممكن تكون ما فكرت بطريقة صحيحة وممكن توجهنا بالخطأ تبعا لافكارك 
 

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

ياريت الاجابة تكون مصحوبة بالقيم الحالية الموجودة بالجداول :yes:

في ١٧‏/١‏/٢٠٢٢ at 21:16, ahmedhassan1948 said:

كدة هو بيضرب القيمة ثابته في 0.5 انا محتاج اضربها حسب القيمة الموجودة في p1 او p2 او p3 وهكذا 

انا اقدر اغير الكود زى ما انا اريد ولكن انا لا ادرى ماذا تريد انت 

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

يا اخى الله يرضى عليك تعالى نمشى خطوة بعد خطوة فى المطلوب تنفيذه 

هو حضرتك مكسل تكتب ؟!

لو الموضوع كبير 

خلينا نمشى خطوة خطوة

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

تمام اخي 

المطلوب عندما يختار البلاتفورم و النوع و يضيف القيمة (x) يذهب للفورم الثاني و يحضر القيمة و يضربها في x

مثال 

اختار تويتر و كليك و قيمة x  مثلا 500 يذهب للفورم الاخري يحضر القيمة الذي امام تويتر و كليك (0.5) و يحضرها للفورم الاول

ثم يضرب القيمة في x 

500 في 0.5 و تظهر في المربع target 

 

تمام اخي 

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

اتفضل تجربة 


Dim MyWher As String

Dim A As String
Dim x() As String
    
    A = DLookup("[p1] & '|' & [p2] & '|' & [p3] & '|' & [p4] & '|' & [p5] & '|' & [p6] & '|' & [p7] & '|' & [p7]& '|' & [p9]", "[PlatPrice]")
    x = Split(A, "|")
        
        'MyWher = x(0)
        'Debug.Print MyWher
        
       Select Case Nz(comType, "")
        Case Is = "": MyWher = ""
        Case Is = "click": MyWher = x(0)
        Case Is = "Engagement": MyWher = x(1)
        Case Is = "impressions": MyWher = x(2)
        Case Is = "IGTV": MyWher = x(3)
       End Select
       
        Dim Myx As String
        Myx = "2.5"
        TargetPlas.Value = MyWher * Myx

 

غير قيمة Myx  كما تريد

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

استاذي @ابو جودي... انا افتر دماغي

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

كما في الصورة

اعتقد تحتاج شوية بخور ...

plate.PNG

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

11 دقائق مضت, Eng.Qassim said:

حاولت ان اعمل حلقة تكرار ولم تنفع

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

قد يكون فقط الان لان السجلات لم تأخذ القيم المفروضة

واانا والله الى الان مش فاهمه لو فهمت هو عاوز ايه ان شاء الله اضع له الاجابة تفصيلا

 

انا احاول وضع الاجابة بدون التعرض لادراج قيم الى متغيرات والتى تستوجب فتح الفورم الاول 

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

انا عملت له كود يحضر كل القيم على طريقة استاذى الجليل ومعلمى القدير و والدى الجبيب الاستاذ @jjafferr 

بس باقى توظيف الكود للتعامل مع الحالات المختلفة 

وهو مصر انه ياخدنا جميعا للارتباط بقيم الفورم والجميع جزاهم الله خيرا فكروا بناء على طلبه انا شايف ان القيم ثابته وسجل واحد فقط لذلك اخرجت نفسى من العمل مع التعاطى للبيانات من خلال الفورم

 

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

فى هذا الكود 


x(0) = p1
x(1) = p2
x(2) = p3
x(3) = p4
x(4) = p5
x(5) = p6
x(6) = p7
x(7) = p8
x(8) = p9

Dim MyWher As String

Dim A As String
Dim x() As String
    
    A = DLookup("[p1] & '|' & [p2] & '|' & [p3] & '|' & [p4] & '|' & [p5] & '|' & [p6] & '|' & [p7] & '|' & [p7]& '|' & [p9]", "[PlatPrice]")
    x = Split(A, "|")
        
        'MyWher = x(0)
        'Debug.Print MyWher
        
       Select Case Nz(comType, "")
        Case Is = "": MyWher = ""
        Case Is = "click": MyWher = x(0)
        Case Is = "Engagement": MyWher = x(1)
        Case Is = "impressions": MyWher = x(2)
        Case Is = "IGTV": MyWher = x(3)
       End Select
       
        Dim Myx As String
        Myx = "2.5"
        TargetPlas.Value = MyWher * Myx

 

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

استاذ @ابو جودي

انظر الى النموذج الاول

 

image.png.d627ab85c936690c7d9842db58cc1bbb.png

في النموذج الثاني .. حينما يتم اختيار مثلا Twitter and Click

تimage.png.4cdb104645cd3ac14df91da80eb9c67e.pngصبح قيمة TargetPlas (Target)= قيمة   txtcost  * قيمة ال twitter and clickالموجودة في النموذج الاول والتي قيمتها 5

18 دقائق مضت, ابو جودي said:

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

كلامك عين الصواب ولا اعرف لماذا يريد ان يأخذها من النموذج وليس من سجلات الجدول!!

تم تعديل بواسطه Eng.Qassim
رابط هذا التعليق
شارك

تمام الان جرب الكود الاتى يا باش مهندس @Eng.Qassim :fff:

 


Dim A As String
Dim x() As String
    
    A = DLookup("[p1] & '|' & [p2] & '|' & [p3] & '|' & [p4] & '|' & [p5] & '|' & [p6] & '|' & [p7] & '|' & [p7]& '|' & [p9]", "[PlatPrice]")
    x = Split(A, "|")
        
        'MyWher = x(0)
        'Debug.Print MyWher
        
       Select Case Nz(comType, "")
        Case Is = "": MyWher = ""
        Case Is = "click": MyWher = x(0)
        Case Is = "Engagement": MyWher = x(1)
        Case Is = "impressions": MyWher = x(2)
        Case Is = "IGTV": MyWher = x(3)
       End Select
       
        TargetPlas.Value = MyWher * txtCost.Value

 

 

المرفق

ACC_2.accdb

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

شهادة اعتز بها جزاكم الله خيرا :fff:

بس تعديل بسيط لو كان مربع السرد  comType  بلا قيم 

Dim MyWher  As String
Dim A       As String
Dim x()     As String
    
    A = DLookup("[p1] & '|' & [p2] & '|' & [p3] & '|' & [p4] & '|' & [p5] & '|' & [p6] & '|' & [p7] & '|' & [p7]& '|' & [p9]", "[PlatPrice]")
    x = Split(A, "|")
        
       Select Case Nz(comType, "")
        Case Is = "": MyWher = ""
        Case Is = "click": MyWher = x(0)
        Case Is = "Engagement": MyWher = x(1)
        Case Is = "impressions": MyWher = x(2)
        Case Is = "IGTV": MyWher = x(3)
       End Select
        
        If MyWher = "" Then TargetPlas.Value = "": Exit Sub
        TargetPlas.Value = MyWher * txtCost.Value

 

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

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