écrire dans une colonne d'une table suite a une condition.

Résolu
bithack Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   -  
bithack Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Suite a une boucle remplis de condition, je voudrai savoir comment écrire dans une colonne d'une table en vba. pour le moment j'utilise le code suivant pour écrire dans ma table
.fields("run") = run1 

le problème c'est que j'ai un message d'erreur :
" réference incorrect ou non qualifier"
donc je pense que ma solution n'est pas la bonne, si quelqu'un a une idée , je prend :)
merci par avance !!



A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Montrez le code complet pour ecriture dans cette table svp
0
bithack Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   6
 
bonjour 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


'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

If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun1!Run1 Then
.Fields("run") = Run1

ElseIf 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
.Fields("run") = run2

ElseIf 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
.Fields("run") = run3

ElseIf rsdateres!date_resil < Jour And rsdateres!date_resil > rsrun3!run3 Then
'If rsdateres < Jour And rsdateres > rsrun3 Then
.Fields("run") = pas - résilier
End If
End If
End If
End If



'rst.Close ' Fermeture du Recordset
'l = rst.RecordCount
End Sub



merci par avance
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > bithack Messages postés 129 Date d'inscription   Statut Membre Dernière intervention  
 
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


A+
0
bithack Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   6
 
re,
je vais modifier. je vous remercie pour votre aide !
a+
0