Recupérer dans une variable la valeur d'un enregistremenr [Access, VBA]
nezkikool
Messages postés17Date d'inscriptionlundi 26 avril 2010StatutMembreDernière intervention10 mai 2010
-
2 mai 2010 à 21:41
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 2013
-
4 mai 2010 à 12:42
Re-bonjour,
Je suis vraiment désolé de vous poser toutes ces questions, mais croyez bien qu'avant de vous embêter, j'ai cherché sur le net comment procéder et ce que j'ai trouvé ne me donne pas satisfaction ...
J'ai une table ACCESS, remplie.
J'aimerais deux choses :
1- Récupérer dans une variable tous les enregistrements d'un des champs un par un (le premier passage dans la boucle stocke le 1er enregistrement du champ, l'analyse, puis deuxième passage ...
2- Récupérer l'ensemble des enregistrements sur une ligne (donc sur la ligne l'enregistrement de chaque champ)
Ces deux requêtes doivent être très proches j'imagine ^^
Que dois-je utiliser comme code ?
J'ai essayé diverses manip avec "SELECT", mais je dois dire que ça ne donne rien, je ne vois toujours pas comment stocker les valeurs !
Merci beaucoup par avance !
Bonne soirée
A voir également:
Recupérer dans une variable la valeur d'un enregistremenr [Access, VBA]
nezkikool
Messages postés17Date d'inscriptionlundi 26 avril 2010StatutMembreDernière intervention10 mai 2010 3 mai 2010 à 15:26
Bonjour,
Je me permets d'insister en remontant mon sujet, je n'ai toujours pas trouvé la solution et ça me bloque. Enfin je continue mon programme avec des variables que je remplis de façon artificielle mais ça ne saurait être que provisoire.
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 3 mai 2010 à 19:18
Bonjour
Réponse au 1
pas besoin de requete
essaie :
dim Menuarray
Set tablerelation = Currentdbclient.OpenRecordset("msysrelationships")
ReDim Menuarray(1 To tablerelation.recordcount)
Tablerelation.movefirst
J=1
Do while j <= tablerelation.recorcount
Menuarray(j) = tablerelation!nom du champ
Tablerelation.movenext
J=j+1
loop
nezkikool
Messages postés17Date d'inscriptionlundi 26 avril 2010StatutMembreDernière intervention10 mai 2010 3 mai 2010 à 21:59
Re
Je ne comprends pas bien ce codage :
Menuarray, c'est un tableau (Dim Menuarray () as string) ?
TableRelation, c'est quoi ? une chaine de caractères ?
"msysrelationships" ---> ?? nom de la table ?
nezkikool
Messages postés17Date d'inscriptionlundi 26 avril 2010StatutMembreDernière intervention10 mai 2010 3 mai 2010 à 22:11
Voilà le code que j'ai tapé.
Dim Menu() As String
Dim j As Integer
Dim Table As Recordset
Set Table = CurrentDb.OpenRecordset("MaTable")
ReDim Menu(1 To Table.RecordCount)
Table.MoveFirst
j = 1
Do While j <= Table.RecordCount
If Table!Station <> "" Then
Menu(j) = Table!Station
Table.MoveNext
j = j + 1
End If
Loop
Dans le champ que je veux récupérer, il y a des valeurs "null", j'ai un message d'erreur comme quoi "utilisation incorrecte de Null" à la ligne : Menu(j) = Table!Station
Du coup j'ai rajouté le If comme condition. Et là si j'exécute le code, le logiciel se fige, et seul un ctrl+Pause peut le débloquer (et une erreur apparait sur le End If ...)
Qu'est-ce qui ne va pas d'après toi ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 4 mai 2010 à 12:42
Bonjour
Les comme Menuarray etc étaient des exemples.
La boucle est "normal" il fallait sortie le movenext du if
Un champ peut avoir 4 états
renseigné
à rien = ""
vide = empty (par exemple la donnée a été renseignée puis effacée)
null = aucune saisie ou donnée n'a été affectée