Initial commit

This commit is contained in:
2021-04-20 07:44:06 +02:00
commit 1cc7ed8893
1562 changed files with 496306 additions and 0 deletions

View File

@@ -0,0 +1,322 @@
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports System.IO
Imports System.Data.OleDb
Public Class clsExcelImport
Dim ofd As New OpenFileDialog
Dim MyMsg As New Utils.MyMessage
Dim Importdata As New DataSet
Public Function Import_Excel() As Boolean
ofd.Filter = "Excel-Dateien (*.xlsx)|*.xlsx|Excel-Dateien (*.xls)|*.xls|CSV-Dateien (*.csv)|*.csv|Text-Dateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"
If ofd.ShowDialog() = DialogResult.Cancel Then
Return False
End If
If ofd.FileName = "" Then Return False
FillDataTableFromText(ofd.FileName)
If Importdata.Tables.Count = 0 Then Return False
Return True
End Function
Private Function FillDataTableFromText(ByVal file As String) As DataTable
Select Case UCase(Microsoft.VisualBasic.Right(file, 3))
Case "CSV"
Dim csv As New MyNameSpace.CSVDataAdapter(file, True, ";")
csv.Fill(Importdata)
Importdata.Tables(0).TableName = "ImportData"
Case "TXT"
Dim csv As New MyNameSpace.CSVDataAdapter(file, True, ";")
csv.Fill(Importdata)
'Rel 4.03 3: Wenn die erste Spalte <> "Parternr" dann Meldung ausgeben und alle Rows löchen
If Importdata.Tables(0).Columns(0).ColumnName <> "Partnernr" Then
Importdata.Tables(0).Rows.Clear()
End If
Importdata.Tables(0).TableName = "ImportData"
Case "XLS"
If oledbimport(file, "XLS") Then
Importdata.Tables(0).TableName = "ImportData"
End If
Case "XLSX"
If oledbimport(file, "XLSX") Then
Importdata.Tables(0).TableName = "ImportData"
End If
End Select
If UCase(Microsoft.VisualBasic.Right(file, 5)) = ".XLSX" Then
If oledbimport(file, "XLSX") Then
Importdata.Tables(0).TableName = "ImportData"
End If
End If
Dim dv As DataRow
End Function
Private Function oledbimport(ByVal file As String, ByVal filetype As String) As Boolean
Dim dt As New DataTable()
Dim conn As OleDbConnection
Dim sql As String
Dim FileConnection As String
Dim oda As New OleDbDataAdapter()
Dim msg As String
Select Case filetype
Case "XLS"
Try
Dim xls As New XLSLib.clsXLSLib
dt = xls.Get_Excel(file)
Importdata.Tables.Add(dt)
Return True
Catch ex As Exception
'MsgBox(ex.Message)
End Try
Case "XLSX"
Try
Dim xls As New XLSLib.clsXLSLib
dt = xls.Get_Excel(file)
Importdata.Tables.Add(dt)
Return True
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Select
Try
Try
conn = New OleDbConnection()
conn.ConnectionString = FileConnection
conn.Open()
Catch ex As Exception
msg = ex.Message
End Try
oda = New OleDbDataAdapter(sql, conn)
oda.Fill(dt)
Importdata.Tables.Add(dt)
Return True
Catch ex As Exception
Return False
Finally
oda.Dispose()
conn.Dispose()
End Try
End Function
Private Function Get_Sheetname(ByVal excelfile As String) As String
Dim f As New frmExcelSheets
f.ExcelFile = excelfile
f.ShowDialog()
If f.DialogResult = Windows.Forms.DialogResult.OK Then
Return f.ExcelSheet
Else
Return ""
End If
End Function
Public Function Update_Data()
Dim f As New frmDatenverarbeitung
f.Show()
'f.TopMost = True
f.ProgressBar1.Minimum = 0
f.ProgressBar1.Maximum = Importdata.Tables(0).Rows.Count
f.ProgressBar1.Value = 0
f.txtResult.Text = "Personaldaten-Verarbeitung vom " + Now.ToShortDateString
f.txtResult.AppendText(vbCrLf + "Start: " + Now.ToShortTimeString)
f.txtResult.AppendText(vbCrLf + "----------------------")
f.txtResult.AppendText(vbCrLf)
Dim connection As New SqlConnection()
connection.ConnectionString = Globals.sConnectionString
Dim sqlcmd As New SqlCommand
sqlcmd.CommandText = "dbo.update_personal_from_excel"
sqlcmd.CommandType = CommandType.StoredProcedure
Dim ErrorsExist As Boolean = False
For Each dr As DataRow In Me.Importdata.Tables(0).Rows
sqlcmd.Parameters.Clear()
sqlcmd.Parameters.Add("@tgnummer", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@funktionstelle", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@Mutart", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@Name", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@Mutierer", SqlDbType.Int)
sqlcmd.Parameters.Add("@resultat", SqlDbType.VarChar)
sqlcmd.Parameters(0).Value = dr.Item(0)
sqlcmd.Parameters(1).Value = dr.Item(2)
sqlcmd.Parameters(2).Value = dr.Item(4)
sqlcmd.Parameters(3).Value = dr.Item(1)
sqlcmd.Parameters(4).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
sqlcmd.Parameters(5).Value = ""
sqlcmd.Parameters(5).Direction = ParameterDirection.Output
sqlcmd.Parameters(5).Size = 1024
sqlcmd.Connection = connection
connection.Open()
Try
sqlcmd.ExecuteNonQuery()
Dim s As String = sqlcmd.Parameters(5).Value
If s.IndexOf("Multiple::") > -1 Then
f.txtResult.AppendText(Update_Manually(dr, s))
Else
f.txtResult.AppendText(vbCrLf + sqlcmd.Parameters(5).Value)
If Microsoft.VisualBasic.Left(sqlcmd.Parameters(5).Value, 1) = "N" Then ErrorsExist = True
End If
Catch ex As Exception
f.txtResult.AppendText(vbCrLf + "Fehler: " + ex.Message)
Finally
connection.Close()
End Try
f.ProgressBar1.Value = f.ProgressBar1.Value + 1
Application.DoEvents()
Next
connection.Close()
sqlcmd.Dispose()
f.txtResult.AppendText(vbCrLf + "----------------------")
f.txtResult.AppendText(vbCrLf + "Ende: " + Now.ToShortTimeString)
f.ShowMessage(ErrorsExist)
End Function
Public Function Update_MassenData()
Dim f As New frmDatenverarbeitung
f.Show()
'f.TopMost = True
f.ProgressBar1.Minimum = 0
f.ProgressBar1.Maximum = Importdata.Tables(0).Rows.Count
f.ProgressBar1.Value = 0
f.txtResult.Text = "Massendaten-Verarbeitung vom " + Now.ToShortDateString
f.txtResult.AppendText(vbCrLf + "Start: " + Now.ToShortTimeString)
f.txtResult.AppendText(vbCrLf + "----------------------")
f.txtResult.AppendText(vbCrLf)
Dim connection As New SqlConnection()
connection.ConnectionString = Globals.sConnectionString
Dim sqlcmd As New SqlCommand
sqlcmd.CommandText = "dbo.update_massendaten"
sqlcmd.CommandType = CommandType.StoredProcedure
Dim ErrorsExist As Boolean = False
If Me.Importdata.Tables(0).Columns.Count < 21 Then
For i = Me.Importdata.Tables(0).Columns.Count + 1 To 21
Me.Importdata.Tables(0).Columns.Add("F" + i.ToString)
Next
End If
For Each dr As DataRow In Me.Importdata.Tables(0).Rows
sqlcmd.Parameters.Clear()
sqlcmd.Parameters.Add("@cmd", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f1", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f2", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f3", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f4", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f5", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f6", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f7", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f8", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f9", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f10", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f11", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f12", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f13", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f14", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f15", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f16", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f17", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f18", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f19", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@f20", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@Mutierer", SqlDbType.Int)
sqlcmd.Parameters.Add("@resultat", SqlDbType.VarChar)
sqlcmd.Parameters(0).Value = dr.Item(0).ToString
sqlcmd.Parameters(1).Value = dr.Item(1).ToString
sqlcmd.Parameters(2).Value = dr.Item(2).ToString
sqlcmd.Parameters(3).Value = dr.Item(3).ToString
sqlcmd.Parameters(4).Value = dr.Item(4).ToString
sqlcmd.Parameters(5).Value = dr.Item(5).ToString
sqlcmd.Parameters(6).Value = dr.Item(6).ToString
sqlcmd.Parameters(7).Value = dr.Item(7).ToString
sqlcmd.Parameters(8).Value = dr.Item(8).ToString
sqlcmd.Parameters(9).Value = dr.Item(9).ToString
sqlcmd.Parameters(10).Value = dr.Item(10).ToString
sqlcmd.Parameters(11).Value = dr.Item(11).ToString
sqlcmd.Parameters(12).Value = dr.Item(12).ToString
sqlcmd.Parameters(13).Value = dr.Item(13).ToString
sqlcmd.Parameters(14).Value = dr.Item(14).ToString
sqlcmd.Parameters(15).Value = dr.Item(15).ToString
sqlcmd.Parameters(16).Value = dr.Item(16).ToString
sqlcmd.Parameters(17).Value = dr.Item(17).ToString
sqlcmd.Parameters(18).Value = dr.Item(18).ToString
sqlcmd.Parameters(19).Value = dr.Item(19).ToString
sqlcmd.Parameters(20).Value = dr.Item(20).ToString
sqlcmd.Parameters(21).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
sqlcmd.Parameters(22).Value = ""
sqlcmd.Parameters(22).Direction = ParameterDirection.Output
sqlcmd.Parameters(22).Size = 1024
sqlcmd.Connection = connection
connection.Open()
Try
sqlcmd.ExecuteNonQuery()
Dim s As String = sqlcmd.Parameters(22).Value
f.txtResult.AppendText(vbCrLf + sqlcmd.Parameters(22).Value)
If Microsoft.VisualBasic.Left(sqlcmd.Parameters(22).Value, 1) = "N" Then ErrorsExist = True
Catch ex As Exception
f.txtResult.AppendText(vbCrLf + "Fehler: " + ex.Message)
Finally
connection.Close()
End Try
f.ProgressBar1.Value = f.ProgressBar1.Value + 1
Application.DoEvents()
Next
connection.Close()
sqlcmd.Dispose()
f.txtResult.AppendText(vbCrLf + "----------------------")
f.txtResult.AppendText(vbCrLf + "Ende: " + Now.ToShortTimeString)
f.ShowMessage(ErrorsExist)
End Function
Private Function Update_Manually(ByRef dr As DataRow, ByVal Resultattext As String) As String
Resultattext = Resultattext.Substring(10, Len(Resultattext) - 10)
Dim ma As String
Dim Fs As String
Dim dbc As New _DataClass.db.Personal
dbc.sConnectionString = Globals.sConnectionString
Dim dbf As New _DataClass.db.Funktionstelle
dbf.sConnectionString = Globals.sConnectionString
If dbc.get_mitarbeiter_by_tgnummer(dr.Item(0)) = True Then
ma = dbc.sTGNummer.Value + " " + dbc.sName.Value
End If
Dim dt As New DataTable
dt = dbc.get_funktionsbeziehungen(dbc.iPersonalnr)
dt.Columns.Add("Sel", System.Type.GetType("System.Int32"))
For Each r As DataRow In dt.Rows
r.Item(4) = 1
Next
If dbf.get_FunktionStelle_by_Funktionstelle(dr.Item(2)) Then
Dim r As DataRow = dt.NewRow
r.Item(0) = -1
r.Item(1) = dbf.iFunktionstelleNr.Value
r.Item(2) = dbf.sFunktionsstelle.Value
r.Item(3) = dbf.sBezeichnung.Value
r.Item(4) = 0
dt.Rows.Add(r)
End If
Dim f As New frmUpdate(ma, dt)
f.ShowDialog()
If f.DialogResult = DialogResult.Abort Then
Resultattext = vbCrLf + "NOK: " + Resultattext + "Manueller Abgleich durch Benutzer abgebrochen"
Else
Dim dbpf As New _DataClass.db.Personal_Funktionstelle
dbpf.sConnectionString = Globals.sConnectionString
For i = 0 To f.clb.Items.Count - 1
dbpf.Update_Data(dt.Rows(i).Item(0), dbc.iPersonalnr.Value, dt.Rows(i).Item(1), f.clb.GetItemCheckState(i))
Next
Resultattext = vbCrLf + "OK: " + Resultattext + "Manueller Abgleich durchgeführt"
End If
Return Resultattext
End Function
End Class

View File

@@ -0,0 +1,121 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmDatenverarbeitung
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDatenverarbeitung))
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
Me.txtResult = New System.Windows.Forms.TextBox()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton()
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.ToolStrip1.SuspendLayout()
Me.SuspendLayout()
'
'ProgressBar1
'
Me.ProgressBar1.Location = New System.Drawing.Point(6, 19)
Me.ProgressBar1.Name = "ProgressBar1"
Me.ProgressBar1.Size = New System.Drawing.Size(656, 23)
Me.ProgressBar1.TabIndex = 0
'
'txtResult
'
Me.txtResult.Dock = System.Windows.Forms.DockStyle.Fill
Me.txtResult.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtResult.Location = New System.Drawing.Point(3, 16)
Me.txtResult.Multiline = True
Me.txtResult.Name = "txtResult"
Me.txtResult.Size = New System.Drawing.Size(662, 197)
Me.txtResult.TabIndex = 1
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.ProgressBar1)
Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Top
Me.GroupBox1.Location = New System.Drawing.Point(0, 25)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(668, 57)
Me.GroupBox1.TabIndex = 2
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Fortschritt"
'
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.txtResult)
Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill
Me.GroupBox2.Location = New System.Drawing.Point(0, 82)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(668, 216)
Me.GroupBox2.TabIndex = 3
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Resultat"
'
'ToolStrip1
'
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit})
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(668, 25)
Me.ToolStrip1.TabIndex = 4
Me.ToolStrip1.Text = "ToolStrip1"
'
'TSBtnQuit
'
Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image)
Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta
Me.TSBtnQuit.Name = "TSBtnQuit"
Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22)
Me.TSBtnQuit.Text = "ToolStripButton1"
Me.TSBtnQuit.ToolTipText = "Anwendung beenden"
'
'frmDatenverarbeitung
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(668, 298)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.ToolStrip1)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmDatenverarbeitung"
Me.Text = "Verarbeitung"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox2.PerformLayout()
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
Friend WithEvents txtResult As System.Windows.Forms.TextBox
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
Public Class frmDatenverarbeitung
Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
Public Sub ShowMessage(ByVal ErrorsExist As Boolean)
If ErrorsExist = True Then
MsgBox("Verarbeitung mit Fehlern durchgeführt.", MsgBoxStyle.Exclamation)
Else
MsgBox("Verarbeitung fehlerfrei druchgeführt.", MsgBoxStyle.Information)
End If
End Sub
Private Sub frmDatenverarbeitung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub txtResult_KeyDown(sender As Object, e As KeyEventArgs) Handles txtResult.KeyDown
Select Case e.KeyCode
Case Keys.A : If e.Control Then Me.txtResult.SelectAll()
Case Keys.C : If e.Control Then
Me.txtResult.Copy()
End If
' Case 65 : If e.Control Then e.SuppressKeyPress = False Else e.SuppressKeyPress = True 'STRG+S
' Case 67 : If e.Control Then e.SuppressKeyPress = False Else e.SuppressKeyPress = True 'STRG+C
' Case 86 : If e.Control Then e.SuppressKeyPress = False Else e.SuppressKeyPress = True 'STRG+V
' Case Else : e.SuppressKeyPress = True
End Select
End Sub
Private Sub txtResult_TextChanged(sender As Object, e As EventArgs) Handles txtResult.TextChanged
End Sub
End Class

View File

@@ -0,0 +1,72 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmExcelSheets
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lstSheets = New System.Windows.Forms.ListBox
Me.BtnOK = New System.Windows.Forms.Button
Me.BtnAbbruch = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'lstSheets
'
Me.lstSheets.FormattingEnabled = True
Me.lstSheets.Location = New System.Drawing.Point(12, 32)
Me.lstSheets.Name = "lstSheets"
Me.lstSheets.Size = New System.Drawing.Size(220, 134)
Me.lstSheets.TabIndex = 0
'
'BtnOK
'
Me.BtnOK.Location = New System.Drawing.Point(12, 193)
Me.BtnOK.Name = "BtnOK"
Me.BtnOK.Size = New System.Drawing.Size(75, 23)
Me.BtnOK.TabIndex = 1
Me.BtnOK.Text = "Auswählen"
Me.BtnOK.UseVisualStyleBackColor = True
'
'BtnAbbruch
'
Me.BtnAbbruch.Location = New System.Drawing.Point(157, 193)
Me.BtnAbbruch.Name = "BtnAbbruch"
Me.BtnAbbruch.Size = New System.Drawing.Size(75, 23)
Me.BtnAbbruch.TabIndex = 2
Me.BtnAbbruch.Text = "Abbruch"
Me.BtnAbbruch.UseVisualStyleBackColor = True
'
'frmExcelSheets
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(254, 228)
Me.Controls.Add(Me.BtnAbbruch)
Me.Controls.Add(Me.BtnOK)
Me.Controls.Add(Me.lstSheets)
Me.Name = "frmExcelSheets"
Me.Text = "Auswahl Excel-Blatt"
Me.ResumeLayout(False)
End Sub
Friend WithEvents lstSheets As System.Windows.Forms.ListBox
Friend WithEvents BtnOK As System.Windows.Forms.Button
Friend WithEvents BtnAbbruch As System.Windows.Forms.Button
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,47 @@
Public Class frmExcelSheets
Dim m_excelsheet As String
Property ExcelSheet() As String
Get
Return m_excelsheet
End Get
Set(ByVal value As String)
m_excelsheet = value
End Set
End Property
Dim m_excelfile As String
Property ExcelFile() As String
Get
Return m_excelfile
End Get
Set(ByVal value As String)
m_excelfile = value
End Set
End Property
Private Sub frmExcelSheets_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim intxls As New Microsoft.Office.Interop.Excel.Application
intxls.Workbooks.Open(ExcelFile)
For Each s As Microsoft.Office.Interop.Excel.Worksheet In intxls.ActiveWorkbook.Sheets
Me.lstSheets.Items.Add(s.Name)
Next
intxls.ActiveWorkbook.Close(False)
intxls.Quit()
intxls = Nothing
End Sub
Private Sub BtnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOK.Click
Me.ExcelSheet = "[" & Me.lstSheets.SelectedItem & "$]"
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
End Sub
Private Sub BtnAbbruch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAbbruch.Click
Me.DialogResult = Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub lstSheets_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstSheets.DoubleClick
BtnOK_Click(sender, e)
End Sub
End Class

109
BEA - Kopie/Excel/frmUpdate.Designer.vb generated Normal file
View File

@@ -0,0 +1,109 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmUpdate
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lblMitarbeiter = New System.Windows.Forms.Label()
Me.txtMitarbeiter = New System.Windows.Forms.Label()
Me.clb = New System.Windows.Forms.CheckedListBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.btnSave = New System.Windows.Forms.Button()
Me.btnCancel = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'lblMitarbeiter
'
Me.lblMitarbeiter.AutoSize = True
Me.lblMitarbeiter.Location = New System.Drawing.Point(12, 36)
Me.lblMitarbeiter.Name = "lblMitarbeiter"
Me.lblMitarbeiter.Size = New System.Drawing.Size(59, 13)
Me.lblMitarbeiter.TabIndex = 0
Me.lblMitarbeiter.Text = "Mitarbeiter:"
'
'txtMitarbeiter
'
Me.txtMitarbeiter.AutoSize = True
Me.txtMitarbeiter.Location = New System.Drawing.Point(77, 36)
Me.txtMitarbeiter.Name = "txtMitarbeiter"
Me.txtMitarbeiter.Size = New System.Drawing.Size(39, 13)
Me.txtMitarbeiter.TabIndex = 1
Me.txtMitarbeiter.Text = "Label2"
'
'clb
'
Me.clb.FormattingEnabled = True
Me.clb.Location = New System.Drawing.Point(12, 82)
Me.clb.Name = "clb"
Me.clb.Size = New System.Drawing.Size(279, 94)
Me.clb.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(12, 9)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(244, 13)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Mitarbeiter mit mehreren Berechtigungszuteilungen"
'
'btnSave
'
Me.btnSave.Location = New System.Drawing.Point(12, 191)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(75, 23)
Me.btnSave.TabIndex = 4
Me.btnSave.Text = "&Speichern"
Me.btnSave.UseVisualStyleBackColor = True
'
'btnCancel
'
Me.btnCancel.Location = New System.Drawing.Point(216, 191)
Me.btnCancel.Name = "btnCancel"
Me.btnCancel.Size = New System.Drawing.Size(75, 23)
Me.btnCancel.TabIndex = 5
Me.btnCancel.Text = "&Abbruch"
Me.btnCancel.UseVisualStyleBackColor = True
'
'frmUpdate
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(302, 230)
Me.Controls.Add(Me.btnCancel)
Me.Controls.Add(Me.btnSave)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.clb)
Me.Controls.Add(Me.txtMitarbeiter)
Me.Controls.Add(Me.lblMitarbeiter)
Me.Name = "frmUpdate"
Me.Text = "Datenupdate"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lblMitarbeiter As System.Windows.Forms.Label
Friend WithEvents txtMitarbeiter As System.Windows.Forms.Label
Friend WithEvents clb As System.Windows.Forms.CheckedListBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents btnSave As System.Windows.Forms.Button
Friend WithEvents btnCancel As System.Windows.Forms.Button
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,45 @@
Public Class frmUpdate
Dim ma As String
Dim dt As DataTable
Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(ByVal Mitarbeiter As String, ByVal dt As DataTable)
InitializeComponent()
Me.ma = Mitarbeiter
Me.dt = dt
End Sub
Private Sub frmUpdate_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.txtMitarbeiter.Text = ma
For Each r In dt.Rows
Dim s As String
If r.item(4) = 1 Then
s = Str(r.item(2)) + " - " + r.item(3)
clb.Items.Add(s, True)
Else
s = r.item(2) + " - " + r.item(3)
clb.Items.Add(s, False)
End If
Next
End Sub
Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
Me.DialogResult = Windows.Forms.DialogResult.Abort
Me.Close()
End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
End Sub
End Class