ADO?Comment ca marche?

cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004 - 23 juin 2004 à 09:03
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 - 23 juin 2004 à 16:56
bonjour,
voila je dois faire interragir access et excel. j'ai vu que pour ca ADO semble etre une bonne solution. le principe es simple:dans une case A1 de excel je recupère une valeur, et je dois aller dans une table access et retrouver cette valeur pour y recup une info s'y referant.
voici mon code:

public cnnado as new ADODB.connection
public cmdado as new ADODB.command
public rsado as new ADODB.recordset

sub test()
dim variable as integer
variable=range("A1").value

cnnado.provider="MICROSOFT.JET.OLEDB.4.0"
cnnado.connectionstring="c:\stage\db.mdb"
cnnado.open
cmdado.activeconnection =cnnado
cmado.commandtext="select codeClient from [MANQUANTS] where codeManquant=" & variable &""
rsado.cursorlocation=aduseclient
rsado.cursortype=adopendynamic
rsado.locktype=adlockoptimistic

rsado.open cmdado
rsado.movelast

if rsado.recordcount=1 then
rsado.movefirst
range("A2"=.value=rsado.fields("codeClient").value
end if

end sub



voila le pb est que qd j'execute le message d'erreur est "Cette opération n'est psa autorisé si l'objet est ouvert"
elle s'affiche a la ligne ou je met cnnado.provider
si jamais je met cette ligne en commentaire, meme erreur a la ligne suivante, ca vien de ADO mais je voudrai savoir comment debuguer tout ca

meric beaucoup

cordialement
Valer

13 réponses

juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
23 juin 2004 à 09:40
il fo fermer la connextion et le recordset une fois lopération terminée

aprè ton endif tu met donc

rsado.close
cnado.close

voila
++
juva

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 10:17
merci!!
Valer
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 10:21
j'ai une autre question
au fait a l'origine cette connexion devait lier access a excel, mais la on vien gentillement de me dire que la bd n'est non pas sous access mais sous un aute logiciel de gestion apelé EBP Gestion Commercial, est ce que j'ai juste a changer mon chemin d'acces (donc ne plus mettre c:\stage\pls.mdb") et mettre l'aute sachant que son extension ne sera certainement pas la meme? ca va marcher?
Valer
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
23 juin 2004 à 11:46
Salut,

Si ta BD est Access en changeant le chemin celà fonctionnera. Mais si la BD est autre que Access (SQL Server, Oracle, MySQL,..) , tu devras modifier ta connection.
Par exemple pour SQL Server:
cnnado.provider="Sqloledb"
cnnado.connectionstring="Data Source=srv;Initial Catalog=Pubs;", "sa", ""

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
23 juin 2004 à 12:48
le mieu dans ce cas est de creer une SOURCE ODBC (panneau de conf > Outil administration)

tu sélectionne avec koi tu veu travailler et tu configure

ensuite pr ty connecter
cn.Open "dsn=NomODBC"

voila ++
juva

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 13:37
re-salut
dis moi juvamine tu pourrais me donner un peu plus de précision pour configurer le ODBC stp
Valer
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 13:38
qd je met ajouter j'ai une liste, avec oracle, sql serveur etc.. mais je vois pas ou en ajouter car mon type de base n'a pas l'air d'apparaitre
Valer
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
23 juin 2004 à 13:42
Tu dois installer le driver ODBC livré par le fournisseur de ton gestionnaire de BD. Va voir sur le site de ton fournisseur de BD, il doit s'y trouver.
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 13:50
et une fois qu'il est installer je le trouverai dans "ajouter"?
Valer
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 13:50
et une fois qu'il est installé je le trouverai dans "ajouter"?
Valer
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
23 juin 2004 à 13:51
Oui
0
cs_valer Messages postés 140 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 26 juillet 2004
23 juin 2004 à 13:54
il va falloir que je change mon cnn.provider et tout ca, vu que j'ai trouvé ceux pour access sur le site, y a pas des repertoires ou je peux trouver ces chemins?
Valer
0
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
23 juin 2004 à 16:56
ne t'oqp ^plus de tout ca aprè
une fois ke ton odbc est creer la seule ligne de code kil fo pr te connecter c :
cnn.Open "dsn=NomODBC"

c tout
c'est pour ca ke c facil ^^

++
juva

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation
0