Guten Tag,
ich schreib zurzeit ein kleines Programm, was Messdaten von el. Geräten verwaltet und am Ende einen Report über den Zustand der Geräte über einen Report ausdruckt.
Cyrstal Report kann/möchte ich nicht benutzen.
Ich habe
- einen Report erstellt Name: Report4.rdlc
- ein Dataset angelegt mit den einzelenen Spalten. Name des Dataset Berichtstabelle // keinen Tabeladapter angelegt, da Daten vom User noch während der Laufzeit eingetragen werden müssen
mein Code sieht so aus:
_________________________________________________
Ich bin für jeden Hilfe sehr dankbar.
Eki
ich schreib zurzeit ein kleines Programm, was Messdaten von el. Geräten verwaltet und am Ende einen Report über den Zustand der Geräte über einen Report ausdruckt.
Cyrstal Report kann/möchte ich nicht benutzen.
Ich habe
- einen Report erstellt Name: Report4.rdlc
- ein Dataset angelegt mit den einzelenen Spalten. Name des Dataset Berichtstabelle // keinen Tabeladapter angelegt, da Daten vom User noch während der Laufzeit eingetragen werden müssen
mein Code sieht so aus:
_________________________________________________
VB.NET-Quellcode
- Private Sub Bericht_Standort_Gruppe()
- Dim geraetenummer As String
- Dim i, j, k As Integer
- Dim ReportDatenTabelle As New DataTable
- Dim ReportDaten As New ReportDataSource
- Timer1.Stop()
- Timer2.Stop()
- geraetenummer = ""
- SQL_Cmd1.Connection = SQL_Con1
- SQL_Cmd2.Connection = SQL_Con2
- T_Standort.Text = "Wi44" 'zum Testen
- SQL_Cmd2.CommandText = "SELECT Nummer, BEZ1, M01, M06, M02, M08, M09 FROM GER WHERE RAU_NUMMER ='" & T_Standort.Text & "'"
- SQL_Con2.Open()
- dr1 = SQL_Cmd2.ExecuteReader()
- If dr1.HasRows Then
- With DataGridvonSophisto
- .Rows.Clear()
- .Columns.Clear()
- .Visible = True
- .Columns.Add(0, "Prüfbericht")
- .Columns.Add(1, "Inventarnr.")
- .Columns.Add(2, "Beschreibung")
- .Columns.Add(3, "Arbeitsmitteltyp")
- .Columns.Add(4, "Seriennummer")
- .Columns.Add(5, "Hersteller")
- .Columns.Add(6, "Prüfdatum")
- .Columns.Add(7, "nächste")
- .Columns.Add(8, "Ergebnis")
- .Columns.Add(9, "Prüfart")
- .AllowUserToAddRows = False
- End With
- i = 0
- j = 0
- While dr1.Read
- k = 0
- SQL_Befehl = "SELECT ID, Bestanden FROM CAT_MESSDATEN where Geraetenummer ='" & dr1.Item(k) & "'"
- SQL_Cmd1.CommandText = SQL_Befehl
- SQL_Con1.Open()
- dr = SQL_Cmd1.ExecuteReader()
- If dr.HasRows Then
- dr.Read()
- DataGridvonSophisto.Rows.Add(1)
- DataGridvonSophisto.Rows(i).Cells(0).Value = dr.Item(0)
- DataGridvonSophisto.Rows(i).Cells(1).Value = dr1.Item(0)
- DataGridvonSophisto.Rows(i).Cells(2).Value = dr1.Item(1)
- DataGridvonSophisto.Rows(i).Cells(3).Value = dr1.Item(2)
- DataGridvonSophisto.Rows(i).Cells(4).Value = dr1.Item(3)
- DataGridvonSophisto.Rows(i).Cells(5).Value = dr1.Item(4)
- DataGridvonSophisto.Rows(i).Cells(6).Value = dr1.Item(5)
- DataGridvonSophisto.Rows(i).Cells(7).Value = dr1.Item(6)
- DataGridvonSophisto.Rows(i).Cells(8).Value = dr.Item(1)
- DataGridvonSophisto.Rows(i).Cells(9).Value = "VDE 0701-0702"
- i = i + 1
- End If
- SQL_Con1.Close()
- End While
- SQL_Con2.Close()
- Hinweis.Close()
- With ReportDatenTabelle
- .Columns.Add("Prüfbericht")
- .Columns.Add("Inventarnr.")
- .Columns.Add("Beschreibung")
- .Columns.Add("Arbeitsmitteltyp")
- .Columns.Add("Seriennummer")
- .Columns.Add("Hersteller")
- .Columns.Add("Prüfdatum")
- .Columns.Add("nächste")
- .Columns.Add("Ergebnis")
- .Columns.Add("Prüfart")
- End With
- For i = 0 To DataGridvonSophisto.Rows.Count
- [b]--> hier komme ich nicht weiter... Wie bekomme ich die Daten von Grid in die DataTable und dann in den Report, oder ist das sowieso der falsche Ansatz?[/b]
- Next i
- Else
- MsgBox("Standort hat keine Geräte in der Datenbank", MsgBoxStyle.OkOnly, "Hinweis")
- SQL_Con1.Close()
- SQL_Con2.Close()
- End If
- End Sub
Ich bin für jeden Hilfe sehr dankbar.
Eki
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Eki“ ()