Function ClientForUPDATE (sidClient As String, sidProg As String, idcarte As Integer) As Integer
Dim Ret%
Dim sData$
Dim OldCarteId%
Dim sOldProgId$
Dim DebPlage%
Dim FinPlage%
Dim screa$
ClientForUPDATE = False
screa = Date$
sData = "SELECT codeprogramme,carteid FROM client WHERE codeClient.xxKey = " + CStr(sidClient)
Ret = pExecute(sData)
If Ret = True Then
sOldProgId = OnSQLGetItem(0)
OldCarteId = Val(OnSQLGetItem(1))
If (sidProg <> sOldProgId) Or (idcarte <> OldCarteId) Then
' chgt de carte/prog : verifie si existe
sData = "SELECT carteid FROM linkcarte WHERE carteid.integer = " + CStr(idcarte)
sData = sData + " AND Codeprogramme.integer = " + CStr(sidProg)
Ret = pExecute(sData)
If Ret = True Then
XasTrace "ERROR : Carte Déja Existante dans le programme (" + CStr(sidProg) + " - " + CStr(idcarte) + ")"
Exit Function
End If
sData = "SELECT debcarte,fincarte FROM Programme WHERE codeprogramme.xxKey = " + CStr(sidProg)
Ret = pExecute(sData)
If Ret = True Then
DebPlage = Val(OnSQLGetItem(0))
FinPlage = Val(OnSQLGetItem(1))
If (idcarte < DebPlage) Or (idcarte > FinPlage) Then
XasTrace "ERROR : Carte Hors Plage (" + CStr(DebPlage) + " - " + CStr(FinPlage) + ")"
Exit Function
End If
End If
sData = "INSERT INTO Linkcarte (carteid,codeprogramme,codeclient,creation,maj,statut) VALUES("
sData = sData + "'" + CStr(idcarte) + "','" + CStr(sidProg) + "','" + CStr(sidClient) + "','" + screa + "','" + screa + "','1')"
Ret = pExecute(sData)
If Ret = False Then
XasTrace "ERROR : Enabled to insert into Linkcarte!"
Exit Function
End If
End If
Else
ClientForUPDATE = True
Exit Function
End If
ClientForUPDATE = True
End Function
|