VBA-ADO : requete SQL Access 2007

Le
FAF
Bonjour,

Dans une macro (VBA), j'utilise la libraire ADO pour me connecter et faire
une requête SQL sur une table d'un base Access 2007.

Le résultat de la requête est surprenant. Le résultat pour certains champs
de ma requête devraient être des chaines de caractères seulement la requête
me retourne des nombres. Pour certains autres champs, le résultat est correct
(cad ce que contient le champ dans la table de la base Access).

Après étude, la différence entre ces deux types champs. Pour le champ
correct est une donnée appartenant à la table, dans l'autre, il s'agit d'un
champ calculé par une requête sur d'autre table.

Pourriez-vous me dire comment faire pour récupérer les valeurs de ces champs
? Dois-je initialiser des propriétés de la table ? Mettre à jour la table ?

Merci pour vos explications et exemples que vous pourriez me fournir.

En attente de votre aide, bonne journée
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #21196131
Salut,

Il serait plus simple de dire ce que tu fais et comment...

Le caractère surprenant du résultat doit plutôt provenir
de ta manière de faire ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



FAF wrote:
Dans une macro (VBA), j'utilise la libraire ADO pour me connecter et
faire une requête SQL sur une table d'un base Access 2007.

Le résultat de la requête est surprenant. Le résultat pour certains
champs de ma requête devraient être des chaines de caractères
seulement la requête me retourne des nombres. Pour certains autres
champs, le résultat est correct (cad ce que contient le champ dans la
table de la base Access).

Après étude, la différence entre ces deux types champs. Pour le champ
correct est une donnée appartenant à la table, dans l'autre, il
s'agit d'un champ calculé par une requête sur d'autre table.

Pourriez-vous me dire comment faire pour récupérer les valeurs de ces
champs ? Dois-je initialiser des propriétés de la table ? Mettre à
jour la table ?

Merci pour vos explications et exemples que vous pourriez me fournir.

En attente de votre aide, bonne journée


FAF
Le #21197631
Bonjour Pierre,

Merci voivi le code en question :

' open connection
Set Cnxn = CreateObject("ADODB.Connection")
strCnxn = "Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=C:Database.accdb;Persist Security Infoúlse"

Cnxn.Open strCnxn

' create and open Recordset using object refs
Set rsCustomers = CreateObject("ADODB.Recordset")
strSQLCustomers = "SELECT * FROM Project "

rsCustomers.ActiveConnection = Cnxn
rsCustomers.CursorType = adOpenKeyset
rsCustomers.LockType = 4
rsCustomers.Source = strSQLCustomers
rsCustomers.Open

Do While Not rsCustomers.EOF
MsgBox rsCustomers("Project") & " - " & rsCustomers("Customer")
rsCustomers.MoveNext
Loop

Pourriez-vous m'aider ?



"3stone" a écrit :

Salut,

Il serait plus simple de dire ce que tu fais et comment...

Le caractère surprenant du résultat doit plutôt provenir
de ta manière de faire ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



FAF wrote:
> Dans une macro (VBA), j'utilise la libraire ADO pour me connecter et
> faire une requête SQL sur une table d'un base Access 2007.
>
> Le résultat de la requête est surprenant. Le résultat pour certains
> champs de ma requête devraient être des chaines de caractères
> seulement la requête me retourne des nombres. Pour certains autres
> champs, le résultat est correct (cad ce que contient le champ dans la
> table de la base Access).
>
> Après étude, la différence entre ces deux types champs. Pour le champ
> correct est une donnée appartenant à la table, dans l'autre, il
> s'agit d'un champ calculé par une requête sur d'autre table.
>
> Pourriez-vous me dire comment faire pour récupérer les valeurs de ces
> champs ? Dois-je initialiser des propriétés de la table ? Mettre à
> jour la table ?
>
> Merci pour vos explications et exemples que vous pourriez me fournir.
>
> En attente de votre aide, bonne journée

.



Publicité
Poster une réponse
Anonyme