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

كيف ممكن الغي الprompt box واكتفي بارسال باراميتر

مغلق
بدأه asdqwer في 12 يناير 2007 · 11 رد · 3,319 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لو سمحتوا محتااجة مساعدة ضرورية ياريت تخدموني فيها

عندي مشكلة لمن ارسل باراميتر للريبورت ...

باستخدام الكود التالي اقدر ارسل باراميتر اللي هوه

PrintNo

وقيمته حتكون المتغير

printwono

وهذا الكود انا عملته كله مع بعض في ال

Load

تبع الفورم اللي فيها الكريستال ريبورت..

		Dim paramFields As New ParameterFields
		Dim paramField As New ParameterField
		Dim discreteVal As New ParameterDiscreteValue


		paramField.ParameterFieldName = "PrintNo"
		paramField.ParameterType = ParameterType.ReportParameter
		discreteVal.Value = printwono
		paramField.CurrentValues.Add(discreteVal)
		paramFields.Add(paramField)

		CrystalReportViewer1.ParameterFieldInfo = paramFields
		CrystalReportViewer1.ReportSource = "C:\printwoform.rpt"

والحمد لله المتغير اللي ارسله هوه اللي يطلع الريبورت له

لكن المشكلة انه قبل مايطلع لي الريبورت يظهر لي

prompt box

يطلب فيه قيمة الباراميتر اللي ابغى ارسله,,وطبعا بغض النظر عن اللي اكتبه الريبورت راح يطلع للمتغير اللي ارسلته في الكود..

سؤالي :

كيف ممكن اتخلص من هذي ال

prompt box

وهل في اي خطأ في الكود تبعي او ترتيبه او حتى مكانه؟

وسااامحوني للاطالة,, بس حبيت اوضح سؤالي اكثر..

ارجوكم لا تتأخرون علية والله محتااااااجة لمساعدتكم :cry: :cry:

#2

مرحبا

Dim rpt4 As New your report name

CrystalReportViewer1.ReportSource = rpt4

rpt4.Refresh()

هنا هتبعتى قيمة بأسم الباراميتر الموجود بالكريستال Parameter in your report وهتدخلى القيمة المطلوبة فى Parameter Value

rpt4.SetParameterValue("Parameter in your report", Parameter Value)

تحياتى

تم تعديل هذه المشاركة بواسطة cdcase في 12 يناير 2007 في 14:52

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

#3

مشكور اخوي cdcase

لكن للاسف نفس النتيجة

انا مشكلتي في البرومبت بوكس اللي تطلع

ماني عارفة ايش سبب وجودها ولا عارفة كيف ممكن الغيها

ياااريت اللي يعرف يساااعدني والله من جد محتااااجة له

#4

الحمد لله حليت المشكلة واستخدمت الكود التالي:

Dim conn As SqlClient.SqlConnection

conn = New SqlClient.SqlConnection

openDBconn(conn)

Dim cm As SqlClient.SqlCommand

cm = New SqlClient.SqlCommand

cm.Connection = conn

cm.CommandText = "select* from table where fieldName='" & Trim(value) & "'"

cm.CommandType = CommandType.Text

Dim read As SqlClient.SqlDataReader

read = cm.ExecuteReader

If Not read.Read Then

read.Close()

conn.Close()

Else

Dim prr As New ParameterFields

Dim pr As SqlParameter

pr = New SqlParameter("@pFieldName", SqlDbType.VarChar)

pr.Value = value

Dim pr1 As ParameterField

Dim rpt As New reportName

rpt.SetParameterValue("Parameter Name", value)

Me.Visible = False

Dim s As New Form16

s.CrystalReportViewer1.ReportSource = rpt

s.Visible = True

read.Close()

conn.Close()

End If

واسفة على التأخير في الرد,,بس كان عندي مشكلة في النت

المهم انا حبيت اعرض الكود لتعم الفايدة

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

#5

أولا مبروك لحل مشكلتك

ثانيا لدي نفس المشكلة ولكني لم أفهم حلك هذا

ممكن توضحيلي

أنشأت سكوال بارامتر بلا استخدام

و ...

الصراحة مش فاهم وأرجو حل هذه المشكلة لدي أيضا

#6

السلام عليكم

وأنا أيضاً أرجو التوضيح: كيف يتم التخلص من مربع حوار Enter Parameter Value في فيجوال بيسك 2005؟

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#7

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

أخى الفاضل

هذا الكود هو الذى يمنع ظهور مربع حوار Enter Parameter Value

rpt.SetParameterValue("Parameter Name", value)

بالتوفيق ان شاء الله

1

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

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

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

#8

أختي لم يمنع ظهور الرسالة، أنا أستخدم فيجوال 2005 وعندي تقرير فيه Parameter Field اسمه Title

وهذا الكود

Private Sub ReportForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Me.Cursor = Cursors.WaitCursor

		Try
			Dim crtableLogoninfos As New TableLogOnInfos()
			Dim crtableLogoninfo As New TableLogOnInfo()
			Dim crConnectionInfo As New ConnectionInfo()
			Dim CrTables As Tables
			Dim CrTable As Table
			Dim rdoc As New G1
			With crConnectionInfo
				.DatabaseName = Application.StartupPath & "\db.mdb"
				.Password = "ps1177"
			End With
			CrTables = rdoc.Database.Tables
			For Each CrTable In CrTables
				crtableLogoninfo = CrTable.LogOnInfo
				crtableLogoninfo.ConnectionInfo = crConnectionInfo
				CrTable.ApplyLogOnInfo(crtableLogoninfo)
			Next




			rdoc.SetParameterValue("Title", "hghghg")



			CRV.ReportSource = rdoc
			CRV.SelectionFormula = RSF

			CRV.RefreshReport()
		Catch ex As Exception
			MsgBox(ex.Message)
			Me.Cursor = Cursors.Default
		End Try
		Me.Cursor = Cursors.Default

	End Sub

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#9

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

اقتباس
CRV.RefreshReport()

السطر السابق هو المسبب للمشكلة احذفه او ما شئت

فمهم ان تفهم سبب ظهور البرومبت بوكس وساحاول شرح سبب المشكلة برغم انني فاشل في ايصال الفكرة من اول محاولة وهذه شئ مجرب

المهم ان السبب هو عملية التحديث هذه فانت بعدما تقوم بعملية اسناد القيم للباراميترز في السطر التالي

اقتباس
rdoc.SetParameterValue("Title", "hghghg")

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

الى هنا تكون قد حليت المشكلة .

لكن يبقى شئ افتراضي اخر وهو

افترض ان المستخدم ضغط على زر الرفرش Refresh بتاع الريبورت فيور اكيد البرومبت بوكس سيريك خلقته مرة ثاني

فيجب عليك اسناد القيمة False للخاصية showrefreshbottun .

اتمنى ان اكون قد وفقت في حل المشكلة

ورمضان كريم مقدما لكم جميعا .....وفقكم الله.

تم تعديل هذه المشاركة بواسطة loverman في 20 أغسطس 2007 في 05:45

نحن اليمانيون يا طه تطير بنا الى روابي العلا أرواح أنصارِ

اذا تذكرت عمارا ومبدأه فأفخر بنا اننا أحفاد عمارِ

بحثت عن سر السعادة جـــــــــاهدا فوجدت ذاك السر في تقواك

فليرضى عني الناس أو فليسخطوا انا لم أعد أأبى لغير رضـــاك

اللهم ارحم المسلمين والمسلمات المؤمنين والمؤمنات الأحياء منهم والأموات

#10

أخي loverman لا أدري كيف أشكرك أنا مدين لك بالشكر...

كم أرهقني البحث عن سبب المشكلة... والحمد لله...

لقد أرشدتني لحل المشكلة... وفعلاً كلامك صحيح.

ألف شكر...

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#11
ToolTip1.Show("YOU ARE WELCOME",MY HEART,FOR EVER)

I'M READY TO HELP!

:)

تم تعديل هذه المشاركة بواسطة loverman في 21 أغسطس 2007 في 00:15

نحن اليمانيون يا طه تطير بنا الى روابي العلا أرواح أنصارِ

اذا تذكرت عمارا ومبدأه فأفخر بنا اننا أحفاد عمارِ

بحثت عن سر السعادة جـــــــــاهدا فوجدت ذاك السر في تقواك

فليرضى عني الناس أو فليسخطوا انا لم أعد أأبى لغير رضـــاك

اللهم ارحم المسلمين والمسلمات المؤمنين والمؤمنات الأحياء منهم والأموات

#12

السلام عليكم

شكرا على المعلومه

لكن مافيش حل غير الغاء ال Refresh Button

لان كتير التقرير بيحتاج يتعملو ريفرش

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

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

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

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

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

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