Recupérer dans une variable la valeur d'un enregistremenr [Access, VBA]

Signaler
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
10 mai 2010
-
Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013
-
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

6 réponses

Messages postés
17
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
10 mai 2010

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.

Merci :)

A bientôt
Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013
1
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

pour le 2 : à plus tard

Bonne journée
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
10 mai 2010

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 ?

merci :)
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
10 mai 2010

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 ?
Messages postés
17
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
10 mai 2010

Ok c'est bon, j'ai créé une requête préalable qui vire tous les champs "null" :)
J'entame la deuxième partie du problème !!
Merci :)
Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013
1
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

bonne journée