A voir également:
- Vb6:erreue d'execution '91'
- Vb6 - Télécharger - Divers Utilitaires
- Split vb6 - Forum VB / VBA
- Vb6 listbox ✓ - Forum VB / VBA
- Vb6 freefile - Forum VB / VBA
- Msflexgrid vb6 - Forum VB / VBA
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
Tu as utilisé un variable dont VB ne connait pas la valeur, c'est surement une faute de frappe de ta part.
Bonjour,
Serait il possible d'avoir la déclaration de tes variables notamment la déclaration de Rsmq stp.
Cdt
Serait il possible d'avoir la déclaration de tes variables notamment la déclaration de Rsmq stp.
Cdt
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
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
Merci,
Je ne suis pas sur de mon coup mais essaie la syntaxe suivante :
Tu remplaces les lignes :
par:
Dis nous si ça marche.
Cdt
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
Slt
vous avez bel et bien déclarer tes objets mais je ne voie pas leurs instenciation un truc du genre
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.
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. ;-)
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
celui en gras coloré en jaune chez moi???
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???
Bonjour,
Les transactions se font sur un objet de type Workspace voilà sans doute pourquoi ça ne marche pas !
Cdt
Les transactions se font sur un objet de type Workspace voilà sans doute pourquoi ça ne marche pas !
Cdt
Je te passe un extrait de la msdn library visual studio 6.0 ça pourra t'éclairé j'espère:
Et maintenant l'exemple donné par cette même msdn:
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.
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.