Inscription dans une colonne à partir d'un code vba
Résolu
bithack
Messages postés
143
Statut
Membre
-
bithack Messages postés 143 Statut Membre -
bithack Messages postés 143 Statut Membre -
Bonjour,
Le problème que je rencontre actuellement, c'est que j'ai une boucle imbriqué qui fonctionne à un détails près, il ne m'inscrit rien dans ma table. je ne sais si ce que j'utilise est la bonne solution
pour moi il est censé prendre mon recordset "rsrun1" afin qu'il écrive dans le champ run le resultat run1.
voici mon code :
Merci par avance de votre aide précieuse !!!
Edit: Précision du langage dans la coloration syntaxique.
Le problème que je rencontre actuellement, c'est que j'ai une boucle imbriqué qui fonctionne à un détails près, il ne m'inscrit rien dans ma table. je ne sais si ce que j'utilise est la bonne solution
rsrun1.Fields("run") = Run1
pour moi il est censé prendre mon recordset "rsrun1" afin qu'il écrive dans le champ run le resultat run1.
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 sSQL4 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, dbOpenDynaset, dbSeeChanges, dbPessimistic)
'Set rsdateres = db.OpenRecordset(sSQL1, dbOpenForwardOnly, dbReadOnly) ' Ouverture du Recordset
' MsgBox rsdateres
sSQL2 = "select Run1 FROM calendrier"
Set rsrun1 = db.OpenRecordset(sSQL2, dbOpenDynaset, dbSeeChanges, dbPessimistic)
' MsgBox rsrun1
sSQL3 = "select Run2 FROM calendrier"
Set rsrun2 = db.OpenRecordset(sSQL3, dbOpenDynaset, dbSeeChanges, dbPessimistic)
' MsgBox rsrun2
sSQL4 = "select Run3 FROM calendrier"
Set rsrun3 = db.OpenRecordset(sSQL4, dbOpenDynaset, dbSeeChanges, dbPessimistic)
'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
Else
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
Else
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
Else
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
End If
End If
rsdateres.MoveNext
Loop
'rst.Close ' Fermeture du Recordset
'l = rst.RecordCount
End Sub
Merci par avance de votre aide précieuse !!!
Edit: Précision du langage dans la coloration syntaxique.
A voir également:
- Inscription dans une colonne à partir d'un code vba
- Code ascii - Guide
- Déplacer une colonne excel - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Trier une colonne excel - Guide
- Comment faire une recherche à partir d'une photo - Guide
1 réponse
Bonjour,
je vous avais ecrit ceci:
f894009 - 22 avril 2015 à 09:42
Re,
1: ne pas ouvrir le recordset en lecture seule si vous voulez ecrire dans la table
2:
.Fields("run") = Run1
ne suffit pas il faut le recordset ex: rsrun1.Fields("run") = Run1
3: mettre a jour la table via le recordset: ex:
rsrun1.UpDate
ceci pour chaque recordset
A+
je vous avais ecrit ceci:
f894009 - 22 avril 2015 à 09:42
Re,
1: ne pas ouvrir le recordset en lecture seule si vous voulez ecrire dans la table
2:
.Fields("run") = Run1
ne suffit pas il faut le recordset ex: rsrun1.Fields("run") = Run1
3: mettre a jour la table via le recordset: ex:
rsrun1.UpDate
ceci pour chaque recordset
A+
merci
mise a jour si un seul enregistrement:
rsrun1.Fields("run") = Run1 rsrun1.UpDateajout d'enregistrement rsrun4 non rsrun1 avec "Run1" pas la valeur de Run1
With rsrun4 .AddNew .Fields("run") = "Run1" .Update End WithMerci pour votre aide !
cdlt
quand j'exécute le code, une erreur apparait. Il me dit " update ou cancelupdate effectuer sans appeler adnew ni edit "
dois je rajouter mon adnew ?