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

Résolu/Fermé
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 - Modifié par bithack le 22/04/2015 à 09:14
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 - 22 avril 2015 à 09:50
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 avril 2015 à 09:17
Bonjour,

Montrez le code complet pour ecriture dans cette table svp
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
22 avril 2015 à 09:26
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016
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


A+
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
22 avril 2015 à 09:50
re,
je vais modifier. je vous remercie pour votre aide !
a+
0