FrmSavAcct

Public Class frmSavAcct

Inherits System.Windows.Forms.Form

Private aSavAcct As New SavAcct

 

Private Sub btnWithdraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWithdraw.Click

aSavAcct.Withdraw(CDec(txtTransAmt.Text))

lblCloseBal.Text = aSavAcct.Balance

aSavAcct.MaintainAcct()

End Sub

 

Private Sub btnDeposit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeposit.Click

aSavAcct.Deposit(CDec(txtTransAmt.Text))

lblCloseBal.Text = aSavAcct.Balance

aSavAcct.MaintainAcct()

End Sub

 

 

Private Sub btnGet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGet.Click

If aSavAcct.OpenRead(txtAcctNo.Text) Then

lblOpenBal.Text = CStr(aSavAcct.Balance)

Else

lblOpenBal.Text = "Invalid Account"

End If

End Sub

End Class

 

SavAcct class

 

Option Explicit On

Imports System.IO

Imports System.IO.File

Public Class SavAcct

Private mAcctNo As String

Private mAcctName As String

Private mBal As Decimal

Private mSavAcctFile As String

Dim theFiletoRead As StreamReader

Dim theFiletoWrite As StreamWriter

Public ReadOnly Property AcctNo() As String

Get

Return (mAcctNo)

End Get

End Property

Public ReadOnly Property AcctName() As String

Get

Return mAcctName

End Get

End Property

Public ReadOnly Property Balance() As Decimal

Get

Return mBal

End Get

End Property

Public Sub Deposit(ByVal transAmt As Decimal)

mBal = mBal + transAmt

End Sub

Public Sub Withdraw(ByVal transAmt As Decimal)

If transAmt > mBal Then

mBal = mBal

Else

mBal = mBal - transAmt

End If

End Sub

Public Function OpenRead(ByVal acctNo As String) As Boolean

Dim thePath As String = "A:\"

mAcctNo = acctNo

mSavAcctFile = thePath & acctNo & ".txt"

If Exists(mSavAcctFile) Then

theFiletoRead = OpenText(mSavAcctFile)

mAcctNo = theFiletoRead.ReadLine()

mAcctName = theFiletoRead.ReadLine()

mBal = (CDec(theFiletoRead.ReadLine()))

theFiletoRead.Close()

Return True

Else

Return False

End If

End Function

Public Sub MaintainAcct()

theFiletoWrite = CreateText(mSavAcctFile)

theFiletoWrite.WriteLine(mAcctNo)

theFiletoWrite.WriteLine(mAcctName)

theFiletoWrite.WriteLine(mBal)

theFiletoWrite.Close()

End Sub

End Class

 

The version with Access

 

FrmSavAcct

 

Public Class frmSavAcct

Inherits System.Windows.Forms.Form

Private aSavAcct As New SavAcct

 

Private Sub btnWithdraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWithdraw.Click

aSavAcct.Withdraw(CDec(txtTransAmt.Text))

lblCloseBal.Text = aSavAcct.Balance

aSavAcct.MaintainAcct()

End Sub

 

Private Sub btnDeposit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeposit.Click

aSavAcct.Deposit(CDec(txtTransAmt.Text))

lblCloseBal.Text = aSavAcct.Balance

aSavAcct.MaintainAcct()

End Sub

 

 

Private Sub btnGet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGet.Click

If aSavAcct.Retrieve(txtAcctNo.Text) Then

lblOpenBal.Text = CStr(aSavAcct.Balance)

Else

lblOpenBal.Text = "Invalid Account"

End If

End Sub

End Class

 

Option Explicit On

Imports System.IO

Imports System.IO.File

Public Class SavAcct

Private mAcctNo As String

Private mAcctName As String

Private mBal As Decimal

'Private SavAcctDS As New DataSet

Private SavAcctDT As New DataTable

Private AcctNoKey As Integer

Private CurrPath As String = System.Environment.CurrentDirectory

Private ConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & CurrPath & "\SavAcct.mdb"

Private SQLQuery As String = "SELECT * FROM SavAcctTable"

Private DaSavAcct As New OleDb.OleDbDataAdapter(SQLQuery, ConnStr)

Private CBSavAcct As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(DaSavAcct)

Dim rowIndx As String

Public ReadOnly Property AcctNo() As String

Get

Return (mAcctNo)

End Get

End Property

Public ReadOnly Property AcctName() As String

Get

Return mAcctName

End Get

End Property

Public ReadOnly Property Balance() As Decimal

Get

Return mBal

End Get

End Property

Public Sub Deposit(ByVal transAmt As Decimal)

mBal = mBal + transAmt

End Sub

Public Sub Withdraw(ByVal transAmt As Decimal)

If transAmt > mBal Then

mBal = mBal

Else

mBal = mBal - transAmt

End If

End Sub

Function Retrieve(ByVal acctNo As String) As Boolean

SQLQuery = "SELECT * from SavAcctTable where AcctNo = '" & acctNo & "'"

Dim DaSavAcct As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(SQLQuery, ConnStr)

SavAcctDT.Clear()

DaSavAcct.Fill(SavAcctDT)

If SavAcctDT.Rows.Count = 0 Then

Return False

Else

mAcctNo = SavAcctDT.Rows(rowIndx)("AcctNo")

mAcctName = SavAcctDT.Rows(rowIndx)("AcctName")

mBal = CDec(SavAcctDT.Rows(rowIndx)("Bal"))

Return True

End If

DaSavAcct.Dispose()

End Function

Public Sub MaintainAcct()

SavAcctDT.Rows(rowIndx)("AcctNo") = mAcctNo

SavAcctDT.Rows(rowIndx)("AcctName") = mAcctName

SavAcctDT.Rows(rowIndx)("Bal") = mBal

DaSavAcct.Update(SavAcctDT)

End Sub

End Class