Au secour eureur 91 VBA Access
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
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
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
ContributeurSuggestion : 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...-
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
-
-
Contributeurrequete = "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-
-
@yg_bemerci 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!!!
-