671 lines
21 KiB
OpenEdge ABL
671 lines
21 KiB
OpenEdge ABL
VERSION 1.0 CLASS
|
|
BEGIN
|
|
MultiUse = -1 'True
|
|
Persistable = 0 'NotPersistable
|
|
DataBindingBehavior = 0 'vbNone
|
|
DataSourceBehavior = 0 'vbNone
|
|
MTSTransactionMode = 0 'NotAnMTSObject
|
|
END
|
|
Attribute VB_Name = "CPruefgang"
|
|
Attribute VB_GlobalNameSpace = False
|
|
Attribute VB_Creatable = True
|
|
Attribute VB_PredeclaredId = False
|
|
Attribute VB_Exposed = False
|
|
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
|
|
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
|
|
Option Explicit
|
|
|
|
'==============================================================================
|
|
'
|
|
' File : CPruefgang
|
|
' Author : Reinhard Henning
|
|
' Date : 04.02.1999
|
|
' Version: 0.01
|
|
'
|
|
'==============================================================================
|
|
'
|
|
' History:
|
|
'
|
|
'
|
|
'==============================================================================
|
|
'
|
|
'
|
|
'lokale Variable(n) zum Zuweisen der Eigenschaft(en)
|
|
Private mvarPruefgangNr As Long 'lokale Kopie
|
|
Private mvarPruefstationNr As Integer 'lokale Kopie
|
|
Private mvarPrueferNr As Integer 'lokale Kopie
|
|
Private mvarPruefzeit As Long 'lokale Kopie
|
|
Private mvarAnzahl As Integer 'lokale Kopie
|
|
Private mvarDatum As Date 'lokale Kopie
|
|
Private mvarTyp As String 'lokale Kopie
|
|
' neu RH 2016-11-17
|
|
Private mstrTypzusatz As String 'lokale Kopie
|
|
Public mstrSerienNrListe As String
|
|
|
|
Private mvarNennweite As Integer 'lokale Kopie
|
|
Private mvarNenntemperatur As Byte 'lokale Kopie
|
|
|
|
Private mvarLufttemperatur As Single 'lokale Kopie
|
|
Private mvarRelativeFeuchte As Single 'lokale Kopie
|
|
Private mvarLuftDruck As Single 'lokale Kopie
|
|
|
|
Private mvarVorlauftemperatur As Single 'lokale Kopie
|
|
Private mvarStartzeit As Double 'lokale Kopie
|
|
Private mvarPruefgangLang As Boolean 'lokale Kopie
|
|
Private mvarBemerkung As String 'lokale Kopie
|
|
|
|
Private mvarKalibrierID As Integer
|
|
|
|
' Prüfpunktspezifische Daten im Array
|
|
Private mvarPP_Zeit(10) As Single 'lokale Kopie
|
|
Private mvarPP_Soll(10) As Single 'lokale Kopie
|
|
Private mvarPP_Ist(10) As Single 'lokale Kopie
|
|
Private mvarPP_RefZSerienNr(10) As Long 'lokale Kopie
|
|
Private mvarPP_Ist_V(10) As Double 'lokale Kopie
|
|
|
|
Private mvarPP_T_Start(10) As Double
|
|
Private mvarPP_T_Ende(10) As Double
|
|
|
|
' Waage/Behälter Nr
|
|
Private mvarPP_Waage(10) As Byte 'lokale Kopie
|
|
Private mvarPP_Info(10) As Byte 'lokale Kopie für Bit 0 = true: LWL, Bit 0 = false: Opto
|
|
|
|
|
|
Public Enum KALIBRIERUNG
|
|
KALIBRIER_ID_Waage = 2
|
|
KALIBRIER_ID_Referenzzaehler = 1
|
|
KALIBRIER_ID_Behaelter = 3
|
|
End Enum
|
|
|
|
Public Enum PP_INFO_BIT
|
|
PP_INFO_LWL = 0
|
|
End Enum
|
|
|
|
Public Property Let PP_Info(PPNr As Integer, BitNo As Byte, blnBit As Boolean)
|
|
' Bit 0: LWL
|
|
If blnBit = True Then
|
|
mvarPP_Info(PPNr) = mvarPP_Info(PPNr) Or (2 ^ BitNo)
|
|
Else
|
|
mvarPP_Info(PPNr) = mvarPP_Info(PPNr) And Not (2 ^ BitNo)
|
|
End If
|
|
End Property
|
|
|
|
Public Property Let PruefgangLang(ByVal vData As Boolean)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.PruefgangLang = 5
|
|
mvarPruefgangLang = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PruefgangLang() As Boolean
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.PruefgangLang
|
|
PruefgangLang = mvarPruefgangLang
|
|
End Property
|
|
|
|
|
|
Public Property Let Bemerkung(vData As String)
|
|
mvarBemerkung = vData
|
|
End Property
|
|
|
|
Public Property Get Bemerkung() As String
|
|
Bemerkung = mvarBemerkung
|
|
End Property
|
|
|
|
Public Property Let PP_RefZSerienNr(Index As Integer, ByVal vData As Long)
|
|
mvarPP_RefZSerienNr(Index) = vData
|
|
End Property
|
|
|
|
Public Property Get PP_RefZSerienNr(Index As Integer) As Long
|
|
PP_RefZSerienNr = mvarPP_RefZSerienNr(Index)
|
|
End Property
|
|
|
|
Public Property Let PP_T_Start(Index As Integer, ByVal vData As Double)
|
|
mvarPP_T_Start(Index) = vData
|
|
End Property
|
|
|
|
Public Property Let PP_T_Ende(Index As Integer, ByVal vData As Double)
|
|
mvarPP_T_Ende(Index) = vData
|
|
End Property
|
|
|
|
Public Property Let PP_Ist_V(Index As Integer, ByVal vData As Double)
|
|
mvarPP_Ist_V(Index) = vData
|
|
End Property
|
|
|
|
Public Property Get PP_Ist_V(Index As Integer) As Double
|
|
PP_Ist_V = mvarPP_Ist_V(Index)
|
|
End Property
|
|
|
|
Public Property Let PP_Waage(Index As Integer, ByVal vData As Single)
|
|
mvarPP_Waage(Index) = vData
|
|
End Property
|
|
|
|
Public Property Get PP_Waage(Index As Integer) As Single
|
|
PP_Waage = mvarPP_Waage(Index)
|
|
End Property
|
|
|
|
Public Property Let PP_Ist(Index As Integer, ByVal vData As Single)
|
|
mvarPP_Ist(Index) = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PP_Ist(Index As Integer) As Single
|
|
PP_Ist = mvarPP_Ist(Index)
|
|
End Property
|
|
|
|
Public Property Let PP_Soll(Index As Integer, ByVal vData As Single)
|
|
mvarPP_Soll(Index) = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PP_Soll(Index As Integer) As Single
|
|
PP_Soll = mvarPP_Soll(Index)
|
|
End Property
|
|
|
|
|
|
Public Property Let PP_Zeit(Index As Integer, ByVal vData As Single)
|
|
mvarPP_Zeit(Index) = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PP_Zeit(Index As Integer) As Single
|
|
PP_Zeit = mvarPP_Zeit(Index)
|
|
End Property
|
|
|
|
|
|
Public Property Let Vorlauftemperatur(ByVal vData As Single)
|
|
mvarVorlauftemperatur = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Vorlauftemperatur() As Single
|
|
Vorlauftemperatur = mvarVorlauftemperatur
|
|
End Property
|
|
|
|
Public Property Let Lufttemperatur(ByVal vData As Single)
|
|
mvarLufttemperatur = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Lufttemperatur() As Single
|
|
Lufttemperatur = mvarLufttemperatur
|
|
End Property
|
|
|
|
Public Property Let RelativeFeuchte(ByVal vData As Single)
|
|
mvarRelativeFeuchte = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get RelativeFeuchte() As Single
|
|
RelativeFeuchte = mvarRelativeFeuchte
|
|
End Property
|
|
|
|
Public Property Let LuftDruck(ByVal vData As Single)
|
|
mvarLuftDruck = vData
|
|
End Property
|
|
|
|
Public Property Get LuftDruck() As Single
|
|
LuftDruck = mvarLuftDruck
|
|
End Property
|
|
|
|
Public Property Let Nenntemperatur(ByVal vData As Byte)
|
|
mvarNenntemperatur = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Nenntemperatur() As Byte
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.Nenntemperatur
|
|
Nenntemperatur = mvarNenntemperatur
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let Nennweite(ByVal vData As Integer)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.Nennweite = 5
|
|
mvarNennweite = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Nennweite() As Integer
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.Nennweite
|
|
Nennweite = mvarNennweite
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let Typ(ByVal vData As String)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.Typ = 5
|
|
mvarTyp = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Typ() As String
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.Typ
|
|
Typ = mvarTyp
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let Datum(ByVal vData As Date)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.Datum = 5
|
|
mvarDatum = vData
|
|
End Property
|
|
|
|
|
|
Public Property Let Typzusatz(ByVal strData As String)
|
|
mstrTypzusatz = strData
|
|
End Property
|
|
|
|
|
|
Public Property Get Datum() As Date
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.Datum
|
|
Datum = mvarDatum
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let Anzahl(ByVal vData As Integer)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.Anzahl = 5
|
|
mvarAnzahl = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Anzahl() As Integer
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.Anzahl
|
|
Anzahl = mvarAnzahl
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let Pruefzeit(ByVal vData As Integer)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.Pruefzeit = 5
|
|
mvarPruefzeit = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get Pruefzeit() As Integer
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.Pruefzeit
|
|
Pruefzeit = mvarPruefzeit
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let PrueferNr(ByVal vData As Integer)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.PrueferNr = 5
|
|
mvarPrueferNr = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PrueferNr() As Integer
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.PrueferNr
|
|
PrueferNr = mvarPrueferNr
|
|
End Property
|
|
|
|
|
|
|
|
Public Property Let PruefstationNr(ByVal vData As Integer)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.PruefstationNr = 5
|
|
mvarPruefstationNr = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PruefstationNr() As Integer
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.PruefstationNr
|
|
PruefstationNr = mvarPruefstationNr
|
|
End Property
|
|
|
|
|
|
Public Property Let KalibrierID(ByVal vData As Integer)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.KalibrierId = ...
|
|
mvarKalibrierID = vData
|
|
End Property
|
|
|
|
Public Property Get KalibrierID() As Integer
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.KalibrierId
|
|
KalibrierID = mvarKalibrierID
|
|
End Property
|
|
|
|
|
|
Public Property Let PruefgangNr(ByVal vData As Long)
|
|
'wird beim Zuweisen eines Werts zu der Eigenschaft auf der linken Seite einer Zuweisung verwendet.
|
|
'Syntax: X.PruefgangNr = 5
|
|
mvarPruefgangNr = vData
|
|
End Property
|
|
|
|
|
|
Public Property Get PruefgangNr() As Long
|
|
'wird beim Ermitteln eines Eigenschaftswertes auf der rechten Seite einer Zuweisung verwendet.
|
|
'Syntax: Debug.Print X.PruefgangNr
|
|
PruefgangNr = mvarPruefgangNr
|
|
End Property
|
|
|
|
Public Function load(lngPruefgangNr As Long) As Boolean
|
|
Dim rs As CRecordset
|
|
Dim sSQL As String
|
|
Dim i As Integer
|
|
|
|
On Error GoTo Errorhandler
|
|
sSQL = "SELECT * FROM Pruefgang WHERE PruefgangNr = " & lngPruefgangNr
|
|
Set rs = New CRecordset
|
|
|
|
rs.openRS sSQL, True
|
|
If Not rs.EOF Then
|
|
|
|
'DBFelder:
|
|
'PruefgangNr PruefstationNr PrueferNr Pruefzeit PruefgangLang Datum Typ
|
|
' Nennweite Nenntemperatur Lufttemperatur Vorlauftemperatur Anzahl
|
|
'Bemerkung DBasePruefgangNr
|
|
|
|
mvarPruefstationNr = rs.getLongValue("PruefstationNr")
|
|
mvarPruefgangNr = rs.getLongValue("PruefgangNr")
|
|
|
|
mvarPruefgangNr = rs.getLongValue("PruefgangNr")
|
|
mvarPruefstationNr = rs.getIntValue("PruefstationNr")
|
|
mvarPrueferNr = rs.getIntValue("PrueferNr")
|
|
|
|
mvarPruefzeit = rs.getLongValue("Pruefzeit")
|
|
|
|
|
|
mvarDatum = rs.getDateValue("Datum")
|
|
mvarTyp = rs.getStringValue("Typ")
|
|
mvarNennweite = rs.getIntValue("Nennweite")
|
|
mvarNenntemperatur = rs.getSingleValue("Nenntemperatur")
|
|
mvarLufttemperatur = rs.getSingleValue("Lufttemperatur")
|
|
mvarRelativeFeuchte = rs.getSingleValue("RelativeFeuchte")
|
|
mvarLuftDruck = rs.getSingleValue("LuftDruck")
|
|
|
|
mvarVorlauftemperatur = rs.getSingleValue("Vorlauftemperatur")
|
|
|
|
|
|
mvarPruefgangLang = rs.getBooleanValue("PruefgangLang")
|
|
mvarBemerkung = rs.getStringValue("Bemerkung")
|
|
mvarAnzahl = rs.getIntValue("Anzahl")
|
|
mvarKalibrierID = rs.getIntValue("KalibrierId")
|
|
|
|
|
|
For i = 1 To 10
|
|
If rs.isFieldNull("PP" & i & "_Soll") Then Exit For
|
|
mvarPP_Zeit(i) = rs.getSingleValue("PP" & i & "_Zeit")
|
|
mvarPP_Soll(i) = rs.getSingleValue("PP" & i & "_Soll")
|
|
mvarPP_Ist(i) = rs.getSingleValue("PP" & i & "_Ist")
|
|
mvarPP_RefZSerienNr(i) = rs.getLongValue("PP" & i & "_RefZSerienNr")
|
|
mvarPP_Ist_V(i) = rs.getDoubleValue("PP" & i & "_Ist_V")
|
|
PP_Waage(i) = rs.getByteValue("PP" & i & "_Waage")
|
|
mvarPP_Info(i) = rs.getByteValue("PP" & i & "_Info")
|
|
Next
|
|
load = True
|
|
End If
|
|
Set rs = Nothing
|
|
Exit Function
|
|
Errorhandler:
|
|
ErrorMsg "Pruefgang " & lngPruefgangNr & " Daten konnten nicht geladen werden! Fehler " & Err.Description & ": " & Err.Description
|
|
End Function
|
|
|
|
Public Sub delete()
|
|
Dim sSQL As String
|
|
Dim rs As CRecordset
|
|
Dim lngRecordsaffected As Long
|
|
|
|
On Error GoTo Errorhandler
|
|
Dim lngTimeout As Long
|
|
|
|
Dim lngTime As Long
|
|
|
|
lngTime = GetTickCount()
|
|
|
|
If mvarPruefgangNr > 0 Then
|
|
Screen.MousePointer = vbHourglass
|
|
lngTimeout = g_App.getDB.getConnection.CommandTimeout
|
|
g_App.getDB.getConnection.CommandTimeout = 120
|
|
|
|
sSQL = "DELETE from Prueffehler where PruefgangNr=" & mvarPruefgangNr
|
|
g_App.getDB.getConnection.Execute sSQL, lngRecordsaffected
|
|
Debug.Print sSQL & "; " & lngRecordsaffected & " gelöschte Datensätze aus Prueffehler "
|
|
|
|
sSQL = "DELETE from AuftragPositionSerienNr where PruefgangNr=" & mvarPruefgangNr
|
|
g_App.getDB.getConnection.Execute sSQL, lngRecordsaffected
|
|
Debug.Print sSQL & "; " & lngRecordsaffected & " gelöschte Datensätze aus AuftragPositionSerienNr "
|
|
|
|
sSQL = "DELETE from KontPrueffehler where PruefgangNr=" & mvarPruefgangNr
|
|
g_App.getDB.getConnection.Execute sSQL, lngRecordsaffected
|
|
Debug.Print sSQL & "; " & lngRecordsaffected & " gelöschte Datensätze aus KontPrueffehler "
|
|
|
|
|
|
sSQL = "DELETE from Pruefgang where PruefgangNr=" & mvarPruefgangNr
|
|
g_App.getDB.getConnection.Execute sSQL, lngRecordsaffected
|
|
Debug.Print sSQL & "; " & lngRecordsaffected&; " gelöschte Datensätze aus Pruefgang "
|
|
|
|
Screen.MousePointer = vbNormal
|
|
g_App.getDB.getConnection.CommandTimeout = lngTimeout
|
|
|
|
If GetTickCount - lngTime > 60000 Then
|
|
LogIntoDB "Ausführungszeit für pruefgang.delete: " & GetTickCount - lngTime & " ms", "pruefgang.delete"
|
|
End If
|
|
End If
|
|
|
|
Exit Sub
|
|
Errorhandler:
|
|
Call showError("Pruefgang delete")
|
|
End Sub
|
|
|
|
Public Function save() As Boolean
|
|
On Error GoTo saveErr
|
|
|
|
Dim Index As Integer
|
|
Dim rs As CRecordset
|
|
Dim sSQL As String
|
|
|
|
wdh:
|
|
' Pruefzeit setzen: Zeit vom initialiseren der Klasse bis zum letzten speichern
|
|
|
|
mvarPruefzeit = Int((Now * 1 - mvarStartzeit * 1) * 60 * 60 * 24)
|
|
Set rs = New CRecordset
|
|
|
|
If mvarPruefgangNr = 0 Then
|
|
' Prüfgang-Objekt wurde nicht aus der DB geladen, also Neuanlage
|
|
'---------------------------------
|
|
' Bestimmung der neuen PruefgangNr:
|
|
' jeweils einen höher als die höchste PruefgangNr des Prüfgangs mit der
|
|
' zugehörigen PruefstationNr
|
|
' Wenn keine Datensätze zur PruefstationNr vorhanden sind,
|
|
' nehme PruefstationNr * 1000000 als PruegangNr
|
|
|
|
'sSQL = "SELECT max(PruefgangNr)+1 as NewPruefgangNr from Pruefgang where PruefstationNr=" & g_App.PruefstationNr
|
|
|
|
sSQL = "SELECT max(PruefgangNr)+1 as NewPruefgangNr from Pruefgang where PruefgangNr < " & (g_App.PruefstationNr + 1) * 1000000 & " And PruefgangNr >= " & g_App.PruefstationNr * 1000000
|
|
|
|
rs.openRS (sSQL)
|
|
If Not rs.EOF And Not rs.BOF Then
|
|
mvarPruefgangNr = rs.getLongValue("NewPruefgangNr")
|
|
If mvarPruefgangNr = 0 Then
|
|
mvarPruefgangNr = g_App.PruefstationNr * 1000000
|
|
End If
|
|
Else
|
|
mvarPruefgangNr = g_App.PruefstationNr * 1000000
|
|
End If
|
|
|
|
If mvarPruefgangNr >= (g_App.PruefstationNr + 1) * 1000000 - 1 Then
|
|
ErrorMsg "Das Nummernband für die Prüfgang-Nummern ist ausgeschöpft (" & mvarPruefgangNr & ")." & vbCrLf & "Bitte benachrichtigen Sie den Programmierer!" & vbCrLf & "Das Programm wird nun beendet!"
|
|
End
|
|
End If
|
|
|
|
Set rs = Nothing
|
|
'---------------------------------
|
|
Set rs = New CRecordset
|
|
sSQL = "Select * from Pruefgang where 1=0"
|
|
rs.openRS (sSQL)
|
|
rs.addNew
|
|
Call rs.setValue("PruefgangNr", mvarPruefgangNr)
|
|
Else
|
|
sSQL = "SELECT * from Pruefgang where PruefgangNr=" & mvarPruefgangNr & ";"
|
|
rs.openRS (sSQL)
|
|
If rs.EOF Then
|
|
MsgBox ("konnte Pruefgang mit Nr=" & mvarPruefgangNr & " nicht finden")
|
|
Exit Function
|
|
End If
|
|
End If
|
|
|
|
|
|
Call rs.setValue("PruefstationNr", mvarPruefstationNr)
|
|
Call rs.setValue("PrueferNr", mvarPrueferNr)
|
|
Call rs.setValue("Datum", mvarDatum)
|
|
|
|
Call rs.setValue("Pruefzeit", mvarPruefzeit)
|
|
|
|
' RH 7.11.2006
|
|
Call rs.setValue("Typ", Left(mvarTyp, 20))
|
|
' RH 17.11.2016
|
|
Call rs.setValue("Typzusatz", Left(mstrTypzusatz, 20))
|
|
|
|
Call rs.setValue("Nennweite", mvarNennweite)
|
|
Call rs.setValue("Nenntemperatur", mvarNenntemperatur)
|
|
|
|
If mvarLufttemperatur > 0 Then
|
|
Call rs.setValue("Lufttemperatur", Round(mvarLufttemperatur, 1))
|
|
End If
|
|
If mvarRelativeFeuchte > 0 Then
|
|
Call rs.setValue("RelativeFeuchte", Round(mvarRelativeFeuchte, 1))
|
|
End If
|
|
If mvarLuftDruck > 0 Then
|
|
Call rs.setValue("LuftDruck", Round(mvarLuftDruck, 1))
|
|
End If
|
|
|
|
Call rs.setValue("Vorlauftemperatur", mvarVorlauftemperatur)
|
|
Call rs.setValue("PruefgangLang", mvarPruefgangLang)
|
|
Call rs.setValue("Bemerkung", mvarBemerkung)
|
|
Call rs.setValue("KalibrierID", mvarKalibrierID)
|
|
|
|
Call rs.setValue("Anzahl", mvarAnzahl)
|
|
' Prüfpunktspezifische Daten im Array
|
|
For Index = 1 To 10
|
|
If PP_Soll(Index) = 0 Then
|
|
' Abbruch der Schleife wenn Durchfluß = 0
|
|
Exit For
|
|
End If
|
|
Call rs.setValue("PP" & CStr(Index) & "_Zeit", PP_Zeit(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Soll", PP_Soll(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Ist", PP_Ist(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_RefZSerienNr", PP_RefZSerienNr(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Waage", PP_Waage(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Ist_V", PP_Ist_V(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Info", mvarPP_Info(Index))
|
|
|
|
' PP1_T_Start - PP10_T_Start
|
|
If mvarPP_T_Start(Index) > 0 Then
|
|
Call rs.setValue("PP" & CStr(Index) & "_T_Start", mvarPP_T_Start(Index))
|
|
End If
|
|
|
|
' PP1_T_Ende - PP10_T_Ende
|
|
If mvarPP_T_Ende(Index) > 0 Then
|
|
Call rs.setValue("PP" & CStr(Index) & "_T_Ende", mvarPP_T_Ende(Index))
|
|
End If
|
|
Next
|
|
|
|
If rs.update = False Then
|
|
' fehler
|
|
If MsgBox("Möchten Sie die Datenbank-Operation wiederholen?", vbYesNo Or vbDefaultButton1) = vbYes Then
|
|
GoTo wdh
|
|
End If
|
|
Else
|
|
save = True
|
|
End If
|
|
|
|
Exit Function
|
|
saveErr:
|
|
Call showError("save")
|
|
Exit Function
|
|
End Function
|
|
|
|
Private Sub Class_Initialize()
|
|
mvarPruefstationNr = g_App.PruefstationNr
|
|
mvarPrueferNr = g_App.Mitarbeiter.getNr
|
|
mvarDatum = Now
|
|
mvarTyp = Empty
|
|
mvarStartzeit = Now 'Double
|
|
mvarBemerkung = ""
|
|
End Sub
|
|
|
|
|
|
Public Function saveAbgebrochenen() As Boolean
|
|
On Error GoTo saveErr
|
|
|
|
Dim Index As Integer
|
|
Dim rs As CRecordset
|
|
Dim sSQL As String
|
|
|
|
' Pruefzeit setzen: Zeit vom initialiseren der Klasse bis zum letzten speichern
|
|
|
|
mvarPruefzeit = Int((Now * 1 - mvarStartzeit * 1) * 60 * 60 * 24)
|
|
Set rs = New CRecordset
|
|
|
|
rs.openRS ("SELECT * FROM PruefgangAbgebrochen where PruefgangNr = 0")
|
|
|
|
rs.addNew
|
|
Call rs.setValue("PruefgangNr", mvarPruefgangNr)
|
|
|
|
Call rs.setValue("PruefstationNr", mvarPruefstationNr)
|
|
Call rs.setValue("PrueferNr", mvarPrueferNr)
|
|
Call rs.setValue("Datum", mvarDatum)
|
|
|
|
Call rs.setValue("Pruefzeit", mvarPruefzeit)
|
|
Call rs.setValue("Typ", mvarTyp)
|
|
|
|
' RH 17.11.2016
|
|
Call rs.setValue("Typzusatz", Left(mstrTypzusatz, 20))
|
|
' RH 21.11.2016
|
|
Call rs.setValue("Seriennummern", mstrSerienNrListe)
|
|
|
|
Call rs.setValue("Nennweite", mvarNennweite)
|
|
Call rs.setValue("Nenntemperatur", mvarNenntemperatur)
|
|
Call rs.setValue("Lufttemperatur", mvarLufttemperatur)
|
|
Call rs.setValue("RelativeFeuchte", mvarRelativeFeuchte)
|
|
|
|
Call rs.setValue("Vorlauftemperatur", mvarVorlauftemperatur)
|
|
Call rs.setValue("PruefgangLang", mvarPruefgangLang)
|
|
Call rs.setValue("Bemerkung", mvarBemerkung)
|
|
Call rs.setValue("KalibrierID", mvarKalibrierID)
|
|
|
|
Call rs.setValue("Anzahl", mvarAnzahl)
|
|
|
|
|
|
' Prüfpunktspezifische Daten im Array
|
|
For Index = 1 To 10
|
|
If PP_Soll(Index) = 0 Then
|
|
' Abbruch der Schleife wenn Durchfluß = 0
|
|
Exit For
|
|
End If
|
|
Call rs.setValue("PP" & CStr(Index) & "_Zeit", PP_Zeit(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Soll", PP_Soll(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Ist", PP_Ist(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_RefZSerienNr", PP_RefZSerienNr(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Waage", PP_Waage(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Ist_V", PP_Ist_V(Index))
|
|
Call rs.setValue("PP" & CStr(Index) & "_Info", mvarPP_Info(Index))
|
|
Next
|
|
|
|
rs.update
|
|
saveAbgebrochenen = True
|
|
Exit Function
|
|
saveErr:
|
|
ErrorMsg "Fehler " & Err.Number & " beim Speichern eines abgebrochenen Prüfganges in Funktion 'CPruefgang.saveAbgebrochenen()':" & vbCrLf & Err.Description, False
|
|
Exit Function
|
|
End Function
|
|
|