تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكله فى حفظ سجل جديد
#1
السلام عليكم و رحمة الله و بركاته
عند ضغط زر " جديد " و كتابتة بعض البيانات فى التكست بوكس و ترك تكست الملاحظات فارغ ثم ضغط زر " حفظ " يقوم بحفظه لكن يكتب قيمه فى حقل ملاحظات الذى تركته فارغ ز لا ادرى لماذا
المشروع فى المرفقات

.rar   smart accounting.rar (الحجم : 754.33 ك ب / التحميلات : 19)
مرفق الداتبيس من sql server 2008

.rar   الداتابيس.rar (الحجم : 3.4 م ب / التحميلات : 28)
الرد }}}
تم الشكر بواسطة:
#2
قاعدة البيانات عليها اذونات ؟؟؟
الرد }}}
تم الشكر بواسطة:
#3
لا اعرف ما هى الاذونات اول مره اسمع عنها
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله 
كل شيء شغال تمام معك فقط عدل الفنكشن هذه في ربط الجريد بالحقول
PHP كود :
   Sub moveData()
 
       Try
            Txt_bank_id
.Text Dgv.CurrentRow.Cells(0).Value.ToString()
 
           Txt_bank_name.Text Dgv.CurrentRow.Cells(1).Value.ToString()
 
           Txt_bank_address.Text Dgv.CurrentRow.Cells(2).Value.ToString()
 
           Txt_bank_swiftcode.Text Dgv.CurrentRow.Cells(3).Value.ToString()
 
           Txt_bank_phone.Text Dgv.CurrentRow.Cells(4).Value.ToString()
 
           Txt_bank_fax.Text Dgv.CurrentRow.Cells(5).Value.ToString()
 
           Txt_bank_email.Text Dgv.CurrentRow.Cells(6).Value.ToString()
 
           Txt_bank_webpage.Text Dgv.CurrentRow.Cells(7).Value.ToString()
 
           Cmb_bank_user_id.Text Dgv.CurrentRow.Cells(8).Value.ToString()
 
           Dtp_bank_date.Value Dgv.CurrentRow.Cells(9).Value.ToString()
 
    ' هذه الانكس 11 وليس 10       Txt_bank_note.Text = Dgv.CurrentRow.Cells(11).Value.ToString()

            '
TextBoxCount.Text "السجل" Dgv.CurrentRow.Index "من" Label4.Text

        Catch ex 
As Exception
            Return
        End 
Try
 
   End Sub 
الرد }}}
تم الشكر بواسطة: سلام و محبه , essawq
#5
شكرا
المشكله لم تحل
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#6
سلام يا سلام
جرب هذه الفنكشن
PHP كود :
   Sub moveData()
 
       Cleardata_bank()
 
       Try
            Txt_bank_id
.Text Dgv.CurrentRow.Cells(0).Value.ToString()
 
           Txt_bank_name.Text Dgv.CurrentRow.Cells(1).Value.ToString()
 
           Txt_bank_address.Text Dgv.CurrentRow.Cells(2).Value.ToString()
 
           Txt_bank_swiftcode.Text Dgv.CurrentRow.Cells(3).Value.ToString()
 
           Txt_bank_phone.Text Dgv.CurrentRow.Cells(4).Value.ToString()
 
           Txt_bank_fax.Text Dgv.CurrentRow.Cells(5).Value.ToString()
 
           Txt_bank_email.Text Dgv.CurrentRow.Cells(6).Value.ToString()
 
           Txt_bank_webpage.Text Dgv.CurrentRow.Cells(7).Value.ToString()
 
           Txt_bank_note.Text Dgv.CurrentRow.Cells("bank_note").Value.ToString()
 
           Cmb_bank_user_id.SelectedValue Dgv.CurrentRow.Cells("bank_user_id").Value.ToString()
 
           Dtp_bank_date.Value Dgv.CurrentRow.Cells(9).Value.ToString()


 
           '  TextBoxCount.Text = "السجل" & Dgv.CurrentRow.Index & "من" & Label4.Text

        Catch ex As Exception
            Return
        End Try
    End Sub 
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#7
اخي المشكلة في كود الاضافة بالكومبو بكس  الخاص بالمستخدم 

لانة يجب ادخال قيمة 
كل ما عملتة انا فعلتة ويجب ان تظيف المستخدم رقما

بعد تفعيله اضفت سجل مع ترك الملاحظات فارغ تمت الامور تماام

هذا الكود

كود :
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop.Excel
Imports System.Data
Imports System.Data.OleDb

Public Class Frmbank
   'Dim conn As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=bank;Integrated Security=True")
   '---------Declared Dapper Classes Mode
   Dim DBcontext As New db_accountDataContext
   Dim Tblbank As New bank()
   Dim pos As Integer
   '----------LoadData----------
   Public Sub LoadData(ByVal Dgv As DataGridView)
       Dgv.Rows.Clear()
       Dim bank = From B In DBcontext.banks Select B
       Dgv.DataSource = bank
   End Sub
   '-------------Function MaxID------------
   Public Function MaxID_bank() As Integer
       Dim Count = (From B In DBcontext.banks Select B).Count() ' جلب عدد السجلات
       Dim Maxid As Integer
       If Count > 0 Then
           Maxid = (From B In DBcontext.banks Select B.bank_id).Max()
           Return Maxid + 1
       Else
           Maxid = 1
           Return Maxid
       End If
   End Function
   '---------Public Sub Cleardata--------
   Public Sub Cleardata_bank()
       Txt_bank_id.Text = ""
       Txt_bank_name.Text = ""
       Txt_bank_address.Text = ""
       Txt_bank_swiftcode.Text = ""
       Txt_bank_phone.Text = ""
       Txt_bank_fax.Text = ""
       Txt_bank_email.Text = ""
       Txt_bank_webpage.Text = ""
       Cmb_bank_user_id.Text = ""
       Dtp_bank_date.Value = now
       Txt_bank_note.Text = ""
     
       Txt_bank_name.focus()
       Txt_bank_id.Text = MaxID_bank()
   End Sub

   Public Sub recordcount()
       Dim Count = (From B In DBcontext.banks Select B).Count() ' جلب عدد السجلات
       'Label4.Text = Count
       TextBoxCount.Text = "السجل" & Dgv.CurrentRow.Index + 1 & "من" & Count

       'للحصول على عدد السجلات
       'Dim dbcontext As New db_accountDataContext
       'Dim c = Aggregate co In dbcontext.banks Into Count()
   End Sub
   Private Sub Frmbank_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       LoadData(Dgv)
       recordcount()
       Dgv.Columns(0).HeaderText = "رقم البنك"
       Dgv.Columns(1).HeaderText = "اسم البنك"
       Dgv.Columns(2).HeaderText = "العنوان"
       Dgv.Columns(3).HeaderText = "السويفت كود"
       Dgv.Columns(4).HeaderText = "التليفون"
       Dgv.Columns(5).HeaderText = "الفاكس"
       Dgv.Columns(6).HeaderText = "البريد الالكتروني"
       Dgv.Columns(7).HeaderText = "الصفحة الالكترونية"
       Dgv.Columns(8).HeaderText = "المستخدم"
       Dgv.Columns(9).HeaderText = "تاريخ التسجيل"
       Dgv.Columns(10).HeaderText = "ملاحظات"
       'Cleardata_bank()
   End Sub

   Private Sub BtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNew.Click
       Cleardata_bank()
   End Sub

   Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
       DBcontext = New db_accountDataContext()
       Tblbank = New bank()
       Try
           Tblbank.bank_id = CInt(Txt_bank_id.Text)
           Tblbank.bank_name = Txt_bank_name.Text
           Tblbank.bank_address = Txt_bank_address.Text
           Tblbank.bank_swiftcode = Txt_bank_swiftcode.Text
           Tblbank.bank_phone = Txt_bank_phone.Text
           Tblbank.bank_fax = Txt_bank_fax.Text
           Tblbank.bank_email = Txt_bank_email.Text
           Tblbank.bank_webpage = Txt_bank_webpage.Text
           Tblbank.bank_user_id = CInt(Cmb_bank_user_id.Text)
           Tblbank.bank_date = Dtp_bank_date.Value
           Tblbank.bank_note = Txt_bank_note.Text
         
           DBcontext.banks.InsertOnSubmit(Tblbank)
           DBcontext.SubmitChanges()
           MessageBox.Show("تم حفظ البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)
       Catch ex As Exception
           Return
       End Try
       LoadData(Dgv)
   End Sub

   Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click
       DBcontext = New db_accountDataContext()
       Tblbank = New bank()
       Try
           Tblbank = (From B In DBcontext.banks Where B.bank_id = CInt(Txt_bank_id.Text) Select B).First()
           Tblbank.bank_name = Txt_bank_name.Text
           Tblbank.bank_address = Txt_bank_address.Text
           Tblbank.bank_swiftcode = Txt_bank_swiftcode.Text
           Tblbank.bank_phone = Txt_bank_phone.Text
           Tblbank.bank_fax = Txt_bank_fax.Text
           Tblbank.bank_email = Txt_bank_email.Text
           Tblbank.bank_webpage = Txt_bank_webpage.Text
           Tblbank.bank_user_id = CInt(Cmb_bank_user_id.Text)
           Tblbank.bank_date = Dtp_bank_date.Value
           Tblbank.bank_note = Txt_bank_note.Text
         
           DBcontext.SubmitChanges()
           MessageBox.Show("تم  تعديل السجل بنجاح", "تعديل", MessageBoxButtons.OK, MessageBoxIcon.Information)
       Catch ex As Exception
           Return
       End Try
       LoadData(Dgv)
   End Sub

   Private Sub BtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelete.Click
       DBcontext = New db_accountDataContext()
       Tblbank = New bank()
       Try
           Tblbank = (From B In DBcontext.banks Where B.bank_id = CInt(Txt_bank_id.Text) Select B).Single()
           DBcontext.banks.DeleteOnSubmit(Tblbank)
           DBcontext.SubmitChanges()
           MessageBox.Show("تم حذف السجل بنجاح", "حذف", MessageBoxButtons.OK, MessageBoxIcon.Information)
       Catch ex As Exception
           Return
       End Try
       LoadData(Dgv)
   End Sub

   Private Sub BtnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFind.Click
       Dim Frmsearch As New Frm_bank_search
       Frmsearch.ShowDialog()
   End Sub

   Private Sub BtnReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnReport.Click
       Dim Frmprint As New Frm_bank_print
       Frmprint.ShowDialog()
   End Sub

   Sub moveData()
       Try
           Txt_bank_id.Text = Dgv.CurrentRow.Cells(0).Value.ToString()
           Txt_bank_name.Text = Dgv.CurrentRow.Cells(1).Value.ToString()
           Txt_bank_address.Text = Dgv.CurrentRow.Cells(2).Value.ToString()
           Txt_bank_swiftcode.Text = Dgv.CurrentRow.Cells(3).Value.ToString()
           Txt_bank_phone.Text = Dgv.CurrentRow.Cells(4).Value.ToString()
           Txt_bank_fax.Text = Dgv.CurrentRow.Cells(5).Value.ToString()
           Txt_bank_email.Text = Dgv.CurrentRow.Cells(6).Value.ToString()
           Txt_bank_webpage.Text = Dgv.CurrentRow.Cells(7).Value.ToString()
           Cmb_bank_user_id.Text = Dgv.CurrentRow.Cells(8).Value.ToString()
           Dtp_bank_date.Value = Dgv.CurrentRow.Cells(9).Value.ToString()
           Txt_bank_note.Text = Dgv.CurrentRow.Cells(10).Value.ToString()

           'TextBoxCount.Text = "السجل" & Dgv.CurrentRow.Index & "من" & Label4.Text

       Catch ex As Exception
           Return
       End Try
   End Sub

   Private Sub BtnFrist_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFrist.Click
       pos = 0
       Dgv.CurrentCell = Dgv.Rows(pos).Cells(Dgv.CurrentCell.ColumnIndex)
       moveData()
       recordcount()
   End Sub

   Private Sub Txt_Search_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Search.TextChanged
       Try
           If Txt_Search.Text <> "" Then
               Dgv.Rows.Clear()
               Dgv.DataSource = From b In DBcontext.banks Where b.bank_name.StartsWith(Txt_Search.Text) Select b
           Else
               Dgv.DataSource = From b In DBcontext.banks Select b
           End If
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try
   End Sub

   Private Sub Btnprevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnprevious.Click
       pos -= 1
       If pos >= 0 Then
           Dgv.CurrentCell = Dgv.Rows(pos).Cells(Dgv.CurrentCell.ColumnIndex)
           moveData()
       Else
           pos = 0
           Dgv.CurrentCell = Dgv.Rows(pos).Cells(Dgv.CurrentCell.ColumnIndex)
           MessageBox.Show("هذا اول سجل")
       End If
       moveData()
       recordcount()
   End Sub

   Private Sub BtnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNext.Click
       pos += 1
       If pos <= Dgv.Rows.Count - 1 Then
           Dgv.CurrentCell = Dgv.Rows(pos).Cells(Dgv.CurrentCell.ColumnIndex)

       Else
           pos = Dgv.Rows.Count - 1
           Dgv.CurrentCell = Dgv.Rows(pos).Cells(Dgv.CurrentCell.ColumnIndex)
           MessageBox.Show("هذا اخر سجل")
       End If
       moveData()
       recordcount()
   End Sub

   Private Sub BtnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLast.Click
       pos = Dgv.Rows.Count - 1
       Dgv.CurrentCell = Dgv.Rows(pos).Cells(Dgv.CurrentCell.ColumnIndex)
       moveData()
       recordcount()
   End Sub

   Private Sub Dgv_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv.SelectionChanged
       moveData()
   End Sub

   Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
       Close()
   End Sub

   Private Sub BtnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExport.Click
       System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-us")
       Dim ExlApp As New Application
       Dim ExlWorkBook As Workbook
       Dim ExlWorkSheet As New Worksheet
       If Dgv.Rows IsNot Nothing Then
           Dim MisValue As Object = System.Reflection.Missing.Value
           ExlWorkBook = ExlApp.Workbooks.Add(MisValue)
           ExlWorkSheet = ExlWorkBook.Sheets.Add
           ExlWorkSheet.Name = "sheet1"
           'ExlWorkSheet = ExlWorkBook.Sheets("sheet1")
           For colheader As Integer = 0 To Dgv.ColumnCount - 1
               ExlWorkSheet.Cells(1, colheader + 1) = Dgv.Columns(colheader).HeaderText
           Next
           For r As Integer = 0 To Dgv.RowCount - 2
               For c As Integer = 0 To Dgv.ColumnCount - 1
                   ExlWorkSheet.Cells(r + 2, c + 1) = Dgv.Rows(r).Cells(c).Value
               Next
           Next
       End If
       SaveFileDialog1.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"
       If SaveFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
           ExlWorkSheet.SaveAs(SaveFileDialog1.FileName)
       End If
       ExlWorkBook.Close()
       ExlApp.Quit()
       System.Runtime.InteropServices.Marshal.ReleaseComObject(ExlApp)
       System.Runtime.InteropServices.Marshal.ReleaseComObject(ExlWorkBook)
       System.Runtime.InteropServices.Marshal.ReleaseComObject(ExlWorkSheet)
       ExlApp = Nothing
       ExlWorkBook = Nothing
       ExlWorkSheet = Nothing
       If MessageBox.Show("هل تريد فتح الملف ؟", "فتح الملف", MessageBoxButtons.YesNo) Then
           Process.Start(SaveFileDialog1.FileName)
       End If
   End Sub

   Private Sub BtnImport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnImport.Click
       OpenFileDialog1.Filter = "Excel 2007|*.xlsx|Excel 2003|*.xls"
       If OpenFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
           Dgv.DataSource = Nothing
           Dgv.Columns.Clear()
           Dim path As String = OpenFileDialog1.FileName
           Dim conn As New OleDb.OleDbConnection("provider=microsoft.ACE.oledb.12.0;data source=" & path & "; extended properties=excel 12.0;")
           Dim ds As New DataSet
           Dim ad As New OleDbDataAdapter("select * from [sheet1$]", conn)
           ad.Fill(ds, "[sheet1$]")
           Dgv.DataSource = ds.Tables("[sheet1$]")
       Else
           Close()
       End If
   End Sub
End Class
ايظا اخي وجدت سجلات مكررة 
يجب عند تحميل الفورم تعطيل زر الحفظ وتفعيلة عند الضغط على زر جديد 
لكي لا يتم اضافة سجلات مكررة
احذف السجلات المكررة في قاعددة البيانات ان لم تحذف معك كما حصل معي احذف الجدول كامل وانشئة من جديد واضف سجل 
تحياتي لك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#8
نعم صحيح وانا اكتشفت ذلك وانا قدمت لك حقل ال note قبل التاريخ والايدي
لانك لما تعمل debug يتوقف عند التاريخ وال id
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو



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


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