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
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Contributeur
    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...
    1. 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
  2. Contributeur
    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
    1. Contributeur
      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
    2. @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!!!