منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
من قاعدة البانات الى مصفوفة أزواج مرتبة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم اسئلة vb6.0 المتعلقة بقواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=72)
+--- الموضوع : من قاعدة البانات الى مصفوفة أزواج مرتبة (/showthread.php?tid=15515)



من قاعدة البانات الى مصفوفة أزواج مرتبة - اسلام الكبابى - 18-04-16

لدى قاعدة بيانات اسمها bass1 بها جدول اسمه table1 مكون من تسعة صفوف وأربعة أعمدة
وأريد باستخدام الado عمل مصفوفة أزواج مرتبة على الصورة xa(i,j)
بمعنى اذا كان السجل الثالث فى الحقل الثانى مثلآ قيمته=588  أريد كودآ يجعل   xa(2,3)= 588
ولكم ألف شكر


RE: من قاعدة البانات الى مصفوفة أزواج مرتبة - اسلام الكبابى - 18-04-16

كتبت هذا الكود فقام بالمطلوب والحمد لله

PHP كود :
Set RS = New ADODB.Recordset
       
       RS
.Open "select * from table1"dbadOpenStaticadLockReadOnly
 NFieldS 
4
 RS
.MoveFirst
   
For 1 To RS.RecordCount
     
For 1 To NFieldS
     XA
(IJ) = RS.Fields(J)
 
    Next J
    RS
.MoveNext
  Next I 

ولكن مشكلتى أن هذه العملية أريد عملها على عشرة جداول لا على الجدول table1  فقط
وطبعآ اسم المصفوفة المطلوبة مختلف من مرة لأخرى
 أى أنى أريد عمل عشرة مصفوفات من عشرة جداول
فاذا كنت فى المرة الأولى قمت بعمل المصفوفة  xa(I,J) من الجدول table1
         فأريد فى المرة الثانية عمل المصفوفة EGRA(I,J) من الجدول table2
         وأريد فى المرة الثانية عمل المصفوفة TEMP(I,J) من الجدول table3
         وأريد فى المرة الثانية عمل المصفوفة WAIT(I,J) من الجدول table4
وهكذا بعشرة أسماء مختلفة
فكيف يمكن ذلك دون اعادة الكود السابق عشر مرات؟
أى هل يمكن أن نجعل اسم الجدول كمتغير( TBLL مثلآ) واسم المصفوفة كمتغير(MASFF مثلآ)
ثم كتابة الكود السابق مرة واحدة ؟
طبعآ مع كتابة سطر فى كل مرة قبل التوجه لتنفيذ هذا الكود لتحديد قيم هذه المتغيرات
ففى المرة الثانية مثلآ نكتب قبل التوجه لتنفيذ هذا الكود TBLL=table2: MASFF=EGRA
وفى المرة الثالثة مثلآ نكتب قبل التوجه لتنفيذ هذا الكود TBLL=table3: MASFF=TEMP
كيف يمكن ذلك؟   أم لابد من اعادة كتابة هذا الكود عشر مرات؟
ولكم ألف شكر



RE: من قاعدة البانات الى مصفوفة أزواج مرتبة - Ahmed_Mansoor - 19-04-16

أهلا أخي الكريم , إستخدم هذه الدالة :

PHP كود :
Private Function Prepar_Array(zTableName As StringzArray() As String)

Dim RA As New ADODB.Recordset
Dim aArray
() As String
Dim zCol1 
As IntegerzCol2 As Integer

If RA.State 1 Then RA.Close

RA
.Open "Select * From " zTableNameDBadOpenStaticadLockPessimistic

If RA.RecordCount 0 Then

   RA
.MoveFirst
   
   ReDim aArray
(RA.RecordCountRA.Fields.Count) As String
      
   
Do While Not RA.EOF
   
      zCol1 
zCol1 1
      
      
For zCol2 1 To RA.Fields.Count
          aArray
(zCol1zCol2) = RA.Fields(zCol2 1).Value
      Next
            
      RA
.MoveNext
    
   Loop
   
   zArray
() = aArray()
   
End If

If 
RA.State 1 Then RA.Close

Set RA 
Nothing

End 
Function 

وطريقة إستدعائها كالتالي :

PHP كود :
Prepar_Array "Table1"xa() 

حيث Table1 هو إسم الجدول و xa هو إسم المصفوفه ويجب أن تعرف جميع المصفوفات العشر كمصفوفه نصيه كالتالي :

PHP كود :
Dim xa() As String
Dim EGRA
() As String
Dim TEMP
() As String
Dim WAIT
() As String
..........
..........
إلى آخر المصفوفات 



RE: من قاعدة البانات الى مصفوفة أزواج مرتبة - اسلام الكبابى - 19-04-16

أستاااااااااذ  طول عمرك

ألف ألف شكر


RE: من قاعدة البانات الى مصفوفة أزواج مرتبة - Ahmed_Mansoor - 19-04-16

أهلا أخي الكريم , شكرا جزيلا لك , حياك الله .