Differentes erreurs sur vba access
Résolu
bithack
Messages postés
143
Statut
Membre
-
bithack Messages postés 143 Statut Membre -
bithack Messages postés 143 Statut Membre -
Bonjour,
Voici, je pose de nouveau une question suite à des erreurs que je constate dans mon code. Après recherche je m'en remet une fois de plus à vous.
j'ai trois erreurs constatées :
1ere erreur : sur mon
2éme erreur : sur mon premier IF
3éme et dernière erreur : sur mes 3 requêtes SQl2,3,4
l'erreur indiqué est "argument non valide"
Voici mon code :
Merci par avance !!!
Voici, je pose de nouveau une question suite à des erreurs que je constate dans mon code. Après recherche je m'en remet une fois de plus à vous.
j'ai trois erreurs constatées :
1ere erreur : sur mon
Rsdateres.MoveFirstl'erreur indiqué est opération non valide.
2éme erreur : sur mon premier IF
If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun1!Run1 Thenl'erreur indiqué est "variable objet ou varriable de bloc with non définie"
rsrun1.Fields("run") = Run1
3éme et dernière erreur : sur mes 3 requêtes SQl2,3,4
sSQL2 = "select Run1 FROM calendrier"
Set rsrun1 = db.OpenRecordset(sSQL2, bOpenForwardOnly, dbReadOnly)
sSQL3 = "select Run2 FROM calendrier"
Set rsrun2 = db.OpenRecordset(sSQL3, bOpenForwardOnly, dbReadOnly)
SSQL4 = "select Run3 FROM calendrier"
Set rsrun3 = db.OpenRecordset(SSQL4, bOpenForwardOnly, dbReadOnly)
l'erreur indiqué est "argument non valide"
Voici mon code :
Sub runtype()
Dim Jour As String
Dim db As Database
Dim rsdateres As DAO.Recordset
Dim rsrun1 As DAO.Recordset
Dim rsrun2 As DAO.Recordset
Dim rsrun3 As DAO.Recordset
Dim fld As DAO.Field
Dim sSQL1 As String
Dim sSQL2 As String
Dim sSQL3 As String
'Dim i As Long
'rsdateres.MoveFirst
'i = 1
Jour = date
MsgBox Jour
Set db = CurrentDb
sSQL1 = "SELECT date_resil FROM Dossier"
Set rsdateres = db.OpenRecordset(sSQL1, dbOpenForwardOnly, dbReadOnly) ' Ouverture du Recordset
' MsgBox rsdateres
sSQL2 = "select Run1 FROM calendrier"
Set rsrun1 = db.OpenRecordset(sSQL2, bOpenForwardOnly, dbReadOnly)
' MsgBox rsrun1
sSQL3 = "select Run2 FROM calendrier"
Set rsrun2 = db.OpenRecordset(sSQL3, bOpenForwardOnly, dbReadOnly)
' MsgBox rsrun2
SSQL4 = "select Run3 FROM calendrier"
Set rsrun3 = db.OpenRecordset(SSQL4, bOpenForwardOnly, dbReadOnly)
'MsgBox rsrun3
'1
rsdateres.MoveFirst
Do Until rsdateres.EOF
If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun1!Run1 Then
rsrun1.Fields("run") = Run1
If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun2!run2 And rsdateres!date_resil > rsrun1!Run1 Then
'If rsdateres < Jour And rsdateres < rsrun2 And rsdateres > rsrun1 Then
rsrun2.Fields("run") = run2
End If
If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun3!run3 And rsdateres!date_resil > rsrun2!run2 Then
'If rsdateres < Jour And rsdateres < rsrun3 And rsdateres > rsrun2 Then
rsrun3.Fields("run") = run3
End If
If rsdateres!date_resil < Jour And rsdateres!date_resil > rsrun3!run3 Then
'If rsdateres < Jour And rsdateres > rsrun3 Then
rsdateres.Fields("run") = pas - résilier
End If
End If
rs.MoveNext
Loop
'rst.Close ' Fermeture du Recordset
'l = rst.RecordCount
End Sub
Merci par avance !!!
A voir également:
- Differentes erreurs sur vba access
- Acer quick access - Forum logiciel systeme
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Access appdata - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
Concernant le Movefirt, je pense que le problème vient du fait que vous ouvre le recordset en dbOpenForwardOnly (vers l'avant seulement) donc pas possible de revenir sur le premier.
plutôt
pour le reste je vois
Cordialement
Concernant le Movefirt, je pense que le problème vient du fait que vous ouvre le recordset en dbOpenForwardOnly (vers l'avant seulement) donc pas possible de revenir sur le premier.
Set rsdateres = db.OpenRecordset(sSQL1, dbOpenForwardOnly, dbReadOnly)
plutôt
Set rsdateres = db.OpenRecordset(sSQL1, dbOpenDynaset, dbSeeChanges, dbPessimistic)
pour le reste je vois
Cordialement
Set rsrun1 = db.OpenRecordset(sSQL2, bOpenForwardOnly, dbReadOnly)
plutot
Set rsrun1 = db.OpenRecordset(sSQL2, dbOpenForwardOnly, dbReadOnly)
Dim sSQL4 As String
Merci je n'ai plus d'erreur jusque dans l'entré du IF.
Un grand merci de m'avoir accordé de votre temps.