تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة في عرض رقم الصنف بعد البحث عنه الى الجريد-مرفق صورة توضيحية
#11
المثال الذي وضعته لا يوجد به خطأ حفظ عندي السجلات لكن اريد ان اسالك لماذا وضعت رسالة تأكيد الحفظ في كل سجل في الجدول فقط ضعها قبل for و اغلق الشرط بعد next .
الرد
تم الشكر بواسطة: awidan76 , ابراهيم ايبو , Ahmed_Mansoor
#12
بجرب وارد لك خبر

لم يعمل بالشكل المطلول يعطي لي رسالة "تم حفظ الفاتورة " بتكرار عدد العناصر

وكمان اريد شرط اذا الجريد خالي من البيانات "حدد عنصر واحد على الاقل"
اذا اي من صناديق boxs خالي اريد رسالة اكتب البيانات
في رقم المعميل ,اسم العميل , البيان , ....الخ
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد
#13
PHP كود :
'بسم الله الرحمن الرحيم نبدء'
'الغ fox.Rows = 14'
'ضع بدل عنها'
fox.Rows 0

'ضع هذا الكود في زر الحفظ قبل اللوب'
'إذا كان الجدول فارغ'
Dim flag As Boolean
Dim r
As Integer
  With fox
  flag 
True
    For r 
1 To .Rows 
      For c 
1 To .Cols 1
        If 
.TextMatrix(rc) <> vbNullString Then
        flag 
False
        End 
If
 
     Next c
    Next r
  End With
  If flag 
True Then
  MsgBox 
"لا يمكن حفظ الفاتورة الجدول فارغ"
 
 Exit Sub
  End 
If
'تفقد اذا كان هناك تكست بوكس فارغ في الفورم'
Dim X As Integer
For 0 To Me.Controls.Count 1
If TypeOf Me.Controls(XIs TextBox Then
If Me.Controls(X).Text "" Then
MsgBox 
"الرجاء تعبئة جميع الحقول النصية"
Exit Sub
End 
If
End If
Next X
'كود الحفظ'
'بعد Next الخاص بالحفظ ضع End If'


'عدل كود Timer2 ليكون كالتالي'
Private Sub Timer2_Timer()
If 
Getasynckeystate(120Then
ItemsID 
""
Form4.Show 1
fox
.TextMatrix(fox.Row0) = ItemsID
If ItemsID 0 Then
fox
.Rows fox.Rows 1
End 
If
End If
End Sub 

تعديل إضافي للتايمر :

PHP كود :
Private Sub Timer2_Timer()
If 
Getasynckeystate(120Then
ItemsID 
""
Form4.Show 1
fox
.TextMatrix(fox.Row0) = ItemsID
If ItemsID 0 Then
fox
.Rows fox.Rows 1
End 
If
End If
If 
fox.TextMatrix(fox.Rows 10) = "" And fox.TextMatrix(fox.Rows 20) = "" Then
fox
.RemoveItem (fox.Rows 1)
End If
End Sub 

و اذا اردت ضع الكود التالي في حدث الدبل كليك بـ Fox اي بالداتا غريد الخاص بالأصناف كالتالي :

PHP كود :
Private Sub fox_DblClick()
ItemsID 0
Form4
.Show 1
fox
.TextMatrix(fox.Row0) = ItemsID
If ItemsID 0 Then
fox
.Rows fox.Rows 1
End 
If
End Sub 


تعديل أخير :
PHP كود :
Private Sub fox_DblClick()
ItemsID 0
Form4
.Show 1
fox
.TextMatrix(fox.Row0) = ItemsID
If ItemsID 0 Then
fox
.Rows fox.Rows 1
End 
If
fox.Refresh
fox
.Row fox.Rows 1
fox
.Col 0
fox
.RowSel fox.Rows 1
End Sub 
الرد
#14
العفو اخي ماضبطت معي ابدا يعمل تكرار لرسال "هل تريد حفظ الفاتورة "

عادي مابتعبك اخي الغالي وشكراً على محاولتك مساعدتي ولك جزيل الشكر

احترمك
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد
تم الشكر بواسطة: asemshahen5 , Ahmed_Mansoor
#15
زر الحفظ كاملا :

PHP كود :
Private Sub Command1_Click()
'إذا كان الجدول فارغ'
Dim flag As Boolean
Dim r
As Integer
  With fox
  flag 
True
    For r 
1 To .Rows 
      For c 
1 To .Cols 1
        If 
.TextMatrix(rc) <> vbNullString Then
        flag 
False
        End 
If
 
     Next c
    Next r
  End With
  If flag 
True Then
  MsgBox 
"لا يمكن حفظ الفاتورة الجدول فارغ"
 
 Exit Sub
  End 
If
'تفقد اذا كان هناك تكست بوكس فارغ في الفورم'
Dim X As Integer
For 0 To Me.Controls.Count 1
If TypeOf Me.Controls(XIs TextBox Then
If Me.Controls(X).Text "" Then
MsgBox 
"الرجاء تعبئة جميع الحقول النصية"
Exit Sub
End 
If
End If
Next X

If MsgBox("هل تريد بالفعل حفظ بيانات الفاتورة"vbYesNo"") = vbYes Then
        
Dim I 
As Integer
For 1 To fox.Rows 1
    If Trim
$(fox.TextMatrix(I0)) <> "" And Val(Trim$(fox.TextMatrix(I0))) > 0 Then
    Set RS 
= New ADODB.Recordset
If RS.State adStateOpen Then RS.Close
RS
.CursorLocation adUseClient
             RS
.Open "select* from  BillItems "DBadOpenStaticadLockPessimistic
             RS
.AddNew
             RS
!Id Val(Trim$(fox.TextMatrix(I0)))
 
            RS!Name Trim$(fox.TextMatrix(I1))
 
            RS!Qty Val(Trim$(fox.TextMatrix(I3))) ''3
      RS
.Update
      DoEvents
        Set RS2 
= New ADODB.Recordset
If RS2.State adStateOpen Then RS2.Close
RS2
.CursorLocation adUseClient
      RS2
.Open "Select * From Store Where iD=" Val(Trim$(fox.TextMatrix(I0))), DBadOpenStaticadLockPessimistic
      If RS2
.RecordCount 0 Then
         RS2
![noo] = RS2![noo] - Val(Trim$(fox.TextMatrix(I3))) ''3
         RS2
.Update
         DoEvents
    MsgBox 
"تمت عملية الحفظ بنجاح"vbMsgBoxRtlReading vbInformation"حفظ فاتورة"
Else
 
   MsgBox "لم يتم حفظ الفاتورة"vbMsgBoxRtlReading vbInformation"حفظ فاتورة"
Exit Sub

End 
If
End If
Next
End 
If
End Sub 
الرد
تم الشكر بواسطة: awidan76 , Ahmed_Mansoor
#16
الكود شغال 100% جزاك الله خير بس الرسالة "تم حفظ الفاتورة " بكررها على حسب عدد الاصناف المضافة

وهذه مشكلة

مع ان الكود الخاص بك شغال حلاوة اخي الغالي وجزاك الله عنا خيرا ً

حلو جد خاصية التايمر عجبتنا مرررة
ربي يحفظ ك ويسلمك
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد
تم الشكر بواسطة: asemshahen5 , Ahmed_Mansoor
#17
هذا هو الحل :

PHP كود :
Private Sub SaveBill()
Dim X As Integer
'تفقد اذا كان هناك تكست بوكس فارغ في الفورم'
For 0 To Me.Controls.Count 1
If TypeOf Me.Controls(XIs TextBox Then
If Me.Controls(X).Text "" Then
MsgBox 
"الرجاء تعبئة الحقول النصية"
Exit Sub
End 
If
End If
Next X

If MsgBox("هل تريد بالفعل حفظ بيانات الفاتورة"vbYesNo"") = vbYes Then
Dim I 
As Integer
For 1 To fox.Rows 1
    If Trim
$(fox.TextMatrix(I0)) <> "" And Val(Trim$(fox.TextMatrix(I0))) > 0 Then
    Set RS 
= New ADODB.Recordset
If RS.State adStateOpen Then RS.Close
RS
.CursorLocation adUseClient
             RS
.Open "select* from  BillItems "DBadOpenStaticadLockPessimistic
             RS
.AddNew
             RS
!Id Val(Trim$(fox.TextMatrix(I0)))
 
            RS!Name Trim$(fox.TextMatrix(I1))
 
            RS!Qty Val(Trim$(fox.TextMatrix(I3))) ''3
      RS
.Update
      DoEvents
        Set RS2 
= New ADODB.Recordset
If RS2.State adStateOpen Then RS2.Close
RS2
.CursorLocation adUseClient
      RS2
.Open "Select * From Store Where iD=" Val(Trim$(fox.TextMatrix(I0))), DBadOpenStaticadLockPessimistic
      If RS2
.RecordCount 0 Then
          RS2
![noo] = RS2![noo] - Val(Trim$(fox.TextMatrix(I3))) ''3
         RS2
.Update
         DoEvents
Else
 
   MsgBox "لم يتم حفظ الفاتورة "vbMsgBoxRtlReading vbInformation"تنبية"
Exit Sub

End 
If
End If
Next
MsgBox 
"تمت عملية حفظ الفاتورة "vbMsgBoxRtlReading vbInformation"تنبية"
End If
End Sub

Private Sub Command1_Click()
'إذا كان الجدول فارغ'
Dim flag As Boolean
Dim r
As Integer
  With fox
  flag 
True
  Dim strXX 
As String
    For r 
1 To .Rows 
      For c 
0 To .Cols 1
        strXX 
= .TextMatrix(rc)
 
       If strXX "" Then
        flag 
False
Call SaveBill
        Exit Sub
        End 
If
 
     Next c
    Next r
  End With
  If flag 
True Then
  MsgBox 
"الجدول فارغ الرجاء تعبئته"
 
 Exit Sub
  End 
If
End Sub 
الرد
تم الشكر بواسطة: awidan76 , محمد كريّم , Ahmed_Mansoor , Ahmed_Mansoor
#18
جزاك الله خير اخي الغالي asemshahen5 ربي يحفظك ويجزيك كل الخير

ويجعلك سعيدا دائما وابدا ويرزقك من حيث لاتدري رزقاً كثيرا يجعلك تتفاجئ به

اللهم امين

احترمك اخي الغالي والعزيز وشكراً على مجهودك البناء في مساعدتي
اعزك واحترمك
اخوك محمد
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد
تم الشكر بواسطة: asemshahen5 , Ahmed_Mansoor
#19
الله يسلمك و يحفظك اتدري رجعتني للوراء الى عام 2002 - 2003 لايام الذكريات الجميلة بارك الله فيك .
الرد
تم الشكر بواسطة: awidan76 , Ahmed_Mansoor
#20
الله يسلمك ويعافيك ويبارك فيك
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد
تم الشكر بواسطة: asemshahen5 , Ahmed_Mansoor



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم