10-07-20, 10:16 PM
أنا حاولت بكتابة الكود التالى ولكن لإضافة الحسابات بطريقة يدوية وهى فى حدث المغادرة لتكست كود الحساب
ولكن أريد تحويله ليتم إضافة الحسابات الجديدة طبقاً لما يتم اختياره من الترى فيو مقارنة بمستواه فى جدول Chart
كود :
Private Sub AccID_Leave(sender As Object, e As EventArgs) Handles AccID.Leave
Try
Dim da As New OleDbDataAdapter("select * from Accounts where AccId = " & AccID.Text, con)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
MsgBox("هذا الحساب موجود في دليل الحسابات", vbCritical, "المبرمج ")
Exit Sub
End If
Static myl(9) As Integer
Dim DA1, DA2, DA3, DA4, DA5, DA6, DA7, DA8, DA9 As New OleDbDataAdapter
Dim DT1, DT2, DT3, DT4, DT5, DT6, DT7, DT8, DT9 As New DataTable
Dim mylen, myclen, mylevel, i As Integer
Dim myac1, myac2 As String
DA1 = New OleDbDataAdapter("SELECT L1 from Chart", con)
DA1.Fill(DT1)
myl(1) = DT1(0)(0)
DA2 = New OleDbDataAdapter("SELECT L2 from Chart", con)
DA2.Fill(DT2)
myl(2) = DT2(0)(0)
DA3 = New OleDbDataAdapter("SELECT L3 from Chart", con)
DA3.Fill(DT3)
myl(3) = DT3(0)(0)
DA4 = New OleDbDataAdapter("SELECT L4 from Chart", con)
DA4.Fill(DT4)
myl(4) = DT4(0)(0)
DA5 = New OleDbDataAdapter("SELECT L5 from Chart", con)
DA5.Fill(DT5)
myl(5) = DT5(0)(0)
DA6 = New OleDbDataAdapter("SELECT L6 from Chart", con)
DA6.Fill(DT6)
myl(6) = DT6(0)(0)
DA7 = New OleDbDataAdapter("SELECT L7 from Chart", con)
DA7.Fill(DT7)
myl(7) = DT7(0)(0)
DA8 = New OleDbDataAdapter("SELECT L8 from Chart", con)
DA8.Fill(DT8)
myl(8) = DT8(0)(0)
DA9 = New OleDbDataAdapter("SELECT L9 from Chart", con)
DA9.Fill(DT9)
myl(9) = DT9(0)(0)
myac1 = AccID.Text
mylen = Len(Trim(myac1))
myclen = 0
mylevel = 0
For i = 1 To 9
myclen = myclen + myl(i)
If myclen >= mylen Then
mylevel = i
myclen = myclen - myl(i)
myac2 = Strings.Left(myac1, myclen)
Exit For
End If
Next i
REM '-----------------------------'
AccLevel.Text = mylevel
Dim DAA As New OleDbDataAdapter("select ArAccDes,EnParDes,AccLevel from Accounts where AccID =" & myac2, con)
Dim DTT As New DataTable
DAA.Fill(DTT)
If IsDBNull(DTT(0)(0)) = True Then
MsgBox("كود الاب غير موجود اختار كود رئيسى صحيح", vbCritical, "رسالة خطأ")
ParAcc.Text = " "
ArAccDes.Text = " "
Else
ParAcc.Text = myac2
ArParDes.Text = DTT.Rows(0).Item("ArAccDes")
EnParDes.Text = DTT.Rows(0).Item("EnParDes")
End If
ArAccDes.Focus()
If IsPrimary.Checked = True Then
acc_descr.Text = "رئيسى"
Else
acc_descr.Text = "فرعى"
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub