Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.Drawing Imports System.Drawing.Color Imports System.ComponentModel Public Class frmAMSOfficeVorlage Inherits System.Windows.Forms.Form #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. InitializeComponent() ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen End Sub ' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub ' Für Windows Form-Designer erforderlich Private components As System.ComponentModel.IContainer 'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich 'Sie kann mit dem Windows Form-Designer modifiziert werden. 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox Friend WithEvents btnAbbruch As System.Windows.Forms.Button Friend WithEvents btnImport As System.Windows.Forms.Button Friend WithEvents Button1 As System.Windows.Forms.Button Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label() Me.ComboBox1 = New System.Windows.Forms.ComboBox() Me.btnAbbruch = New System.Windows.Forms.Button() Me.btnImport = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button() Me.SuspendLayout() ' 'Label1 ' Me.Label1.Location = New System.Drawing.Point(8, 24) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(112, 23) Me.Label1.TabIndex = 0 Me.Label1.Text = "AMS-Officevorlagen" ' 'ComboBox1 ' Me.ComboBox1.Location = New System.Drawing.Point(120, 24) Me.ComboBox1.Name = "ComboBox1" Me.ComboBox1.Size = New System.Drawing.Size(328, 21) Me.ComboBox1.TabIndex = 1 Me.ComboBox1.Text = "ComboBox1" ' 'btnAbbruch ' Me.btnAbbruch.Location = New System.Drawing.Point(8, 80) Me.btnAbbruch.Name = "btnAbbruch" Me.btnAbbruch.TabIndex = 2 Me.btnAbbruch.Text = "Abbruch" ' 'btnImport ' Me.btnImport.Location = New System.Drawing.Point(296, 80) Me.btnImport.Name = "btnImport" Me.btnImport.Size = New System.Drawing.Size(152, 23) Me.btnImport.TabIndex = 3 Me.btnImport.Text = "Vorlagenfelder improtieren" ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(136, 80) Me.Button1.Name = "Button1" Me.Button1.TabIndex = 4 Me.Button1.Text = "Alle AMS-Vorlagen generieren" ' 'frmAMSOfficeVorlage ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(472, 109) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button1, Me.btnImport, Me.btnAbbruch, Me.ComboBox1, Me.Label1}) Me.Name = "frmAMSOfficeVorlage" Me.Text = "frmAMSOfficeVorlage" Me.ResumeLayout(False) End Sub #End Region Dim m_vorlagenfelder As DataTable Property Vorlagenfleder() As DataTable Get Return m_vorlagenfelder End Get Set(ByVal Value As DataTable) m_vorlagenfelder = Value End Set End Property Dim m_dokumenttypnr As Integer Property Dokumenttypnr() As Integer Get Return m_dokumenttypnr End Get Set(ByVal Value As Integer) m_dokumenttypnr = Value End Set End Property Dim Dokumentvorlagen As New DataTable() Dim doktyp As New edokadb.clsDokumenttyp() Dim doktypnr As Integer = 0 Dim amsvorlagenr As Integer = 0 Dim mcbvorlagen As New MultiComboBox() Private Sub frmAMSOfficeVorlage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load mcbvorlagen = New MultiComboBox(Me.ComboBox1) mcbvorlagen.DisplayColumnName = "bezeichnung" mcbvorlagen.ValueColumnName = "officevorlagenr" mcbvorlagen.Fill_Data(Generic_Select(1), False) End Sub Private Sub btnAbbruch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbbruch.Click Me.DialogResult = DialogResult.Cancel Me.Close() End Sub Private Function Generic_Select(ByVal typ As Integer) As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Select Case typ Case 1 scmCmdToExecute.CommandText = "dbo.SP_AMS_OfficeVorlage" Case 2 scmCmdToExecute.CommandText = "dbo.SP_AMS_OfficeVorlage" Case 3 scmCmdToExecute.CommandText = "dbo.SP_AMS_Vorlagenfelder" Case 4 scmCmdToExecute.CommandText = "dbo.sp_ams_edoka" Case Else End Select scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.Connection = conn.scoDBConnection Select Case typ Case 1 scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1)) Case 2 scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2)) scmCmdToExecute.Parameters.Add(New SqlParameter("@officevorlagenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.mcbvorlagen.SelectedValue)) Case 3 scmCmdToExecute.Parameters.Add(New SqlParameter("@officevorlagenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.amsvorlagenr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.doktypnr)) Case Else End Select Try sdaAdapter.Fill(dtToReturn) Return dtToReturn Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("SP_AMS_OfficeVoralgen::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Private Sub btnImport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImport.Click Me.doktypnr = Me.Dokumenttypnr Me.amsvorlagenr = Me.mcbvorlagen.SelectedValue Inser_Vorlagenfelder() End Sub Private Sub Inser_Vorlagenfelder() Dim data As DataTable Dim vr As New edokadb.clsVorlagenfeld() Dim dbkey As New edokadb.clsMyKey_Tabelle() Dim key As Long Dim i As Integer data = Generic_Select(3) dbkey.cpMainConnectionProvider = conn Try For i = 0 To data.Rows.Count - 1 key = dbkey.get_dbkey("vorlagenfeld") vr.iVorlagenfeldnr = New SqlInt32(CType(key, Int32)) vr.iDokumenttypnr = New SqlInt32(CType(Me.doktypnr, Int32)) vr.iVorlagenfeldregelnr = New SqlInt32(CType(data.Rows(i).Item("edoka_vorlagenfeldregelnr"), Int32)) vr.sFeldname = New SqlString(CType(data.Rows(i).Item("office_feld"), String)) vr.sBeginntextmarke = New SqlString(CType(data.Rows(i).Item("beginntextmarke"), String)) vr.sEndetextmarke = New SqlString(CType(data.Rows(i).Item("endetextmarke"), String)) vr.bAusstiegsmakro = New SqlBoolean(CType(data.Rows(i).Item("ausstiegsmakro"), Boolean)) vr.bEinstiegsmakro = New SqlBoolean(CType(data.Rows(i).Item("einstiegsmakro"), Boolean)) vr.bAktiv = New SqlBoolean(CType(data.Rows(i).Item("aktiv"), Boolean)) vr.sTestdaten = New SqlString(CType("", String)) vr.iMandantnr = New SqlInt32(CType(1, Int32)) vr.iMutierer = New SqlInt32(CType(Globals.MitarbeiterNr, Int32)) vr.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) vr.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) vr.cpMainConnectionProvider = conn conn.OpenConnection() Try vr.Insert() Catch ex As Exception MsgBox(ex.Message) End Try conn.CloseConnection(True) Next vr.Dispose() data.Dispose() dbkey.Dispose() Catch ex As Exception MsgBox(ex.Message) End Try Me.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer Dim zwdata As DataTable Dokumentvorlagen = Generic_Select(4) doktyp.cpMainConnectionProvider = conn For i = 0 To Dokumentvorlagen.Rows.Count - 1 doktyp.iDokumenttypnr = New SqlInt32(CType(Dokumentvorlagen.Rows(i).Item("edoka_dokumenttypnr"), Int32)) zwdata = doktyp.SelectOne If zwdata.Rows.Count = 0 Then MsgBox("Kein EDOKA-Dokumenttyp für AMS_Office_Vorlage:" + Str(Dokumentvorlagen.Rows(i).Item("AMS_Vorlagenr"))) Else Me.amsvorlagenr = Dokumentvorlagen.Rows(i).Item("ams_vorlagenr") Me.doktypnr = doktyp.iDokumenttypnr.Value Inser_Vorlagenfelder() End If Next End Sub End Class