العودة   منتديات داماس > منتدى البرمجة العام > لغات البرمجة

موضوع مغلق
17-07-2006, 12:37 AM
layan2000
عضو فعال
رقم العضوية: 15049
تاريخ التسجيل: Oct 2004
المشاركات: 61
تلقى دعوات الى: 1 موضوع
إعجاب: 0
تلقى 5 إعجاب على 3 مشاركة
 
السلام عليكم

اعزائي الكرام في هذا المنتدى الغالي

لدي سؤالين وأريد الأجابة عاجلاً ... ولكن (كرماً لا أمراً) ليس بوضع روابط لشروحات لاتدعم ولا تجيب على سؤالي بالكامل
وإنما تخدم جزء من السؤال وتترك الجزء الأخر
لذلك لا أستطيع الأستفادة من هذه الروابط ولا أجد الحل الكامل والجواب الشافي لأستفساراتي وأسئلتي

وللعلم مشروعي برنامج مربوط بقاعدة بيانات بدأت به من تاريخ 9/5/1427 هـ وإلى الأن لم انتهي منه وليس لكبر حجمه أويتطلب وقتاً طويلاً ولكن لعدم معرفتي بالفيجوال بيسك
وأبشركم أنني أستفدت فائده كبيرة من هذا المنتدى الغالي وبعض شروحات الأعضاء المتميزين
جعل الله جميع أعمالهم في موازين حسناتهم وغفر لهم ولوالديهم ومن يرد على أسئلتي وأستفساراتي


طلبي الأول :

1- عندي فورم ويوجد عليه أزرار وتكست بوكسز و MSHFlexGrid وكل شئ يعمل بشكل جيد
المطلوب كالتالي :
. أريد عندما يكتب المستخدم في الـ Text17 جزء أو كامل الأسم ويضغط على زر تقرير يظهر في التقرير الأسم الذي بحث عنه المستخدم وليس الأسم الأول أو السجل الأول في القاعدة .

. أريد عندما يكتب المستخدم في الـ Text17 جزء أو كامل الأسم ويضغط على زر طباعة يطبع الأسم الذي بحث عنه المستخدم وليس الأسم الأول أو السجل الأول في القاعدة .
هذا طلبي أو سؤالي الأول


طلبي الثاني :
أريد كود نقل جدول أسمه tb1 من القاعدة db1 إلى القاعدة db2 وبنفس الأسم tb1 وأستبدال الجدول الموجود tb1

هذا كل ما أريد منكم ولكم جزيل الشكر والعرفان

اعذروني على الأطالة




21-07-2006, 01:22 AM
Azharo
عضوية الشرف
رقم العضوية: 25230
تاريخ التسجيل: Sep 2005
الإقامة: Palestine
المشاركات: 1,478
تلقى دعوات الى: 0 موضوع
إعجاب: 14
تلقى 65 إعجاب على 18 مشاركة
 
وعليكم السلام



سامحني لتأخري في الرد على اسئلتك لعدم تمكني دخول الانترنت

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

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

Private Sub CmdSearch_Click() Call SQL_Query End Sub
------------------------------------

Sub SQL_Query() Call NewGrid -- بحث باستخدام حقل الاسم والعمر والعنوان (احد الحقول او جميعها )
sql_1 = " select * from TableName where true" If Trim(txtName.Text) <> "" Then sql_1 = sql_1 & " AND [Name] like '" & Trim(txtName.Text) & "*' " End If If Trim(TxtAge.Text) <> "" Then sql_1 = sql_1 & " AND [Age] like '" & Trim(TxtAge.Text) & "*' " End If If Trim(TxtAddress.Text) <> "" Then sql_1 = sql_1 & " AND [Address] like '" & Trim(TxtAddress.Text) & "*' " End If sql_1 = sql_1 & " ORDER BY [Name] " Set My_Set = My_DB.OpenRecordset(sql_1) If Not My_Set.EOF Then Do While Not My_Set.EOF
aa = "" aa = My_Set!name Grid1.AddItem aa, Grid1.Rows - 1
My_Set.MoveNext Loop End If Grid1.Visible = True Grid1.Col = 0 Grid1.SetFocus End Sub
------------------------------------------

-- تهيئة Grid قبل عرض البيانات به

Sub NewGrid() Grid1.Cols = 2 Grid1.Rows = 2 Grid1.FixedRows = 1 Grid1.FixedCols = 0 Grid1.Row = 0 Grid1.Col = 0: Grid1.ColWidth(1) = 2200: Grid1.Text = "الرقم" Grid1.Col = 1: Grid1.ColWidth(0) = 700: Grid1.Text = "الاســم" Grid1.Row = 1 Grid1.Col = 0: Grid1.ColWidth(1) = 2200: Grid1.Text = "" Grid1.Col = 1: Grid1.ColWidth(0) = 700: Grid1.Text = "" Grid1.FontSize = 9 Grid1.Left = 50 Grid1.Top = 1785 Grid1.Height = 6600 Grid1.Width = 3060 End Sub
--------------------------

وهذه طريقة اخرى للبحث ولكن باستخدام
Data Control بالاضافة الى DBGrid


 If Not Data1.Recordset.EOF Then Data1.Recordset.MoveLast
 
 
Data1.RecordSource = "select * From TableName Where FieldName ='" & Trim(Text17.Text) & "' order by FieldName "
Data1.Refresh



===

وبالنسبة للجزء الثاني من السؤال انا سافترض ان التقرير مصمم باستخدام Crystal Report


CrystalReport1.SelectionFormula = "{TableName.Name} ='" & Trim(TxtName.Text) & "'"
 
 
CrystalReport1.Action = 1

==
هذا تعريف المتغيرات المستخدمة يمكنك وضعه في General / Declarations على مسنوى نفس الفورم


او في Module على مسنوى المشروع كله


Global My_DB As Database
Global My_Set As Recordset Global sql_2 As String Dim myset As Dynaset



=

بالنسبة لطلبك الثاني يمكنك استخدام الفكرة التالية


حذف جميع البيانات الموجودة في الجدول tb1 من القاعدة db2 ومن ثم اضافة البيانات الموجودة في tb1 من القاعدة db1 اليه كالتالي


DB2.Execute " delete * from tb1 where true"
sql = " INSERT INTO db2.tb1 " sql = sql & " SELECT * " sql = sql & " FROM db1.tb1 where TRUE "



والله المستعان


سؤال في الـ MSHFlexGrid



Powered by vBulletin® Version
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
The owner and operator of the site is not responsible for the availability of, or any content provided.
Topics that are written in the site reflect the opinion of the author.
جميع ما يُطرح من مواضيع ومشاركات تعبر عن رأي كاتبها ولا تعبر عن رأي مالك الموقع أو الإدارة بأي حال من الأحوال.