Vb6:erreue d'execution '91'

Fermé
minoula2006 - 22 sept. 2009 à 10:58
gregouz62 Messages postés 125 Date d'inscription mercredi 26 août 2009 Statut Membre Dernière intervention 20 octobre 2009 - 23 sept. 2009 à 09:59
Bonjour,
erreur d'execution'91'
variable objet ou variable bloc With non defini
et Rsmq.AddNew coloré en jaune
??? c quoi ma faute???
A voir également:

12 réponses

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
mezzo915 Messages postés 25 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 30 octobre 2009 2
22 sept. 2009 à 11:04
Tu as utilisé un variable dont VB ne connait pas la valeur, c'est surement une faute de frappe de ta part.
0
j'ai bien verifier et normalement toute est bon
???
0
gregouz62 Messages postés 125 Date d'inscription mercredi 26 août 2009 Statut Membre Dernière intervention 20 octobre 2009 11
22 sept. 2009 à 14:30
Bonjour,

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

Cdt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
gregouz62 Messages postés 125 Date d'inscription mercredi 26 août 2009 Statut Membre Dernière intervention 20 octobre 2009 11
22 sept. 2009 à 16:46
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
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 sept. 2009 à 17:28
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
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
mezzo915 Messages postés 25 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 30 octobre 2009 2
22 sept. 2009 à 23:10
Alors la... j'ai jamais eu ce problème auparavant :-/ un peu de recherche s'impose!
0
gregouz62 Messages postés 125 Date d'inscription mercredi 26 août 2009 Statut Membre Dernière intervention 20 octobre 2009 11
23 sept. 2009 à 09:16
Bonjour,

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

Cdt
0
bonjourrr
c a dire quoi ??? que dois je faire ???
0
gregouz62 Messages postés 125 Date d'inscription mercredi 26 août 2009 Statut Membre Dernière intervention 20 octobre 2009 11
23 sept. 2009 à 09:59
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