Au secour eureur 91 VBA Access

Fermé
elpolo76 Messages postés 42 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 24 juillet 2008 - 17 juin 2008 à 10:55
elpolo76 Messages postés 42 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 24 juillet 2008 - 17 juin 2008 à 15:15
Bonjour,
jai unee erreur dans mon code que je n'arrive pas a corrigé pouvez vous m'aidez svp!!!!
Error 91
et je sui po aussi tres sur que ma partie enre les boucle marche!
voici le code

Function bilan_mensuel()


'Declatarion des variables
Dim MyWS As Database, MyDB As Database, MyTd As Recordset, Monform As Form
Dim MyTA As Recordset, re As Recordset, MyQE As Recordset
Dim Bilmens As String
Dim Imput As String, Codss As String, Anosst As String
Dim Qteliv As Integer, Qtepre As Integer, Qtencf As Integer, Qtencfe As Integer
Dim Cnq As Integer
Dim ASQL As String
Dim requete As String
Dim Datdeb As String, Datfin As String




On Error GoTo TRAITER_ERRSY


'Procedure de consolidation Bilan-vibrachoc

Set MyDB = CurrentDb()
Set MyTd = MyDB.OpenRecordset("RNCAVR", dbOpenDynaset)


'Procedure de consolidation

'Creation de la table Bilmens
Set MyTd = MyDB.OpenRecordset("Bilmens")

'Mize a zéro de la table

ASQL = "Delete * From Bilmens;"
'Set MyQE = MyDB.CreateQueryDef("", ASQL)
DoCmd.RunSQL ASQL




Set Monform = Forms![Bilan mensuel]

'Lecture de la table bilmens
requete = "Select * from RNCAVR "
requete = requete & "WHERE (((RNCAVR.Datrap) Between [forms]![Monform]![Datdeb] And [forms]![Monform]![Datfin]) AND ((RNCAVR.Imput)=SSTR));"


'lecture du fichier

MyTA.MoveFirst
Do Until MyTA.EOF

MyTd.AddNew
MyTd![Codss] = MyTA![Codss]
MyTd![Debrn] = MyTA![Debrn]
MyTd![finrn] = MyTA![finrn]
MyTd![Datrap] = MyTA![Datrap]
MyTd![Imput] = MyTA![Imput]
MyTd![Qteliv] = MyTA![Qteliv]
MyTd![Qtencfe] = MyTA![Qtencfe]
MyTd![Cnq] = MyTA![Cnq]
MyTd![Anost] = MyTA![Anost]
MyTd![Crit] = "MyTA![Crit]IIf([Critique]=True,1,0)"
MyTd![QtelivCrit] = "MyTA![QtelivCrit]IIf([Critique]=True,[Qtencfe],0)"
MyTd![QtencfeCrit] = "MyTA![QtencfeCrit]IIf([Critique]=True,1,0)"
MyTd![CnqCrit] = "MyTA![CnqCrit]IIf([Critique]=True,[Cnq],0)"
MyTd![QtelivNCrit] = "MyTA![Imput]IIf([Critique]=True,0,[Qtencfe])"
MyTd![QtencfeNCrit] = "MyTA![Imput]IIf([Critique]=True,0,1)"
MyTd![CnqNCrit] = "MyTA![Imput]IIf([Critique]=True,0,[Cnq])"

MyTd.Update
MyTA.MoveNext
Loop


TRAITER_ERRSY:
MsgBox ("Erreur N° " & Str$(Err) & " " & Error$(Err))


Resume Next


Finsynth:
End Function

2 réponses

yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 Ambassadeur 1 551
17 juin 2008 à 11:01
Suggestion : ajouter "exit function " avant la ligne TRAITER_ERRSY:

Sinon, tu tombe dans la logique de traitement d'erreur à la fin de la fonction, même quand tu n'as pas d'erreur...
0
elpolo76 Messages postés 42 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 24 juillet 2008 2
17 juin 2008 à 13:50
Merci !!j'ai trouvé le probleme !!je navais po Set MyTA sur ma requete!!je l'ai fait et ca marche!!
mon probleme maitenant !!cest otre chos !!les 9 premier ecriture ds la tabeTd marche bien mais au moment ou je commence par mettre les truc de TRue =0,1 ca beugue!!
Amon avis jai po ecris le bon code !!jai juste pris le code SQl intact !!!!Raidezmoi
Pr plus d'explication
o fet !!ma kestion est comment ecrir en VBA!!une rekete SQL ki fait: IIf([Critique]=True,1,0) AS Crit
MErci
0
yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 Ambassadeur 1 551
17 juin 2008 à 14:51
requete = "Select *, IIf([Critique]=True,1,0) AS Crit from RNCAVR " , etc...
et puis tu le recupere avec
Set MyTa = MyDB.OpenRecordset(requete)
et
myta!crit
0
yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 1 551
17 juin 2008 à 14:59
tu peux aussi écrite, au lieu de MyTd![Crit] = "MyTA![Crit]IIf([Critique]=True,1,0)"
if ta!crit then
td!crit=1
else
td!crit=0
end if
0
elpolo76 Messages postés 42 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 24 juillet 2008 2 > yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024
17 juin 2008 à 15:15
merci YGA_BE!!tes un genie !!
ca a marché !!!le deuxiemme
jai fait like that:
'boucle Crit

If MyTA![Critique] = True Then
MyTd![Crit] = 1
Else
MyTd![Crit] = 0
End If

thanks man!!!
0