Au secour eureur 91 VBA Access

elpolo76 Messages postés 42 Statut Membre -  
elpolo76 Messages postés 42 Statut Membre -
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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
    1. elpolo76 Messages postés 42 Statut Membre 2
       
      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
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
      1. elpolo76 Messages postés 42 Statut Membre 2 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        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