MS16.12
This commit is contained in:
parent
d1f55fae86
commit
11a88d9067
@ -1795,35 +1795,55 @@ Public Class frmForm_Constructor_Main_2
|
||||
' Update_Record_Label(CURRENT_RECORD_ID)
|
||||
' Return True
|
||||
'End Function
|
||||
Private Function GET_PARENT_RECORD(LINKED_RECORD As Integer)
|
||||
Private Function GET_LINKED_RECORD(RECORDID As Integer, ENTITY_ID As Integer)
|
||||
Try
|
||||
Dim sql As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}", LINKED_RECORD, CURRENT_FORM_ID)
|
||||
' Dim sqlRecord As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} AND T1.FORM_ID = (SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = {1})", LINKED_RECORD, CURRENT_FORM_ID)
|
||||
Dim PARENT_RECORD = ClassDatabase.Execute_Scalar(sql, True)
|
||||
Dim LINK_EXISTS = String.Format("SELECT COUNT(T.GUID) FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD2_ID = {0} and T1.FORM_ID = {1}", PARENT_RECORD, CURRENT_FORM_ID)
|
||||
If ClassDatabase.Execute_Scalar(LINK_EXISTS) = 0 Then
|
||||
If ClassControlCommandsUI.CreateRecord(CURRENT_FORM_ID) = True Then
|
||||
Dim New_Record = ClassControlCommandsUI.GetLastRecord
|
||||
If Not IsNothing(New_Record) Then
|
||||
'Die neue Record-ID setzen
|
||||
ClassControlCommandsUI.ConnectRecord(PARENT_RECORD, New_Record, "PARENT-LINK FOR ENTITY " & CURRENT_FORM_ID & "")
|
||||
Return PARENT_RECORD
|
||||
|
||||
'Je nach der Ebene muss evtl die übergeordnete Entität ausgelesen werden
|
||||
Select Case ACT_EBENE
|
||||
Case 2
|
||||
Dim sql As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}", RECORDID, ENTITY_ID)
|
||||
Dim PARENT_RECORD1 = ClassDatabase.Execute_Scalar(sql, True)
|
||||
If IsNothing(PARENT_RECORD1) Then
|
||||
Dim New_Record = ClassControlCommandsUI.GetLastRecord
|
||||
If Not IsNothing(New_Record) Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(">> Parent-Record Ebene 1 wird neu angelegt...", False)
|
||||
'Die neue Record-ID setzen
|
||||
ClassControlCommandsUI.ConnectRecord(New_Record, RECORDID, "PARENT-LINK FOR ENTITY " & ENTITY_ID & "")
|
||||
Return New_Record
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
Else
|
||||
Return 0
|
||||
Return PARENT_RECORD1
|
||||
End If
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
Else
|
||||
Return PARENT_RECORD
|
||||
End If
|
||||
Case 3
|
||||
Dim sqlp = "SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID
|
||||
Dim Parent_EntityID = ClassDatabase.Execute_Scalar(sqlp, True)
|
||||
Dim sql As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = (SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE " & _
|
||||
"T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}) and T1.FORM_ID = {2}", RECORDID, Parent_EntityID, ENTITY_ID)
|
||||
Dim PARENT_RECORD2 = ClassDatabase.Execute_Scalar(sql, True)
|
||||
If IsNothing(PARENT_RECORD2) Then
|
||||
Dim New_Record = ClassControlCommandsUI.GetLastRecord
|
||||
If Not IsNothing(New_Record) Then
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(">> Parent-Record Ebene 1 wird neu angelegt...", False)
|
||||
'Die neue Record-ID setzen
|
||||
ClassControlCommandsUI.ConnectRecord(New_Record, RECORDID, "PARENT-LINK FOR ENTITY " & ENTITY_ID & "")
|
||||
Return New_Record
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
Else
|
||||
Return PARENT_RECORD2
|
||||
End If
|
||||
End Select
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in GET_PARENT_RECORD: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
MsgBox("Error in GET_LINKED_RECORD: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
Return 0
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
Private Function LoadGrid_Selection()
|
||||
Try
|
||||
If GRID_TYPE = GridType.Tiles Then
|
||||
@ -1942,32 +1962,38 @@ Public Class frmForm_Constructor_Main_2
|
||||
'Me.pnlDetails.Visible = True
|
||||
ZeigeRecordLogsToolStripMenuItem.Enabled = False
|
||||
If CURRENT_FORM_TYPE = 5 And EntityLoad = False Or IS_SINGLE_RECORD = True And EntityLoad = False Then '#### Es sind untergeordnete Entitäten geöffnet####
|
||||
Dim pID As Integer
|
||||
Dim linkedRecord
|
||||
' Dim pID As Integer
|
||||
Select Case ACT_EBENE '#### Hier muss nun der Parent-Record gewählt werden ####
|
||||
Case 3
|
||||
Dim parent_ID = GET_PARENT_RECORD(RECORD_ID)
|
||||
If parent_ID > 0 Then
|
||||
EBENE2_RECID = RECORD_ID
|
||||
PARENT_RECORDID = RECORD_ID
|
||||
CURRENT_PARENTID = RECORD_ID
|
||||
pID = RECORD_ID
|
||||
linkedRecord = GET_LINKED_RECORD(RECORD_ID, CURRENT_FORM_ID)
|
||||
If linkedRecord > 0 Then
|
||||
|
||||
Dim sqlp = "SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = " & CURRENT_FORM_ID
|
||||
Dim Parent_EntityID = ClassDatabase.Execute_Scalar(sqlp, True)
|
||||
Dim sql As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}", RECORD_ID, Parent_EntityID)
|
||||
Dim PARENT_RECORD1 = ClassDatabase.Execute_Scalar(sql, True)
|
||||
|
||||
EBENE2_RECID = PARENT_RECORD1
|
||||
PARENT_RECORDID = PARENT_RECORD1
|
||||
CURRENT_PARENTID = PARENT_RECORD1
|
||||
End If
|
||||
Case 2
|
||||
Dim parent_ID = GET_PARENT_RECORD(RECORD_ID)
|
||||
If parent_ID > 0 Then
|
||||
linkedRecord = linkedRecord(RECORD_ID, CURRENT_FORM_ID)
|
||||
If linkedRecord > 0 Then
|
||||
EBENE1_RECID = RECORD_ID
|
||||
PARENT_RECORDID = RECORD_ID
|
||||
CURRENT_PARENTID = RECORD_ID
|
||||
pID = RECORD_ID
|
||||
End If
|
||||
Case 1
|
||||
PARENT_RECORDID = RECORD_ID
|
||||
EBENE1_RECID = PARENT_RECORDID
|
||||
CURRENT_PARENTID = PARENT_RECORDID
|
||||
pID = PARENT_RECORDID
|
||||
End Select
|
||||
CURRENT_RECORD_ID = CInt(linkedRecord)
|
||||
SELECTED_RECORD_ID = CURRENT_RECORD_ID
|
||||
'#### Den Group or Single_Record holen/anlegen
|
||||
GET_GROUP_OR_SINGLE_RECORD(pID, False)
|
||||
' GET_GROUP_OR_SINGLE_RECORD(pID, False)
|
||||
Else '#### Datensatz wird normal geladen ####
|
||||
SELECTED_RECORD_ID = RECORD_ID
|
||||
CURRENT_RECORD_ID = SELECTED_RECORD_ID
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user