منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] ممكن تعديل هذا الكود - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] ممكن تعديل هذا الكود (/showthread.php?tid=10526)



ممكن تعديل هذا الكود - abdala - 29-10-14

                                السلام عليم  

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


Dim DB As Database

'Dim rs1 As Recordset
'
'Set DB = OpenDatabase("union2.2.mdb")
'
'Set rs1 = DB.OpenRecordset("SELECT quantity FROM Nami WHERE material_name = '" + Text2.Text + "'")
'Set rs2 = DB.OpenRecordset("SELECT quantity FROM Badi WHERE material_name = '" + Text2.Text + "'")
'Set rs3 = DB.OpenRecordset("SELECT quantity FROM Nahi WHERE material_name = '" + Text2.Text + "'")
'
'Do While Not rs1.EOF
'If rs1("quantity") <> "" Then
'Text1.Text = Val(Text1.Text) + Val(rs1("quantity"))
'End If
'rs1.MoveNext
'Loop
'
'
'Do While Not rs2.EOF
'If rs2("quantity") <> "" Then
'Text6.Text = Val(Text6.Text) + Val(rs2("quantity"))
'End If
'rs2.MoveNext
'Loop
'
'
'
'Do While Not rs3.EOF
'If rs3("quantity") <> "" Then
'Text7.Text = Val(Text7.Text) + Val(rs3("quantity"))
'End If
'rs3.MoveNext
'Loop

ارجوا الاهتمام


RE: ممكن تعديل هذا الكود - mahers76 - 29-10-14

ارجو ان يكون طلبك / ي في الملف المرفق


RE: ممكن تعديل هذا الكود - abdala - 29-10-14

شكرا على الكود ولكن انا اريد ان ابحس باسم الخامة فى جميع الجدول
Public Function find_material_name(ByVal material_name As String, ByVal quantity As String, Text As Object, Text1 As Object, Text2 As Object, Text3 As Object, Text4 As Object)

Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
Set rs3 = New ADODB.Recordset


SQL1 = "SELECT " & quantity & " FROM Tb_ST WHERE " & material_name & " = '" + Text + "'"
SQL2 = "SELECT " & quantity & " FROM Tb_GR WHERE " & material_name & " = '" + Text + "'"
SQL3 = "SELECT " & quantity & " FROM Tb_FN WHERE " & material_name & " = '" + Text + "'"



rs1.Open SQL1, db, adOpenDynamic, adLockOptimistic
rs2.Open SQL2, db, adOpenDynamic, adLockOptimistic
rs3.Open SQL3, db, adOpenDynamic, adLockOptimistic



'
Do While Not rs1.EOF
If rs1(quantity) <> "" Then
Text1.Text = Val(Text1.Text) + Val(rs1(quantity))
End If
rs1.MoveNext
Loop
'
rs1.Close
'
Do While Not rs2.EOF
If rs2(quantity) <> "" Then
Text2.Text = Val(Text2.Text) + Val(rs2(quantity))
End If
rs2.MoveNext
Loop
'
rs2.Close
'
Do While Not rs3.EOF
If rs3(quantity) <> "" Then
Text3.Text = Val(Text3.Text) + Val(rs3(quantity))
End If
rs3.MoveNext
Loop
rs3.Close
Text4.Text = Val(Text1.Text) + Val(Text2.Text) + Val(Text3.Text)




End Function
انا حولت الكود الى الدالة دة ولكن الدالة تبحث على اسم الخامة فى عمود واحد وانا اريد ان تبحث عن اسم الخامة فى الجدول كلة

ارجوا الاهتمام


RE: ممكن تعديل هذا الكود - mahers76 - 01-11-14

text1 = GetFromDB1(StrSql1)
text2 = GetFromDB1(StrSql2)
text3 = GetFromDB1(StrSql3)
text4 = val(text1) + val(text2) + Val(text3)
ارجو ان اكون قد فهمت ما تريده صح
ملاحظة:
الاستعلامات المكتوبة تقوم بالبحث عن الكمية في حقل من جدول وليس في كل الجدول وبحسب اسم المادة


RE: ممكن تعديل هذا الكود - Ahmed_Mansoor - 01-11-14

في البداية قم بتغيير نوع حقل الكمية الي رقم ثم استخدم هذه الدالة ، قم بتمرير اسم الجدول واسم الخامة للدالة :

كود :
Public Function Get_Qnty(zTableName As String,zItemName As String) As String

Dim DB As Database
Dim RS As Recordset

Set DB = OpenDatabase("union2.2.mdb")

Set RS = DB.OpenRecordset("SELECT SUM(quantity) As zquantity FROM " & Trim$( zTableName) & " Where material_name ='" & Trim$(zItemName) & "' quantity <> ''")

IF RS.RecordCount > 0 Then
     Get_Qnty = RS![zquantity]
Else
     Get_Qnty = "0"
End IF

End Function