Menu

Differentes erreurs sur vba access [Résolu/Fermé]

Messages postés
129
Date d'inscription
mercredi 29 octobre 2014
Statut
Membre
Dernière intervention
16 mars 2016
- - Dernière réponse : bithack
Messages postés
129
Date d'inscription
mercredi 29 octobre 2014
Statut
Membre
Dernière intervention
16 mars 2016
- 23 avril 2015 à 09:59
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
Rsdateres.MoveFirst
l'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 Then
rsrun1.Fields("run") = Run1
l'erreur indiqué est "variable objet ou varriable de bloc with non définie"

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 !!!

Afficher la suite 

1 réponse

Messages postés
1064
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
102
0
Merci
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.
Set rsdateres = db.OpenRecordset(sSQL1, dbOpenForwardOnly, dbReadOnly)

plutôt
Set rsdateres = db.OpenRecordset(sSQL1, dbOpenDynaset, dbSeeChanges, dbPessimistic)


pour le reste je vois

Cordialement
Thorak83
Messages postés
1064
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
102 -
il manque un
Dim sSQL4 As String
Thorak83
Messages postés
1064
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
102 -
la variable Run1 n'est pas défini dans rsrun1.Fields("run") = Run1 ainsi qur Run2 et Run3
bithack
Messages postés
129
Date d'inscription
mercredi 29 octobre 2014
Statut
Membre
Dernière intervention
16 mars 2016
3 -
Run1 est un champs dans ma table dossier qui correspond a une date. comment la definir ? merci

Merci je n'ai plus d'erreur jusque dans l'entré du IF.
Un grand merci de m'avoir accordé de votre temps.
Thorak83
Messages postés
1064
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
102 -
mettre en résolu si tout est ok
bithack
Messages postés
129
Date d'inscription
mercredi 29 octobre 2014
Statut
Membre
Dernière intervention
16 mars 2016
3 -
Merci Thorak83 !