Vb6:erreue d'execution '91'

minoula2006 -  
gregouz62 Messages postés 129 Statut Membre -
Bonjour,
erreur d'execution'91'
variable objet ou variable bloc With non defini
et Rsmq.AddNew coloré en jaune
??? c quoi ma faute???
Configuration: Windows XP Internet Explorer 7.0

12 réponses

  1. minoula2006
     
    Private Sub Form_Load()
    Set Text1.DataSource = Rsmq
    'pour l'incrementation dans la base
    Set Text2.DataSource = Rsmq
    indic = 0
    
    If VarMAJ = "A" Then
       Fmarque.Caption = "ÅÖÇÝÉ ÇáÑãÜÜÒ"
       Command1.Visible = True
       Command8.Visible = False
       Command9.Visible = False
       Command10.Visible = False
       Command11.Visible = False
       
       OuvBase RsMqNum, "SELECT * From marque order by cod_marq"
    
       If RsMqNum.RecordCount <> 0 Then
       'aller au derniere
          RsMqNum.MoveLast
          'il va lire le dernier enregistrement : fields(lire)
          codmarq = RsMqNum.Fields("cod_marq") + 1
       Else
        'si c'est le 1er enregistrement
          codmarq = 1
       End If
     
       Rsmq.AddNew
       Text2.Text = codmarq
    End If
    If VarMAJ = "M" Then
       Fmarque.Caption = "ÊÍííä ÈíÇä ÇáÜÜÑãÒ"
       Command1.Visible = False
       Command8.Visible = True
       Command9.Visible = True
       Command10.Visible = True
       Command11.Visible = True
    End If
    
    If VarMAJ = "S" Then
       Fmarque.Caption = "ÍÐÝ ÇáÑãÜÒ "
       Command1.Visible = True
       Command8.Visible = False
       Command9.Visible = False
       Command10.Visible = False
       Command11.Visible = False
       Text1.Locked = True
    End If
    End Sub

    celle en gras : coloré en jaune
    1
  2. mezzo915 Messages postés 28 Statut Membre 2
     
    Tu as utilisé un variable dont VB ne connait pas la valeur, c'est surement une faute de frappe de ta part.
    0
  3. minoula2006
     
    j'ai bien verifier et normalement toute est bon
    ???
    0
  4. gregouz62 Messages postés 129 Statut Membre 11
     
    Bonjour,

    Serait il possible d'avoir la déclaration de tes variables notamment la déclaration de Rsmq stp.

    Cdt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. minoula2006
     
    Public CnEle As Connection
    Public Commande As Integer
    Dim indic As Integer
    Public RMessage As Long
    Public VarMAJ, FenActive As String
    Public RsMqNum, RsTypNum, RsSerNum, RsUtlNum As Recordset
    Public Rstyp As Recordset
    Public Rsmq As Recordset
    Public RsSer As Recordset
    Public Rsutl As Recordset
    Public Rsmat As Recordset
    0
  7. gregouz62 Messages postés 129 Statut Membre 11
     
    Merci,
    Je ne suis pas sur de mon coup mais essaie la syntaxe suivante :

    Tu remplaces les lignes :

       Rsmq.AddNew
       Text2.Text = codmarq


    par:

    With Rsmq
        .AddNew
        !codmarq = Text2.Text
        .Update
    End With


    Dis nous si ça marche.

    Cdt
    0
  8. william7007 Messages postés 344 Statut Membre 46
     
    Slt
    vous avez bel et bien déclarer tes objets mais je ne voie pas leurs instenciation un truc du genre
    Public rsmq As RecordSet
    rsmq = new RecordSet
    


    pour dire vrai moi je n'ai jamais utilisé les recordset de la façon donc vous le faites voici ce que je fais d'habitute
    j'inporte la référence Microsoft ActiveX Data Object 2.0 Library
    et là je déclare mes objets comme suit.
    Public adoCon As ADODB.Connection
    Pubic rsmq As ADODB.RecordSet 
    
    puis avant de les utiliser je les instancie
    adoCon = new ADODB.Connection
    rsmq = New ADODB.RecordSet
    
    ...
    cdlt.
    ;-)
    
    0
  9. minoula2006
     
    merci de votre aide mes amis j'ai bien vérifierm et sa va et sa va mnt :))
    mé j'ai un autre pb :( qd je clik sur ok ^pour enregistrer l'ajout d'un donner un msg d'erreur d'exécution
    [microsoft][pilote odbc microsoft access] definition de l'attribut impossible a ce stage
    Public Sub Enregistrer(Rs)
    
    CnEle.BeginTrans
       If (VarMAJ = "A") Then
          Rs.UpdateBatch
       End If
       If VarMAJ = "M" Then
          Message.Caption = "ÍÐÇÑí"
          Message.Label1.ForeColor = 32768
          Message.Label1.Caption = "åá ÊÑíÏ ÊÓÌíá åÐå ÇáãÚáæãÇÊ ¿"
          Message.Show 1
          If RMessage = 1 Then
             Rs.UpdateBatch
             Rs.MoveNext
             Rs.MovePrevious
          Else
             Rs.CancelUpdate
          End If
       End If
       If (VarMAJ = "S") Then
          If Rs.RecordCount <> 0 Then
             Message.Caption = "ÍÐÇÑí"
             Message.Label1.ForeColor = 192
             Message.Label1.Caption = "åá ÃäÊ ãÊÄßÏ ÍÐÝ åÐå ÇáãÚáæãÇÊ ¿"
             Message.Show 1
             If RMessage = 1 Then
                Rs.Delete
                Rs.UpdateBatch
             End If
          End If
       End If
    CnEle.CommitTrans
    
    
    
    End Sub


    celui en gras coloré en jaune chez moi???
    0
  10. mezzo915 Messages postés 28 Statut Membre 2
     
    Alors la... j'ai jamais eu ce problème auparavant :-/ un peu de recherche s'impose!
    0
  11. gregouz62 Messages postés 129 Statut Membre 11
     
    Bonjour,

    Les transactions se font sur un objet de type Workspace voilà sans doute pourquoi ça ne marche pas !

    Cdt
    0
  12. minoula2006
     
    bonjourrr
    c a dire quoi ??? que dois je faire ???
    0
  13. gregouz62 Messages postés 129 Statut Membre 11
     
    Je te passe un extrait de la msdn library visual studio 6.0 ça pourra t'éclairé j'espère:
    Les méthodes de transaction gèrent de la manière suivante le traitement des transactions au cours d'une session définie par un objet Workspace : 
    
    BeginTrans commence une nouvelle transaction.
    
    
    CommitTrans met fin à la transaction en cours et enregistre les modifications.
    
    
    Rollback met fin à la transaction en cours et restaure les bases de données de l'objet Workspace dans l'état dans lequel elles étaient au début de la transaction en cours. 
    Syntaxe
    
    workspace.BeginTrans | CommitTrans [dbForceOSFlush] | Rollback
    
    L'espace réservé workspace est une variable objet qui représente l'objet Workspace contenant les bases de données qui font l'objet de transactions.


    Et maintenant l'exemple donné par cette même msdn:

    Sub BeginTransX()
    
       Dim strName As String
       Dim strMessage As String
       Dim wrkDefault As Workspace
       Dim dbsNorthwind As Database
       Dim rstEmployees As Recordset
    
       ' Obtient l'objet Workspace par défaut.
       Set wrkDefault = DBEngine.Workspaces(0)
       Set dbsNorthwind = OpenDatabase("Comptoir.mdb")
       Set rstEmployees = _
          dbsNorthwind.OpenRecordset("Employés")
    
       ' Démarre la transaction externe.
       wrkDefault.BeginTrans
       ' Démarre la transaction principale.
       wrkDefault.BeginTrans
    
       With rstEmployees
    
          ' Effectue un boucle sur le jeu 
          ' d'enregistrements et demande à l'utilisateur 
          ' s'il souhaite changer la fonction d'un employé
          ' précisé.
          Do Until .EOF
             If !Fonction = "Représentant(e)" Then
                strName = !Nom & ", " & !Prénom
                strMessage = "Employé : " & strName & vbCr & _
                   "Changer la fonction en Responsable comptes ?"
    
                ' Change la fonction de l'employé indiqué.
                If MsgBox(strMessage, vbYesNo) = vbYes Then
                   .Edit
                   !Fonction = "Responsable comptes"
                   .Update
                End If
             End If
    
             .MoveNext
          Loop
    
          ' Demande si l'utilisateur souhaite valider 
          ' toutes les modifications apportées ci-dessus.
          If MsgBox("Enregistrer toutes les modifications ?" _
                , vbYesNo) = vbYes Then
             wrkDefault.CommitTrans
          Else
             wrkDefault.Rollback
          End If
    
          ' Imprime les données en cours dans le jeu 
          ' d'enregistrements.
          .MoveFirst
          Do While Not .EOF
             Debug.Print !Nom & ", " & !Prénom & _
                " - " & !Fonction
             .MoveNext
          Loop
    
          ' Révoque toutes les modifications effectuées 
          ' par l'utilisateur pour cette démonstration.
          wrkDefault.Rollback
          .Close
       End With
    
       dbsNorthwind.Close
    
    End Sub


    C'est l'exemple donné par la msdn library pour l'utilisation des transactions.

    Donc il te faut instancier un objet workspace, n'hésite pas à te renseigner sur ce sujet car, je ne maitrise pas trop les workspace.

    A priori tu peux utiliser l'objet workspace par défaut comme il est fait ici.
    0