blowlagoon
Messages postés38Date d'inscriptionmardi 7 janvier 2003StatutMembreDernière intervention26 mars 2007
-
22 juin 2005 à 16:37
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 2009
-
22 juin 2005 à 18:06
Bonjour à tous,
J'ai un petit souci avc un Recordset dans VB. En fait j'ai une ProcedureStockée avec deux Insert à l'interieur et un select sur le code Retour.
Cett PS est excuté via un recordset. l'execution se passe bien, sauf que j'arrive pa a récuperer le code retour. qd je fé rs.fields("coderetour") g rien dedans. et un message "Impossible de trouver l'objet ds la collection correspondante..." et en fait c dû au fait que g deux insert dans la PS avnt d efaire le "select @Coderetour" du coup impossible de recuperer sa valeur.
Est ce que qq'un a déja rencontrer se pb et peux m'eclairer sur la solution en gardant ma ps tellequelle. merci
AS
DECLARE @Idp Varchar(50)
DECLARE @Retour TinyInt
set @Idp = Null
BEGIN TRANSACTION
SELECT @Idp = IdProduit FROM EXP_TProduits
WHERE Identifiant = @Identifiant
AND CodeClient = @CodeClient
AND [mailto:DateTraitement=@DateTraitement DateTraitement = @DateTraitement]
AND [mailto:CodeCentre=@CodeCentre CodeCentre = @CodeCentre]
IF @Idp Is Null -- Insertion produit
BEGIN
INSERT EXP_TProduits
(
IdTypeProduit,
IdTraitement,
Zone4,
Zone3,
Zone2,
Zone1,
MtDocuments,
NbDocuments,
MtDocumentsAnn,
NbDocumentsAnn,
CodeAgence,
NoCompte,
Cle,
CodeAnomalie,
Categorie,
TopRNA,
CodeClient,
CodeCentre,
DateTraitement,
Identifiant
)
VALUES (
@TypeProduit,
@TypeTraitement,
@Cmc7Z4,
@Cmc7Z3,
@Cmc7Z2,
@Cmc7Z1,
@MontantCal,
@NbChqCal ,
@MontantAnn,
@NbChqAnn ,
@CodeAgence,
@NoCompte,
@Cle,
@CodeMotif,
@TypeRemise,
@TopRNA,
@CodeClient,
@CodeCentre,
@DateTraitement,
@Identifiant
)
IF @@ERROR = 0
BEGIN
set @Idp = @@IDENTITY
END
ELSE
BEGIN
ROLLBACK TRANSACTION
select 1 as RETOUR
return
END
END
---ELSE -- Update
if @MajPd=1
BEGIN
UPDATE EXP_TProduits
SET
Zone4 = @Cmc7Z4,
Zone3 = @Cmc7Z3,
Zone2 = @Cmc7Z2,
Zone1 = @Cmc7Z1,
MtDocuments = @MontantCal,
NbDocuments = @NbChqCal,
MtDocumentsAnn = @MontantAnn,
NbDocumentsAnn = @NbChqAnn,
CodeAgence = @CodeAgence,
NoCompte = @NoCompte,
Cle = @Cle,
CodeAnomalie = @CodeMotif,
Categorie = @TypeRemise,
TopRNA = @TopRNA,
CodeClient = @CodeClient,
[mailto:CodeCentre=@CodeCentre CodeCentre=@CodeCentre],
DateTraitement = @DateTraitement
WHERE IdProduit = @Idp
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
select 1 as RETOUR
return
END
END
IF @Idp Is Not Null -- Insertion operation
BEGIN
INSERT EXP_TOperations
(
IdProduit,
IdPhase,
DateHeure,
CodeResultat
)
VALUES (
@Idp,
@CodePhase,
@DateHeureTraitement,
@CodeResultat
)
IF @@ERROR = 0
Begin
COMMIT TRANSACTION
End
ELSE
BEGIN
ROLLBACK TRANSACTION
select 1 as RETOUR
return
END
END
ELSE --Annuler la transaction si Idproduit null : ne devrait jamais arriver
BEGIN
ROLLBACK TRANSACTION
select 1 as RETOUR
return
END
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 22 juin 2005 à 18:06
eh si je me fit a la structure de ta table, tu as pas le champs coderetour
-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------