Hey,
Ik schrijf momenteel een programma voor verzekeren met dan een ledenbestand (klanten).
OP dit moment werk ik aan de facturatie hiervan deze werkt goed maar omdat het oog ook wat wilt zou ik om de +- 10 records willen dat de tabel verder gaat op de volgende pagina en dit liefst ook met opnieuw de kopteksten, ik heb al een paar dingen geprobeerd maar dit is jammer genoeg nog niet gelukt.
Nu hoopte ik dat iemand hier meer ervaring mee heeft
Ik schrijf momenteel een programma voor verzekeren met dan een ledenbestand (klanten).
OP dit moment werk ik aan de facturatie hiervan deze werkt goed maar omdat het oog ook wat wilt zou ik om de +- 10 records willen dat de tabel verder gaat op de volgende pagina en dit liefst ook met opnieuw de kopteksten, ik heb al een paar dingen geprobeerd maar dit is jammer genoeg nog niet gelukt.
Nu hoopte ik dat iemand hier meer ervaring mee heeft
Code:
Dim ordernummer As Integer
Dim factuunummer As Integer
Dim stam As String
Dim hoogte As Integer
Dim straat As String
Dim postid As String
Dim gemeente As String
Dim postcode As String
Dim uitgeprinte As Integer
Dim tabelplaats As Integer
Dim rijen As Integer
Dim totaalexlbtw As Decimal
Dim aantalrijen As Integer
Dim myword As New Microsoft.Office.Interop.Word.Application
Dim worddoc As Microsoft.Office.Interop.Word.Document
Dim myrange As Microsoft.Office.Interop.Word.Range
Dim mytable As Microsoft.Office.Interop.Word.Table
Dim mycell As Microsoft.Office.Interop.Word.Cell
Dim mycells As Microsoft.Office.Interop.Word.Cells
Dim mycols As Microsoft.Office.Interop.Word.Columns
Try
verbinding.Open()
''Laatste factuurnummer
Dim opdracht As New OleDb.OleDbCommand("SELECT max(Factuurnummer) from Tblfacturen", verbinding)
Dim dataLezer As OleDb.OleDbDataReader = opdracht.ExecuteReader(CommandBehavior.CloseConnection)
While dataLezer.Read
hoogte = dataLezer.GetValue(0)
End While
'' Niet gefactureerde gegevens beginnen inlezen
Dim opdracht2 As New OleDb.OleDbCommand("SELECT Ordernummer,Factuurnummer,Stamnummer from Tblfacturen WHERE Factuurnummer = 0", verbinding)
Dim dataLezer2 As OleDb.OleDbDataReader = opdracht2.ExecuteReader(CommandBehavior.CloseConnection)
uitgeprinte = 0
tabelplaats = 0
While dataLezer2.Read
ordernummer = dataLezer2.GetValue(0)
factuunummer = dataLezer2.GetValue(1)
stam = dataLezer2.GetValue(2)
''Alle orders van het eerste stamnummer op 1 factuur zetten
Dim opdrstring3 As String = "Update Tblfacturen set Factuurnummer = ? where Stamnummer = ? AND Factuurnummer = 0"
Dim opdracht3 As New OleDb.OleDbCommand(opdrstring3, verbinding)
opdracht3.Parameters.AddWithValue("", hoogte + 1)
opdracht3.Parameters.AddWithValue("", stam)
opdracht3.ExecuteNonQuery()
'' Factuurnummer verhogen voor de volgende factuur
hoogte = hoogte + 1
''Factuur maken in word
''Factuur zichtbaar maken
myword.Visible = True
myword.Activate()
worddoc = myword.Documents.Add
myword.Selection.Font.Name = "Arial"
myword.Selection.Font.Size = 8
myword.Selection.Font.Bold = False
myword.Selection.Font.Italic = False
myword.Selection.Font.Underline = False
'' myword.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter
''Bovenstaande is voor het centreren van tekst
''Ophalen adres geadreseerde
Dim categorienummer As Integer = 9
Try
Dim opdracht4 As New OleDb.OleDbCommand("SELECT OverzichtcategorieID from TblCategories WHERE CategorieID = ? and Uitgeschreven = 0", verbinding)
opdracht4.Parameters.AddWithValue("", categorienummer)
Dim datalezer4 As OleDb.OleDbDataReader = opdracht4.ExecuteReader(CommandBehavior.CloseConnection)
While datalezer4.Read
Try
Dim opdracht5 As New OleDb.OleDbCommand("SELECT LidID from TblOverzichtCategorie WHERE OverzichtcategorieID = ? and Uitgeschreven = 0", verbinding)
opdracht5.Parameters.AddWithValue("", datalezer4.GetValue(0))
Dim datalezer5 As OleDb.OleDbDataReader = opdracht5.ExecuteReader(CommandBehavior.CloseConnection)
While datalezer5.Read
Dim opdracht6 As New OleDb.OleDbCommand("SELECT Straat,PostID from TblLeden Where LidID = ? and Uitgeschreven = 0", verbinding)
opdracht6.Parameters.AddWithValue("", datalezer5.GetValue(0))
Dim dataLezer6 As OleDb.OleDbDataReader = opdracht6.ExecuteReader(CommandBehavior.CloseConnection)
While dataLezer6.Read
straat = dataLezer6.GetValue(0)
postid = dataLezer6.GetValue(1)
Dim opdracht7 As New OleDb.OleDbCommand("SELECT Plaats,Postcode from TblPostID WHERE PostID = ?", verbinding)
opdracht7.Parameters.AddWithValue("", postid)
Dim datalezer7 As OleDb.OleDbDataReader = opdracht7.ExecuteReader(CommandBehavior.CloseConnection)
While datalezer7.Read
gemeente = datalezer7.GetValue(0)
postcode = datalezer7.GetValue(1)
End While
End While
End While
Catch fout As Exception
MsgBox("Mensen hun lidID werden niet opgehaald")
End Try
End While
Catch fout As Exception
MsgBox("Mensen met die categorie werden niet opgehaald")
End Try
''logo toevoegen op de factuur
''myword.Selection.InlineShapes.AddPicture("..\..\Resources\ChiroIcoon.jpg")
''Adres op de factuur zetten evenals volgende lijn tekst
myword.Selection.TypeText(stam & vbCrLf & straat & vbCrLf & postcode & " " & gemeente & vbCrLf & vbCrLf & vbCrLf & _
"Referentie" & vbTab & vbTab & "Stamnummer" & vbTab & vbTab & vbTab & "Datum" & vbCrLf)
''Lijst aanvullen met gegevens
myword.Selection.TypeText(hoogte & vbTab & vbTab & vbTab & stam & vbTab & vbTab & vbTab & vbTab & CDate(Today) & vbCrLf & vbCrLf)
''Tellen bestelde orders
Dim opdracht10 As New OleDb.OleDbCommand("SELECT count(Datum) from Tblfacturen WHERE Factuurnummer = ?", verbinding)
opdracht10.Parameters.AddWithValue("", hoogte)
Dim dataLezer10 As OleDb.OleDbDataReader = opdracht10.ExecuteReader(CommandBehavior.CloseConnection)
While dataLezer10.Read
rijen = dataLezer10.GetValue(0)
End While
''Start opmaken bestelde orders -- Nog aan het maken
Dim opdracht8 As New OleDb.OleDbCommand("SELECT Datum,Omschrijving,Periode,Aantal,Prijsexclbtw from Tblfacturen WHERE Factuurnummer = ?", verbinding)
opdracht8.Parameters.AddWithValue("", hoogte)
Dim dataLezer8 As OleDb.OleDbDataReader = opdracht8.ExecuteReader(CommandBehavior.CloseConnection)
''Tabel maken
mytable = myword.Selection.Tables.Add(myword.Selection.Range, rijen + 1, 8)
mycols = mytable.Columns
tabelplaats = 0
totaalexlbtw = 0
tabelplaats += 1
mycell = mytable.Cell(1, 1) : mycell.Select() : myword.Selection.TypeText("Datum")
mycell = mytable.Cell(1, 2) : mycell.Select() : myword.Selection.TypeText("Omschrijving")
mycell = mytable.Cell(1, 3) : mycell.Select() : myword.Selection.TypeText("Periode")
mycell = mytable.Cell(1, 4) : mycell.Select() : myword.Selection.TypeText("Aantal")
mycell = mytable.Cell(1, 5) : mycell.Select() : myword.Selection.TypeText("Prijsexlbtw")
mycell = mytable.Cell(1, 6) : mycell.Select() : myword.Selection.TypeText("BTWpercentage")
mycell = mytable.Cell(1, 7) : mycell.Select() : myword.Selection.TypeText("Prijsinclbtw")
mycell = mytable.Cell(1, 8) : mycell.Select() : myword.Selection.TypeText("Totaal")
mycols(1).Width = 50
mycols(2).Width = 100
mycols(3).Width = 80
mycols(4).Width = 40
mycols(5).Width = 60
mycols(6).Width = 70
mycols(7).Width = 60
mycols(8).Width = 40
While dataLezer8.Read
tabelplaats += 1
uitgeprinte += 1
mycell = mytable.Cell(tabelplaats, 1) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(0))
mycell = mytable.Cell(tabelplaats, 2) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(1))
mycell = mytable.Cell(tabelplaats, 3) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(2))
mycell = mytable.Cell(tabelplaats, 4) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(3))
mycell = mytable.Cell(tabelplaats, 5) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(4))
mycell = mytable.Cell(tabelplaats, 6) : mycell.Select() : myword.Selection.TypeText(btwPercentage)
mycell = mytable.Cell(tabelplaats, 7) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(4) + dataLezer8.GetValue(4) * btwPercentage / 100)
mycell = mytable.Cell(tabelplaats, 8) : mycell.Select() : myword.Selection.TypeText(dataLezer8.GetValue(3) * (dataLezer8.GetValue(4) + dataLezer8.GetValue(4) * btwPercentage / 100))
''Totaal bedrag bijhouden
totaalexlbtw = totaalexlbtw + dataLezer8.GetValue(4)
End While
''Tabel sluiten
uitgeprinte = 0
tabelplaats = 0
mycell = mytable.Cell((15), 8) : mycell.Select()
mycell = Nothing
myword.Selection.GoToNext(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToLine)
myword.Selection.TypeText(vbTab & vbTab & vbTab & vbTab & vbTab & "Prijs excl. BTW : €" & totaalexlbtw & vbCrLf & _
vbTab & vbTab & vbTab & vbTab & vbTab & "prijs " & btwPercentage & "% BTW : €" & totaalexlbtw * btwPercentage / 100 & vbCrLf)
myword.Selection.Font.Bold = True
myword.Selection.TypeText(vbTab & vbTab & vbTab & vbTab & vbTab & "Totaal : €" & totaalexlbtw * btwPercentage / 100 + totaalexlbtw)
myword.Selection.Font.Bold = False
myword.Selection.TypeText(vbCrLf & vbCrLf & "Betalingscondities: 30dagen." & vbCrLf & vbCrLf _
& "Voor een correcte verwerking van uw betaling moet u het totaalbedrag overmaken onder vermelding van het factuurnummer: " & hoogte & _
" en uw stamnummer: " & stam)
End While
Catch fout As Exception
MsgBox("Factureren was niet mogelijk.", MsgBoxStyle.Information, "mislukt")
Finally
verbinding.Close()
End Try