2016-04-19 8 views
0

Visual Basicでデータベース接続を作成しています。ユーザが「借用ブック」をクリックすると、選択されたデータが貸し借り用のテーブルに転送されます。それはすべて正常に動作しますが、私は最後のことが必要です。貸し出しテーブルの私のデータベースには、「貸し出しの終了日」という属性があり、今日+ 1ヶ月の日付の本を借りるたびに記入したいと思います(例えば、今は19/04/2016、終了日は19/05/2016)。私はこれのためにメソッド "BorrowTime"を作成しましたが、私は何を入力すべきか分かりません。また、挿入された行の値を "行"にどうやって取得できますか?そしてVisual Basic 2010、データベース - 特定のフィールドを埋める方法

Public Class frm_UserView 
    Dim BooksSource As New BindingSource 
    Dim BorrowSource As New BindingSource 

    Dim BooksView As New DataView 
    Dim BorrowView As New DataView 

    Dim ds As New DataSet 

    Dim Borrow As Byte 


    Private Sub frm_UserView_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
     tmr_Timer.Start() 
     Me.LoanerBooksTableAdapter.Fill(Me.GMITLibraryDataSet1.LoanerBooks) 
     Me.BooksTableAdapter.Fill(Me.GMITLibraryDataSet.Books) 

     BooksSource = dgd_UserBookView.DataSource 
     BooksView = CType(BooksSource.List, DataView) 

     ds = BooksView.DataViewManager.DataSet.Clone 

     BorrowSource.DataSource = ds 
     BorrowSource.DataMember = "Books" 

     BorrowView = CType(BorrowSource.List, DataView) 
     dgd_User_Borrow_View.DataSource = BorrowSource 



    End Sub 

    Private Sub btn_Borrow_Click(sender As System.Object, e As System.EventArgs) Handles btn_BorrowBook.Click 
     Borrow = 1 
     MoveBooks(dgd_UserBookView, BorrowView, Borrow) 

     dgd_User_Borrow_View.Sort(dgd_User_Borrow_View.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 

     BorrowSource.MoveLast() 
     BorrowSource.MoveLast() 
    End Sub 
    Private Sub MoveBooks(ByRef source As DataGridView, ByRef target As DataView, ByRef borrow As Byte) 
     For i = 0 To source.SelectedRows.Count - 1 
      Dim numberOfRow As Integer 
      Dim row As DataRowView 
      row = target.AddNew() 
      Dim col As Int16 = 0 
      For Each cell As DataGridViewCell In source.SelectedRows(i).Cells 
       row.Item(col) = cell.Value 
       If borrow = 1 Then 
        numberOfRow = 0 
        BorrowTime(numberOfRow, dgd_User_Borrow_View) 
       End If 
       col = col + 1 
      Next 
     Next 

     Dim count As Int16 = source.SelectedRows.Count 

     For i = 0 To count - 1 
      source.Rows.RemoveAt(source.SelectedRows(0).Index) 
     Next 
    End Sub 
    Private Sub BorrowTime(ByRef row As Integer, ByRef dgd_Table As DataGridView) 
     'Code for adding date 
    End Sub 

    Private Sub btn_ReturnBook_Click(sender As System.Object, e As System.EventArgs) Handles btn_ReturnBook.Click 
     Borrow = 0 
     MoveBooks(dgd_User_Borrow_View, BooksView, Borrow) 

     dgd_UserBookView.Sort(dgd_UserBookView.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 

     BooksSource.MoveLast() 
     BooksSource.MoveLast() 
    End Sub 

    Private Sub btn_UserLogOut_Click(sender As System.Object, e As System.EventArgs) Handles btn_UserLogOut.Click 
     frm_Login.Show() 
     Me.Hide() 
    End Sub 

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles tmr_Timer.Tick 
     Dim countBooks As Integer 
     Dim countLent As Integer 
     countBooks = BooksSource.Count 
     countLent = BorrowSource.Count 

     lbl_BookCounter.Text = "There are " + countBooks.ToString + " books" 
     lbl_BorrowCounter.Text = "You have lent " + countLent.ToString + " books" 
    End Sub 
End Class 

...コードとフォームの恐ろしい外観のため申し訳ありませんが、私はここにコードを配置する必要があります。

Private Sub BorrowTime(ByRef row As Integer, ByRef dgd_Table As DataGridView) 
     'Code for adding date 
End Sub 

マイフォーム

enter image description here

+0

今日はそれを持っている必要があり、助けてください – Lenob

答えて

0

パブリック・クラスfrm_UserView 薄暗いBooksSource新規BindingSourceとして Dim BorrowSourceとして新規BindingSource

Dim BooksView As New DataView 
Dim BorrowView As New DataView 

Dim ds As New DataSet 

Dim Borrow As Byte 


Private Sub frm_UserView_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    tmr_Timer.Start() 
    Me.LoanerBooksTableAdapter.Fill(Me.GMITLibraryDataSet1.LoanerBooks) 
    Me.BooksTableAdapter.Fill(Me.GMITLibraryDataSet.Books) 

    BooksSource = dgd_UserBookView.DataSource 
    BooksView = CType(BooksSource.List, DataView) 

    ds = BooksView.DataViewManager.DataSet.Clone 

    BorrowSource.DataSource = ds 
    BorrowSource.DataMember = "Books" 

    BorrowView = CType(BorrowSource.List, DataView) 
    dgd_User_Borrow_View.DataSource = BorrowSource 



End Sub 

Private Sub btn_Borrow_Click(sender As System.Object, e As System.EventArgs) Handles btn_BorrowBook.Click 
    Borrow = 1 
    MoveBooks(dgd_UserBookView, BorrowView, Borrow) 

    dgd_User_Borrow_View.Sort(dgd_User_Borrow_View.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 

    BorrowSource.MoveLast() 
    BorrowSource.MoveLast() 
End Sub 
Private Sub MoveBooks(ByRef source As DataGridView, ByRef target As DataView, ByRef borrow As Byte) 
    For i = 0 To source.SelectedRows.Count - 1 
     Dim numberOfRow As Integer 
     Dim row As DataRowView 
     row = target.AddNew() 
     Dim col As Int16 = 0 
     For Each cell As DataGridViewCell In source.SelectedRows(i).Cells 
      row.Item(col) = cell.Value 
      If borrow = 1 Then 
       numberOfRow = 0 
       BorrowTime(numberOfRow, dgd_User_Borrow_View) 
      End If 
      col = col + 1 
     Next 
    Next 

    Dim count As Int16 = source.SelectedRows.Count 

    For i = 0 To count - 1 
     source.Rows.RemoveAt(source.SelectedRows(0).Index) 
    Next 
End Sub 
Private Sub BorrowTime(ByRef row As Integer, ByRef dgd_Table As DataGridView) 
    'Code for adding date 
End Sub 

Private Sub btn_ReturnBook_Click(sender As System.Object, e As System.EventArgs) Handles btn_ReturnBook.Click 
    Borrow = 0 
    MoveBooks(dgd_User_Borrow_View, BooksView, Borrow) 

    dgd_UserBookView.Sort(dgd_UserBookView.Columns(0), System.ComponentModel.ListSortDirection.Ascending) 

    BooksSource.MoveLast() 
    BooksSource.MoveLast() 
End Sub 

Private Sub btn_UserLogOut_Click(sender As System.Object, e As System.EventArgs) Handles btn_UserLogOut.Click 
    frm_Login.Show() 
    Me.Hide() 
End Sub 

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles tmr_Timer.Tick 
    Dim countBooks As Integer 
    Dim countLent As Integer 
    countBooks = BooksSource.Count 
    countLent = BorrowSource.Count 

    lbl_BookCounter.Text = "There are " + countBooks.ToString + " books" 
    lbl_BorrowCounter.Text = "You have lent " + countLent.ToString + " books" 
End Sub 

エンドクラス

関連する問題