VB.NET 2010を使用して、通帳プリンター(Epson PLQ 20)を使用して通帳(銀行取引の記録に使用される紙の本)に印刷したい。
私の現在のmysqlテーブル構造は、
1. tblLoanRegistry(LoanID pk, EMPNumber, Date, Amount, NoOfInstallments, Teller)
2. tblLoanAccount(ID pk, LoanID fk, Date, Payment, Interest, Total, Auto bool, Installment int, teller)
私の問題は次のとおりです。
- 印刷された最後の行を検出する方法は?
- 印刷されなかった最初の行を本の正しい位置に印刷する方法(正しい行)。
上記の各テーブルに「Printed」(ブール値)フィールドを追加することにしました。印刷するかどうか。vb.netの同じプリンターを使用して、テキストや数字などを印刷できます(例:フロントページのアカウント所有者の詳細)。しかし、トランザクションを印刷するときに、上記の問題に直面しています。あなたの助け/意見は高く評価されます。
詳細情報: 実際、私は非営利団体向けにphpとmysqlを使用して、学位のプロジェクトとしてWebベースのアカウント処理システムを開発しました。今、彼らは私が前に説明したように通帳に取引を印刷したいと思っています。
そのため、VB.NET(VB.NETはまったく初めてですが、vb6の経験があります)を使用してアプリケーションを作成しています。簡単な印刷に成功しましたが、これは別のことです。
上記の2つの問題を解決するのは良い考えではありません。
更新: 私は別の(悪いかもしれない)方法でそれをしました。印刷ボタンのクリックイベント時。
Dim sqlLoan As String
conn = New MySqlConnection(cnString)
sqlLoan = "SELECT tblLoanAccount.Date,if(Installment = 0, 'Interest', concat('Installment : ', Installment)) as Description, tblLoanAccount.Payment, tblLoanAccount.Interest, " &
" tblLoanAccount.Total, tblLoanAccount.Auto, tblLoanAccount.Installment FROM tblLoanAccount join tblloanRegistry on tblloanRegistry.LoanID = tblLoanAccount.LoanID " &
" where(tblloanRegistry.EMPNumber = " & cmbEMPN.Text & " And tblLoanAccount.LoanID = tblLoanRegistry.LoanID) AND tblLoanAccount.Total <> 0 ORDER BY tblLoanAccount.ID"
Using conn As New MySqlConnection(cnString)
Using cmd As New MySqlCommand(sqlLoan, conn)
conn.Open()
Using myReader As MySqlDataReader = cmd.ExecuteReader()
Using writer As StreamWriter = New StreamWriter("c:\file.txt")
While myReader.Read()
writer.WriteLine("{0}, {1}, {2}, {3}, {4}", myReader.Item(0), myReader.Item(1), myReader.Item(2), myReader.Item(3), myReader.Item(4))
End While
End Using
Call Printing()
End Using
End Using
End Using
' Print the file.
Public Sub Printing()
Try
streamToPrint = New StreamReader(("c:\file.txt"))
Try
printFont = New Font("Arial", 10)
Dim pd As New PrintDocument()
AddHandler pd.PrintPage, AddressOf pd_PrintPage
' Print the document.
pd.Print()
Finally
streamToPrint.Close()
End Try
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub 'Printing
その他のコードはmsdnPrintDocumentClassです。