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
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