منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ما هو الكود ؟؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم  ورحمه الله وبركاته  


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


المشكلة بالكود  
PHP كود :
Dim rep As New count


        rep
.SetDataSource(dt)
 
       rep.SetParameterValue("start_date"Me.DateTimePicker1.Value.Date)
 
       rep.SetParameterValue("end_date"Me.DateTimePicker2.Value.Date)


 
       Dim r As String COUNT(*) FROM [Table1WHERE ([sex] ='ذكر') AND ([ageBETWEEN 5 AND 9)
 
       rep.SetParameterValue("p1"r)
 
       Dim n As String COUNT(*) FROM [Table1WHERE ([sex] ='انثى') AND ([ageBETWEEN 5 AND 9)
 
       rep.SetParameterValue("p2"n)


 
       CrystalReportViewer1.ReportSource rep
        CrystalReportViewer1
.Refresh() 

بيعطي  خطا   علي  -    *   -Expression expected

جربت  اعمل  
جدول Sex يحتوى عمودين الاول ID ترقيم تلقائي مفتاح رئيسي والثاني Name اسم النوع والذي سيحتوى 1=ذكر 2=أنثى
بس  بدون نتائج  Huh  Undecided
ضع هذه الدالة
PHP كود :
Function SqlScalar(sql As String) As Integer
    Try
        Using cmd 
As New OleDbCommand(sqlCon)
 
           If Con.State <> ConnectionState.Open Then Con.Open()
 
           Dim c As Integer cmd.ExecuteScalar
            Con
.Close()
 
           Return c
        End Using
    Catch ex 
As Exception
        MsgBox
(ex.Message)
 
       Return 0
    End 
Try
End Function 

ثم استدعها بالطريقة التالية لتعيد لك العدد
PHP كود :
Dim r As String SqlScalar("SELECT COUNT(*) FROM [Table1] WHERE ([sex] ='ذكر') AND ([age] BETWEEN 5 AND 9)")
rep.SetParameterValue("p1"r)

Dim n As String SqlScalar("SELECT COUNT(*) FROM [Table1] WHERE ([sex] ='انثى') AND ([age] BETWEEN 5 AND 9)")
rep.SetParameterValue("p2"n

من الجيد وضع جدول لكل خاصية، ولكن يتوجب عندها الربط بين الجداول، والاستعلام سيختلف قليلاً.
(23-04-17, 11:26 AM)عبـدالله كتب : [ -> ]ضع هذه الدالة
PHP كود :
Function SqlScalar(sql As String) As Integer
    Try
        Using cmd 
As New OleDbCommand(sqlCon)
 
           If Con.State <> ConnectionState.Open Then Con.Open()
 
           Dim c As Integer cmd.ExecuteScalar
            Con
.Close()
 
           Return c
        End Using
    Catch ex 
As Exception
        MsgBox
(ex.Message)
 
       Return 0
    End 
Try
End Function 

ثم استدعها بالطريقة التالية لتعيد لك العدد
PHP كود :
Dim r As String SqlScalar("SELECT COUNT(*) FROM [Table1] WHERE ([sex] ='ذكر') AND ([age] BETWEEN 5 AND 9)")
rep.SetParameterValue("p1"r)

Dim n As String SqlScalar("SELECT COUNT(*) FROM [Table1] WHERE ([sex] ='انثى') AND ([age] BETWEEN 5 AND 9)")
rep.SetParameterValue("p2"n

من الجيد وضع جدول لكل خاصية، ولكن يتوجب عندها الربط بين الجداول، والاستعلام سيختلف قليلاً.


[attachment=13997]